2
respostas

na hora do meu menu mostrar os cadastros ele nao mostra

Alguem me ajuda por favor, na hora de pesquisar pelo codigo meu programa n mostra oq foi cadastrado

#include<stdio.h>

#include<stdlib.h>

#define MAXCLIENTE 100 //defini a quantidade de clientes que podem ser cadastrados em uma constante typedef struct{ int codigo; char nome[61]; char sobrenome[61]; int diaNasc, mesNasc, anoNasc; float v1,v2,v3,v4,v5,v6,v7,v8,v9,v10; }cliente; cliente clientes[MAXCLIENTE]; //prototipo das minhas funcoes void menu(); void cadastrar(); void pesquisar(); void listar(); int main(){ menu(); cadastrar(); pesquisar();

return 0;
}

void menu(){ system("cls"); //system cls para da clear na tela int op; do{ printf("*MENU****"); printf("\n1 - Cadastrar Cliente\n2 - Pesquisar Cliente\n3 - Listar\n0 - Sair"); printf("\n*\n"); scanf("%d", &op); switch(op){ case 1: cadastrar(); break; case 2: pesquisar(); break; } }while(op!=0); } void cadastrar(){ int codigo; char nome[61]; char sobrenome[61]; int diaNasc, mesNasc, anoNasc; float v1,v2,v3,v4,v5,v6,v7,v8,v9,v10; int op; do{ system("cls"); printf("Insira o codigo do cliente: "); scanf("%d", &codigo); printf("Nome e Sobrenome: "); scanf("%s %s", &nome, &sobrenome); printf("Data de nascimento dia/mes/ano: "); scanf("%d/%d/%d",&diaNasc, &mesNasc, &anoNasc); printf("Digite os valores das ultimas 10 compras: "); scanf("%f %f %f %f %f %f %f %f %f %f", &v1, &v2, &v3, &v4, &v5, &v6, &v7, &v8, &v9, &v10); printf("\n1 - Continuar \n0 - Sair\n"); scanf("%d", &op); }while(op!=0); } void pesquisar(){ system("cls"); int codigo; char nome[61]; char sobrenome[61]; int diaNasc, mesNasc, anoNasc; float v1,v2,v3,v4,v5,v6,v7,v8,v9,v10; printf("Digite o codigo do cliente para pesquisar: "); scanf("%d", &codigo); for (int i = 0; i<MAXCLIENTE; i++){ if(clientes[i].codigo==codigo){ printf("Codigo do cliente: %d.\n", codigo); printf("Nome do Cliente: %s %s.\n", nome, sobrenome); printf("Data de nascimento %d/%d/%d.\n", diaNasc, mesNasc, anoNasc); printf("Valores das ultimas 10 compras: R$%.1f R$%.1f R$%.1f R$%.1f R$%.1f\n", v1, v2, v3, v4, v5); printf("Valores das ultimas 10 compras: R$%.1f R$%.1f R$%.1f R$%.1f R$%.1f\n", v6, v7, v8, v9, v10); } } }

2 respostas
#include<stdio.h>

#include<stdlib.h>

#define MAXCLIENTE 100 //defini a quantidade de clientes que podem ser cadastrados em uma constante 
typedef struct{ 
        int codigo;
        char nome[61];
        char sobrenome[61]; 
        int diaNasc, mesNasc, anoNasc; 
        float v1,v2,v3,v4,v5,v6,v7,v8,v9,v10; 
} cliente; 

cliente clientes[MAXCLIENTE]; //prototipo das minhas funcoes 
void menu(); 
void cadastrar(); 
void pesquisar(); 
void listar(); 

int main(){ 
        menu();
        cadastrar(); 
        pesquisar();
        return 0;
}

void menu(){ 
        system("cls"); //system cls para da clear na tela 
        int op; 
        do{ 
                printf("*MENU****"); 
                printf("\n1 - Cadastrar Cliente\n2 - Pesquisar Cliente\n3 - Listar\n0 - Sair"); 
                printf("\n*\n"); 
                scanf("%d", &op); 
                switch(op){ 
                        case 1: cadastrar(); 
                                        break; 
                        case 2: pesquisar(); 
                                        break; 
                        } 
            }while(op!=0); 
} 

void cadastrar(){ 
        int codigo; 
        char nome[61]; 
        char sobrenome[61]; 
        int diaNasc, mesNasc, anoNasc; 
        float v1,v2,v3,v4,v5,v6,v7,v8,v9,v10; 
        int op;
        do{ 
                system("cls");
                printf("Insira o codigo do cliente: ");
                scanf("%d", &codigo);
                printf("Nome e Sobrenome: "); 
                scanf("%s %s", &nome, &sobrenome); 
                printf("Data de nascimento dia/mes/ano: ");
                scanf("%d/%d/%d",&diaNasc, &mesNasc, &anoNasc); 
                printf("Digite os valores das ultimas 10 compras: "); 
                scanf("%f %f %f %f %f %f %f %f %f %f", &v1, &v2, &v3, &v4, &v5, &v6, &v7, &v8, &v9, &v10);
                printf("\n1 - Continuar \n0 - Sair\n");
                scanf("%d", &op); 
            }while(op!=0); 
}

void pesquisar(){ 
            system("cls");
            int codigo; 
            char nome[61]; 
            char sobrenome[61]; 
            int diaNasc, mesNasc, anoNasc; 
            float v1,v2,v3,v4,v5,v6,v7,v8,v9,v10; 
            printf("Digite o codigo do cliente para pesquisar: "); 
            scanf("%d", &codigo); 
            for (int i = 0; i<MAXCLIENTE; i++){ 
                    if(clientes[i].codigo==codigo){ 
                            printf("Codigo do cliente: %d.\n", codigo); 
                            printf("Nome do Cliente: %s %s.\n", nome, sobrenome);
                            printf("Data de nascimento %d/%d/%d.\n", diaNasc, mesNasc, anoNasc);
                            printf("Valores das ultimas 10 compras: R$%.1f R$%.1f R$%.1f R$%.1f R$%.1f\n", v1, v2, v3, v4, v5);
                            printf("Valores das ultimas 10 compras: R$%.1f R$%.1f R$%.1f R$%.1f R$%.1f\n", v6, v7, v8, v9, v10); 
                            } 
            }
}

Descobri o problema

void cadastrar(){ 
        int codigo; 
        char nome[61]; 
        char sobrenome[61]; 
        int diaNasc, mesNasc, anoNasc; 
        float v1,v2,v3,v4,v5,v6,v7,v8,v9,v10; 
        int op;
        do{ 
                system("cls");
                printf("Insira o codigo do cliente: ");
                scanf("%d", &codigo);
                printf("Nome e Sobrenome: "); 
                scanf("%s %s", &nome, &sobrenome); 
                printf("Data de nascimento dia/mes/ano: ");
                scanf("%d/%d/%d",&diaNasc, &mesNasc, &anoNasc); 
                printf("Digite os valores das ultimas 10 compras: "); 
                scanf("%f %f %f %f %f %f %f %f %f %f", &v1, &v2, &v3, &v4, &v5, &v6, &v7, &v8, &v9, &v10);
                printf("\n1 - Continuar \n0 - Sair\n");
                scanf("%d", &op); 
            }while(op!=0); 
}

Você tá fazendo as perguntas, armazena em variáveis separadas mas nunca armazena no array de clientes. Por isso você não consegue pesquisar e nem listar