Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom galera sou novo no forum e novo tambem na area de programaçao estou estudando programação na faculdade e estou colocando em prática o que aprendo com os professores só que nao estou conseguindo fazer uma ordenação de uma struct por ordem alfabetica, vou postar aqui o codigo e espero que tenha alguem aqui que possa me ajudar. :D
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
struct cadastro
{
char nome[40];
char endereco[40];
char telefone_fixo[40];
char telefone_celular[40];
};
main ()
{
struct cadastro agenda[1000];
int opcao,c,b,d,sair,i;
char pesquisa[40],x[40];
sair = 0;
i = 0;
do {
printf ("Escolha uma opcao abaixo.\n");
printf ("1. Cadastrar novo contato\n");
printf ("2. Pesquisar por um contato\n");
printf ("3. Listar todos os contatos\n");
printf ("4. sair\n");
scanf ("%d", &opcao);
system ("CLS");
if (opcao==1)
{
i=i+1;
printf ("Informe o nome da pessoa: ");
fflush (stdin);fgets (agenda[i].nome,40,stdin);
printf ("Informe o seu endereco: ");
fflush (stdin);fgets (agenda[i].endereco,40,stdin);
printf ("Informe o seu telefone fixo: ");
fflush (stdin);fgets (agenda[i].telefone_fixo,40,stdin);
printf ("Informe o seu telefone_celular: ");
fflush (stdin);fgets (agenda[i].telefone_celular,40,stdin);
}
if (opcao==2)
{
printf ("Informe o nome de quem deseja pergunta: ");
fflush (stdin);fgets (pesquisa,40,stdin);
for (b=0;b<=1000;b++)
if (strcmp (agenda[b].nome,pesquisa)==0)
{
printf ("Nome: %s\n", &agenda[b].nome);
printf ("Endereco: %s\n", &agenda[b].endereco);
printf ("Telefone fixo: %s\n", &agenda[b].telefone_fixo);
printf ("Telefone celular: %s\n", &agenda[b].telefone_celular);
}
}
if (opcao==3)
{
for (c=0;c<=1000;c++)
if (strcmp(agenda[c].nome,agenda[c+1].nome)>0)
{
troca[c] = agenda[c];
agenda[c] = agenda[c+1];
agenda [c+1] = troca[c];
}
for (c=0;c<=1000;c++)
{
printf ("Nome: %s\n", &agenda[c].nome);
printf ("Endereco: %s\n", &agenda[c].endereco);
printf ("Telefone fixo: %s\n", &agenda[c].telefone_fixo);
printf ("Telefone celular: %s\n", &agenda[c].telefone_celular);
}
}
if (opcao==4)
{
sair = 1;
}
} while (sair == 0);
}
bom galera, agradeço a todos que puderem me ajudar, ja tentei fazer usando o strcpy só que tambem não funcionou, se alguem puder me explicar o que de errado estou fazendo ou como usar o strcpy de modo certo eu agradeceria muito.
Carregando comentários...