Ir ao conteúdo
  • Cadastre-se

Mpixell

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

posts postados por Mpixell

  1. Boa tarde,estou a fazer um exercício em que preciso de ordenar apenas os nomes do seguinte programa:

    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<locale.h>
    #include<string.h>
    #include<unistd.h>
    int j,i,Q=2;
    typedef struct agenda{
        char Nome [20];
        char Email[40];
        char observacoes[500];
        typedef struct endereco{
            char Rua[20];
            int  Numero;
            char Complemento[20];
            char Bairro[20];
            char Cep[20];
            char Cidade[20];
            char Estado[20];
            char Pais[20];    
        };
        struct endereco Endereco;
        typedef struct telefone{
            char DDD[10];
            char NumeroTelefone[9];
        };
        struct telefone Telefone;
        typedef struct aniversario{
            int Dia;
            int Mes;
            int Anos;
        };
        struct aniversario Aniversario;
    };
    struct agenda Agenda[100];
    void Inserir()
    {
        char sair;
        do{
            for(i=0;i<Q;i++)
            {

                printf("Quandos dados quer introduzir:");
                scanf("%d",&Q);
                system("CLS");
                printf("Dados da %d pessoa:\n",i+1);
                printf("\tNome:");
                fflush(stdin);
                gets(Agenda.Nome);
                printf("\tEmail:");
                fflush(stdin);
                gets(Agenda.Email);
                printf("\tEndereço:\n");
                printf("\t\tRua:");
                fflush(stdin);
                gets(Agenda.Endereco.Rua);
                printf("\t\tNúmero:");
                scanf("%d",&Agenda.Endereco.Numero);
                printf("\t\tComplemento:");
                fflush(stdin);
                gets(Agenda.Endereco.Complemento);
                printf("\t\tBairro:");
                fflush(stdin);
                gets(Agenda.Endereco.Bairro);
                printf("\t\tCep:");
                fflush(stdin);
                gets(Agenda.Endereco.Cep);
                printf("\t\tCidade:");
                fflush(stdin);
                gets(Agenda.Endereco.Cidade);
                printf("\t\tEstado:");
                fflush(stdin);
                gets(Agenda.Endereco.Estado);
                printf("\t\tPais:");
                fflush(stdin);
                gets(Agenda.Endereco.Pais);
                printf("\tTelefone:\n");
                printf("\t\tDDD:");
                fflush(stdin);
                gets(Agenda.Telefone.DDD);
                printf("\t\tNumeto de Telefone:");
                fflush(stdin);
                gets(Agenda.Telefone.NumeroTelefone);
                printf("\tAniversario:\n");
                printf("\t\tDia:");
                scanf("%d",&Agenda.Aniversario.Dia);
                printf("\t\tMês:");
                scanf("%d",&Agenda.Aniversario.Mes);
                printf("\t\tAnos:");
                scanf("%d",&Agenda.Aniversario.Anos);
                printf("Observações:");
                fflush(stdin);
                gets(Agenda.observacoes);
            }
            printf("\nPressione 0 para sair");
            sair=getch();
        }while(sair!='0');
        system("cls");
    }
    void Ordenar()
    {
        int p;
        char NomeO[100][20];
        char sair,aux;
        do{
            for(i=0;i<Q;i++)
            {
                for(j=0;j<20;j++)
                {
                    NomeO[j]=NomeO[j];
                }
            }
            for(i=0; i<Q; i++) 
            {
                for(p=0; p<Q; p++) 
                    {
                        if(strcmp(NomeO,NomeO)<0)
                        {
                            for(j=0;j<20;j++)
                            {
                                strcpy(aux,NomeO[j]);
                                strcpy(NomeO[j],NomeO[p][j]);
                                strcpy(NomeO[p][j],aux);
                            }
                        }
                    }
            }
            printf("Nomes ordenados:\n");
            for(i=0; i<Q; i++)
            {
                for(j=0;j<20;j++)
                {
                    printf("%c",NomeO[j]);
                }
                printf("\n");
            }
            printf("\nPressione 0 para sair");
            sair=getch();
        }while(sair!='0');
        system("cls");
    }
    int main()
    {
        setlocale(LC_ALL,"");
        int op;
        do{
            printf("1.Inserir\n2.Ordenar\n");
            printf("Opção:");
            scanf("%d",&op);
            else if(op==1)
            {
                system("CLS");
                Inserir();
            }
            else if(op==2)
            {
                system("CLS");
                Ordenar();
            }
        }while(op!=0);
    }

    mas estou a ter uns problemas com o comando strcpy e não sei porque, se alguém me puder ajudar agradeço.

    • Curtir 1
  2. Eu estou a tentar fazer um programa que peça 5 nomes, e os armazene num vetor.

    Depois o programa deverá pedir para o utilizador introduzir um nome para ver se esse nome está no vetor, mas não estou a conseguir.

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <locale.h>
    int main()
    {
        setlocale(LC_ALL,"Portuguese");
        int i;
        int encontrado=0;
        char nomes[5][20];
        char nome_P[1][20];
        for(i=0;i<5;i++)
        {
            printf("Insira o %dº Nome: ",i+1);
            scanf("%s",&nomes);
        }
        printf("Pesquisar\n\n");
        printf("Insira no mome que deseja procurar: ");
        scanf("%s",&nome_P);
        while (i < 5 && encontrado==0)
        {
            if (nomes == nome_P
            {
                encontrado = 1;
            } 
            else
            {
                i++;
            }
        }
        if (encontrado==1) 
            {
            printf ("Nome encontrado\n");
            } 
            else 
            {
            printf ("Nome não encontrado\n");
            }
    }

    gostaria que alguem me pudesse ajudar com isto. obrigado

    • Curtir 1
  3. Boa tarde,

    estou com um problema ao criar um programa que deve ter um menu e ao seleccionar a opção abrir sub menus,em que o menu inicial tem 3 opções de entrada e uma para fechar o programa, ao entrar seleccionar a primeira opção(eu estou a trabalhar sub menu por submenu).

    No primeiro sub menu existem varias opções e eu estou a ter problemas na primeira, a primeira opção é para introduzir varias idades e salva-las num vetor,após isso deve voltar para o menu inicial.

    Voltando á opção Idades, a segunda opção é para listar as idades introduzidas mas não lista as idades que o utilizador introduziu.

    E código que fiz é o seguinte:

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <locale.h>
    #include <unistd.h>
    #include <math.h>
    int main(void)
    {
        setlocale(LC_ALL,"portuguese");
        int idades[5]={0,0,0,0,0};
        int idades_o[5];
        int  opcao,i,j,a,cont,local;
        printf("1. Idades\n2. Nomes\n3. Notas\n0. Fechar\n");
        scanf("%d",&opcao);
        system("cls");
        if(opcao==1)//opção 1 do menu inicial
        {
            printf("1. Inserir idade\n2. Listar\n3. Pesquisar\n4. Ordenar\n5. Eliminar\n6. Estatística\n0. Regressar ao menu\n");
            /*for(i=0;i<5;i++)//confirmar o problema
            {
                printf("%d\n",idades);
            }*/
            scanf("%d",&opcao);
            system("cls");
            if(opcao==1)//opção 1 do submenu
            {
                for(i=0;i<5;i++)
                {
                    printf("\nInsira as idades:");
                    scanf("%d",&idades);
                    //printf("%d",idades); //confirmar o erro
                }
                system("cls");
                sleep(0);
                return main();
            }
            if(opcao==2)//opção 2 do submenu, 
            {
            for(i=0;i<5;i++)
            {
                printf("%d\n",idades);
            }
                    sleep(0);
                    return main();
            }
            if(opcao==3)//opção 3 do submenu
            {
                //incompleto
            }
            if(opcao==4)
            {
                //incompleto
            }
            if(opcao==6)//opção 6 do submenu
            {
                printf("1. Numero de idades\n4. Idade maior\n5. Idade menor\n6. Média das idades\n0. Regressar ao menu\n");
                scanf("%d",&opcao);
                if (opcao==0)
                {
                    sleep(0);
                    return main();
                }
            }
            if(opcao==0) //opção 0 do submenu 
            {  
            sleep(0);
            return main(); 
            }
        }
    }

     

    Eu gostaria que alguém me pudesse ajudar a descobrir o que estou a fazer de mal, muito obrigado.

    • Curtir 1

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!