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");
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
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.