int main()
{
struct Pessoa contatos[100];
int opcao=0;/// VARIAVEL NA ESCOLHA DO MENU
int indice=0;///VARIAVEL QUE CONTEM O VALOR DO INDICE DO VETOR
int i,encontrou=0;///INDICA A QDE DE REGISTRO
char pesq[30];///GUARDAR O NOME DA PESQUISA
int j;
do
{
system("cls");
printf("---###--AGENDA DE CONTATOS--###---\n");
printf("\n 1 - Pesquisar por NOME");//será mostrado NOME, TELEFONE, EMAIL
printf("\n 2 - Pesquisar por MES ANIVERSARIO");
printf("\n 3 - Pesquisar por DIA e MES ANIVERSARIO");
printf("\n 4 - Cadastrar CONTATO");
printf("\n 5 - Excluir CONTATO");
printf("\n 6 - LISTAR todos os contatos"); printf("\n 7 - ORDENAR POR NOME");
printf("\n 8 - FINALIZAR PROGRAMA");
printf("\n ESCOLHA UMA OPCAO:");
scanf("%d",&opcao);
fflush(stdin);
switch(opcao)
{
case 1:
system("cls");
printf("\n--**** PESQUISAR POR NOME ****--");
printf("\nPESQUISAR:");
gets(pesq);
for(i=0; i<indice; i++)
{
if(strcmp(pesq,contatos.nome)==0)
{
printf("\nCODIGO:%i",i);
printf("\n NOME:%s",contatos.nome);
printf("\n EMAIL:%s",contatos.email);
printf("\n TEL:%d %d",contatos.fone.dd,contatos.fone.tel);
encontrou++;
}
}
if (encontrou==0)
{
printf("\n NENHUM REGISTRO ENCONTRADO!\n\n");
}
printf("\n");
system("pause");
break;
case 2:
break;
case 3:
break;
case 4:
system("cls");
printf("\n--**** CADASTRO DE CONTATO ****--");
printf("\n CODIGO:%i\n",indice);
printf("\n NOME:");
gets(contatos[indice].nome);
printf("\n EMAIL:");
gets(contatos[indice].email);
printf("\n TELEFONE:");
printf("\n DD:");
scanf("%d",&contatos[indice].fone.dd);
printf("\n TEL:");
scanf("%d",&contatos[indice].fone.tel);
indice++;
fflush(stdin);
break;
case 5:
printf("\n--###----EXCLUIR CONTATO----###--\n");
Pergunta
Aldemar
Pessoal estou com dificuldade na parte de Ordenação do meu Codígo eu fiz uma Parte de uma Função mais não estou Acertado Codificação está dado erro !
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
struct Endereco
{
char rua[30];
int numero;
char comp[30];
char bairro[30];
int cep;
char cidade[30];
char estado[3];
char pais[30];
};
struct Telefone
{
int dd;
int tel;
};
struct Aniversario
{
int dd;
int mes;
int ano;
};
struct Pessoa
{
char nome[30];
char email[30];
struct Endereco ende;
struct Telefone fone;
struct Aniversario data;
char obs[50];
};
void Pessoa(char contatos[100]);
int main()
{
struct Pessoa contatos[100];
int opcao=0;/// VARIAVEL NA ESCOLHA DO MENU
int indice=0;///VARIAVEL QUE CONTEM O VALOR DO INDICE DO VETOR
int i,encontrou=0;///INDICA A QDE DE REGISTRO
char pesq[30];///GUARDAR O NOME DA PESQUISA
int j;
do
{
system("cls");
printf("---###--AGENDA DE CONTATOS--###---\n");
printf("\n 1 - Pesquisar por NOME");//será mostrado NOME, TELEFONE, EMAIL
printf("\n 2 - Pesquisar por MES ANIVERSARIO");
printf("\n 3 - Pesquisar por DIA e MES ANIVERSARIO");
printf("\n 4 - Cadastrar CONTATO");
printf("\n 5 - Excluir CONTATO");
printf("\n 6 - LISTAR todos os contatos");
printf("\n 7 - ORDENAR POR NOME");
printf("\n 8 - FINALIZAR PROGRAMA");
printf("\n ESCOLHA UMA OPCAO:");
scanf("%d",&opcao);
fflush(stdin);
switch(opcao)
{
case 1:
system("cls");
printf("\n--**** PESQUISAR POR NOME ****--");
printf("\nPESQUISAR:");
gets(pesq);
for(i=0; i<indice; i++)
{
if(strcmp(pesq,contatos.nome)==0)
{
printf("\nCODIGO:%i",i);
printf("\n NOME:%s",contatos.nome);
printf("\n EMAIL:%s",contatos.email);
printf("\n TEL:%d %d",contatos.fone.dd,contatos.fone.tel);
encontrou++;
}
}
if (encontrou==0)
{
printf("\n NENHUM REGISTRO ENCONTRADO!\n\n");
}
printf("\n");
system("pause");
break;
case 2:
break;
case 3:
break;
case 4:
system("cls");
printf("\n--**** CADASTRO DE CONTATO ****--");
printf("\n CODIGO:%i\n",indice);
printf("\n NOME:");
gets(contatos[indice].nome);
printf("\n EMAIL:");
gets(contatos[indice].email);
printf("\n TELEFONE:");
printf("\n DD:");
scanf("%d",&contatos[indice].fone.dd);
printf("\n TEL:");
scanf("%d",&contatos[indice].fone.tel);
indice++;
fflush(stdin);
break;
case 5:
printf("\n--###----EXCLUIR CONTATO----###--\n");
break;
case 6:
for(i=0; i<indice; i++)
{
printf("\nCODIGO: %i",i);
printf("\n NOME:%s",contatos.nome);
printf("\n EMAIL:%s",contatos.email);
printf("\n TEL:%d %d",contatos.fone.dd,contatos.fone.tel);
printf("\n--------------------------------\n");
}
system("pause");
break;
case 7:
printf("=================================\n");
printf("Ordenando por nome");
//ordena
for(i=1; i < indice; i++){
for(j=0; j< indice-1; j++){
if(strcmp(contatos[j].nome, contatos[j+1].nome) > 0){
strcpy(pesq, contatos[j].nome);
strcpy(contatos[j].nome, contatos[j+1].nome);
strcpy(contatos[j+1].nome, pesq);
}
}
}
///ORDENAÇÃO
break;
}
}
while(opcao!=8);
return 0;
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.