Ir para conteúdo
Fórum Script Brasil
  • 0

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 !


Aldemar

Pergunta

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

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...