2
I have to pick up data (name and phone) of some people in a struct
, then store them in an array, all this for a function/procedure. At the time of printing comes out some strange characters.
I’m using the DEV C platform++
# 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");
}
}
}
bigown thanks so much for the help, sure I want to finish it on my own, I have to learn neh rsrs...I will try to fix the mistakes, any doubts put Aki again...mto thank you even abços
– Murilo Silva
@Zuul headache is to make something look good at all browsers and versions :)
– Maniero
@bigown This is not called a headache, it’s called CSS :D
– Zuul
bigown adopted his recommendations, now is much better, but the program can not save the inf of a person, when I ask him to type again and then print he printed only the last record he erases the others.
– Murilo Silva
@Murilosilva opens another question by placing the current code and showing where the problem is. If I did, I’ll try to answer it, but someone else might as well. Then it would be nice to do the [tour] of the site to see that you can accept a reply as the most correct that helped you and later when you have more reputation you can vote on all the answers that helped in any way.
– Maniero