Ir ao conteúdo
  • Cadastre-se

wurilo

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

Reputação

0
  1. Boa noite Mauro, Muito obrigado por me ajudar, porém como saberei após realizar esta alteração se há índices vagos no vetor?
  2. Boa noite Pessoal. Estou com problemas em um código em C, tenho q pegar dados (nome e telefone) de algumas pessoas em uma Struct, depois armazena-las em um vetor, tudo isso por uma função/procedimento, abaixo segue meu código, porém na hora de imprimir sai uns caracteres estranhos. Se puderem me ajudar agradeceria muito. Estou usando a plataforma DEV C++ # include <conio.h> # include <stdio.h> # include <stdlib.h> #define MAX 2 typedef struct dadosPessoais { char nome = ' '; int telefone = -1; }DadosPessoais; void inserir(DadosPessoais *vetor); void listar(DadosPessoais *vetor); int main() { int escolha=1; DadosPessoais vetor[MAX]; // se a escolha for diferente de 3, ele continua... o que inicialmente é verdade // pois escolha é igual a 1 while (escolha!=5) { printf("\n\n ----------------------- "); printf("\n 1 - Inserir novo registro "); printf("\n 2 - Limpar registros da tabela "); printf("\n 3 - Fechar Programa "); printf("\n\n Escolha uma opcao: "); scanf("%d",&escolha); // estrutura switch switch (escolha) { case 1: { system ("cls"); inserir(vetor); break; } case 2: { system ("cls"); listar(vetor); break; } // opção padrão default: { system ("cls"); // se for escolhida a opção 3, ele pula o while utilizando continue para isso if( escolha==3) { continue; } // caso o usuário digite um numero acima de 5, ele irá informar que nao existe essa opção printf("\n\n Nenhuma opcao foi escolhida "); break; } } } if( escolha==3) printf("\n\n O Programa foi fechado"); system("PAUSE"); } void inserir(DadosPessoais *vetor) { int x=3, i, espaco ; for(i=0; i<x; i++) { if (vetor[i].nome == ' ') { espaco = 1; break; } else { espaco = 2; } } if (espaco == 1) { printf("Digite nome: \n"); scanf(" %s", &vetor->nome); printf("Digite o telefone: \n "); scanf(" %d", &vetor->telefone); } else { printf("Nao ha espaco vago \n "); } } void listar(DadosPessoais *vetor) { int x=MAX, i, espaco ; for(i=0; i<x; i++) { if (vetor[i].nome != ' ') { printf(" %c", &vetor[x].nome); printf("\n"); printf(" %c", &vetor[x].telefone); printf("\n"); } else { printf("Vetor vazio"); } }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...