Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
Nerociffer

C Informações não estão sendo exibidas

Recommended Posts

Galerinha do bem, estou montando um programa para um trabalho de escola, mas estou tendo dificuldades, depois realizar o cadastro, não consigo exibi-lo na parte parte do caso 4 (case 4) que apenas exibiria os dados, simplesmente não aparece, alguém sabe me dizer porque ?

segue o código:

#include<stdio.h>
#include<stdlib.h>
#include <locale.h>


void imprimeCabecalho()
{ 
    printf("--------------------------------------------------------------------\n");system("color 0a");
    printf("-------------------------Legal Rent a Car---------------------------\n");system("color 0a");
    printf("--------------------------------------------------------------------\n\n");system("color 0a");
    return;
}
    

int menu()
{
    int opcao;
    do{
       printf("Bem vindo \n");
       printf("1-Carros disponiveis \n");
       printf("2-Cadastro do cliente  \n");
       printf("3-Devolução do veiculo \n");
       printf("4-Alterar dados\n");
       printf("5-Cadastrar veiculo\n");
       printf("6-Sair do sistema \n");
       printf("Opção: ");
       scanf("%i", &opcao);
    }while(opcao<=0 || opcao >6);
    return opcao;
}

struct cadastrocli
    {
            char nome[50];
            char rg[20];
            char cpf[20];
            char endereco[50];
            char cnh[20];
            char telefone[20];
    };

struct cadastroCarro
    {
            char nomedoveiculo[50];
            char placa[20];
            char cor[20];
    };

int main()
{
    setlocale(LC_ALL,"portuguese");
    int resultado;
    int controle;
    
    int opcao = menu();
    system("color FC");
    imprimeCabecalho();
    
    struct cadastrocli cadastro;
    struct cadastroCarro car;

    switch(opcao)
    {
        case 1:
            printf("\n ---------Exibindo informações Do Carro----------\n\n");
            printf("Nome Do carro.....:%s \n", car.nomedoveiculo);
            printf("Placa.......:%s \n", car.placa);
            printf("Cor......:%s \n", car.cor);
            system("pause");
            system("cls");
            opcao=menu();
            break;
        case 2:
            system("cls");
            getchar();
            printf("\n-----------------CADASTRO---------------- \n\n");
            printf("Nome do cliente:\n");
            fflush(stdin);
            gets(cadastro.nome);
            
            printf("RG do cliente:\n");
            fflush(stdin);
            gets(cadastro.rg);
            
            printf("CPF do cliente: \n");
            fflush(stdin);
            gets(cadastro.cpf);
            
            printf("Endereço do cliente: \n");
            fflush(stdin);
            gets(cadastro.endereco);
            
            printf("CNH do cliente: \n");
            fflush(stdin);
            gets(cadastro.cnh);
            
            printf("Telefone:  \n");
            fflush(stdin);
            gets(cadastro.telefone);
            system("cls");
            
            printf("\n ---------Exibindo informações ----------\n\n");
            printf("Nome.....:%s \n", cadastro.nome);
            printf("RG.......:%s \n", cadastro.rg);
            printf("CPF......:%s \n", cadastro.cpf);
            printf("Endereço.:%s \n", cadastro.endereco);
            printf("CNH......:%s \n", cadastro.cnh);
            printf("Contato:.:%s \n", cadastro.telefone);
            opcao=menu();
        case 3:

            break;
        case 4:    //
            printf("Exibindo informações:\n");
            printf("Nome.....:%s \n", cadastro.nome);
            printf("RG.......:%s \n", cadastro.rg);
            printf("CPF......:%s \n", cadastro.cpf);
            printf("Endereço.:%s \n", cadastro.endereco);
            printf("CNH......:%s \n", cadastro.cnh);
            printf("Contato:.:%s \n", cadastro.telefone);
            break;
            opcao=menu();
        case 5:
        system("cls");
            getchar();
            printf("\n-----------------CADASTRO---------------- \n\n");
            printf("Nome do carro:\n");
            gets(car.nomedoveiculo);
            
            printf("Placa do Carro:\n");
            fflush(stdin);
            gets(car.placa);
            
            printf("Cor: \n");
            gets(car.cor);
            
            printf("\n ---------Exibindo informações Do Carro----------\n\n");
            printf("Nome Do carro.....:%s \n", car.nomedoveiculo);
            printf("Placa.......:%s \n", car.placa);
            printf("Cor......:%s \n", car.cor);
            system ("pause");
            system("cls");        
            opcao=menu();
            
            
        default:
            opcao=menu();
            break;
    }
    return 0;
}    

 

Editado por Simon Viegas
Antes de postar um código, favor pressionar o botão <>
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Nerociffer não tenho muito o que comentar no seu código, pelo menos da forma como foi postado, veja:


 

case 4:
...
1 - printf("Contato:.:%s \n", cadastro.telefone);
2 - break;
3 - opcao=menu();

 

Na 2 e 3 estão trocadas.

 

 

Agora peço que poste o código usando o símbolo <>, assim posso dar uma resposta melhor. Já que alguns dados somem quando você simplesmente joga o código no texto.

  • Curtir 3

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Desculpe, é a primeira vez q faço perguntas aqui sobre isso.

    #include<stdio.h>
    #include<stdlib.h>
    #include <locale.h>
    
    
    void imprimeCabecalho()
    { 
    	printf("--------------------------------------------------------------------\n");system("color 0a");
    	printf("-------------------------Legal Rent a Car---------------------------\n");system("color 0a");
    	printf("--------------------------------------------------------------------\n\n");system("color 0a");
    	return;
    }
    
    int nomevet()
    {
    	char nome[100][50];
    	int i=1;
    	int quant;
    	
    	printf("quantos nomes deseja usar:\n");
    	scanf("%d",&quant);
    	
    	for(i=0;i<quant;i++)
    	{
    		printf("digite o nome");
    		scanf("%s",&nome[i]);
    	}
    	
    	for(i=0;i<quant;i++)
    	{
    		printf("nome %s",nome[i]);
    	}
    	return nome[100][50];
    }
    	
    
    int menu()
    {
        int opcao;
        do{
           printf("Bem vindo \n");
           printf("1-Carros disponiveis \n");
           printf("2-Cadastro do cliente  \n");
           printf("3-Devolução do veiculo \n");
           printf("4-Alterar dados\n");
           printf("5-Cadastrar veiculo\n");
           printf("6-Sair do sistema \n");
           printf("Opção: ");
           scanf("%i", &opcao);
        }while(opcao<=0 || opcao >6);
    	return opcao;
    }
    
    struct cadastrocli
    	{
    			char nome[50];
    			char rg[20];
    			char cpf[20];
    			char endereco[50];
    			char cnh[20];
    			char telefone[20];
    	};
    
    struct cadastroCarro
    	{
    			char nomedoveiculo[50];
    			char placa[20];
    			char cor[20];
    	};
    
    
    
    int main()
    {//puxar cadastro para,associar o carro ao usuario,adicionar mais informações,condições especiais s/n
    	setlocale(LC_ALL,"portuguese");
    	int resultado;
    	int controle;
    	char nome[100][50];
    	int j=1;
    	int quant;
    	int nomevet;
    	
    	int opcao = menu();
    	system("color FC");
    	imprimeCabecalho();
    	
    	struct cadastrocli cadastro;
    	struct cadastroCarro car;
    
    	switch(opcao)
    	{
    		case 1:
    			printf("\n ---------Exibindo informações Do Carro----------\n\n");
    			printf("Nome Do carro.....:%s \n", car.nomedoveiculo);
    			printf("Placa.......:%s \n", car.placa);
    			printf("Cor......:%s \n", car.cor);
    			system("pause");
    			system("cls");
    			opcao=menu();
    			break;
    		case 2:
    			system("cls");
    			getchar();
    			printf("\n-----------------CADASTRO---------------- \n\n");
    			printf("Nome do cliente:\n");
    			fflush(stdin);
    			gets(cadastro.nome);
    			
    			printf("RG do cliente:\n");
    			fflush(stdin);
    			gets(cadastro.rg);
    			
    			printf("CPF do cliente: \n");
    			fflush(stdin);
    			gets(cadastro.cpf);
    			
    			printf("Endereço do cliente: \n");
    			fflush(stdin);
    			gets(cadastro.endereco);
    			
    			printf("CNH do cliente: \n");
    			fflush(stdin);
    			gets(cadastro.cnh);
    			
    			printf("Telefone:  \n");
    			fflush(stdin);
    			gets(cadastro.telefone);
    			system("cls");
    			
    			printf("\n ---------Exibindo informações ----------\n\n");
    			printf("Nome.....:%s \n", cadastro.nome);
    			printf("RG.......:%s \n", cadastro.rg);
    			printf("CPF......:%s \n", cadastro.cpf);
    			printf("Endereço.:%s \n", cadastro.endereco);
    			printf("CNH......:%s \n", cadastro.cnh);
    			printf("Contato:.:%s \n", cadastro.telefone);
    			opcao=menu();
    		case 3:
    
    			break;
    		case 4:	//
    			printf("Exibindo informações:\n");
    			printf("Nome.....:%s \n", cadastro.nome);
    			printf("RG.......:%s \n", cadastro.rg);
    			printf("CPF......:%s \n", cadastro.cpf);
    			printf("Endereço.:%s \n", cadastro.endereco);
    			printf("CNH......:%s \n", cadastro.cnh);
    			printf("Contato:.:%s \n", cadastro.telefone);
    			opcao=menu();
    			break;
    		case 5:
    		system("cls");
    			getchar();
    			printf("\n-----------------CADASTRO---------------- \n\n");
    			printf("Nome do carro:\n");
    			gets(car.nomedoveiculo);
    			
    			printf("Placa do Carro:\n");
    			fflush(stdin);
    			gets(car.placa);
    			
    			printf("Cor: \n");
    			gets(car.cor);
    			
    			printf("\n ---------Exibindo informações Do Carro----------\n\n");
    			printf("Nome Do carro.....:%s \n", car.nomedoveiculo);
    			printf("Placa.......:%s \n", car.placa);
    			printf("Cor......:%s \n", car.cor);
    			system ("pause");
    			system("cls");		
    			opcao=menu();
    			
    			
    		default:
    			opcao=menu();
    			break;
    	}
    	return 0;
    }	
    	
    	

    Consertei o erro apotando, obrigado.
    O problema é que mesmo assim, após eu fazer o cadastro no case 2, as informações não são exibidas no case 4. Dentro do case 4 está apenas um printf do que foi digitado no case 2, mas quando entro lá o programa para, não sei porque :/

    Editado por Simon Viegas
    Alterado tag CODE para "C Languages"
    • Curtir 2

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Nerociffer Não está sendo exibido por que você não esta colocando dentro de um loop, toda vez que receber uma opção escolhida do menu, você precisa mandar para o switch. Assim

     

    1-> while

    2---> opcao = menu

    3---> switch(opção){}

    4-> fim while

    adicionado 1 minuto depois

    No caso, você apenas manda uma vez para o switch, e na segunda vez que aparece o menu, você não faz nada com a variável opção e finaliza o programa.

    • Curtir 2

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Basicamente devo colocar um while em cima do switch ? 

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Nerociffer    sim você precisa colocar um loop para repetir os comandos ,  melhor usar o do while assim :

    int main()
    {/*//puxar cadastro para,associar o carro ao usuario,adicionar mais informações,condições especiais s/n*/
    	setlocale(LC_ALL,"");
    	int resultado;
    	int controle;
    	char nome[100][50],op;
    	int j=1,opcao;
    	int quant,cont=0,cont_car=0;
    	int nomevet;
    do{
    	opcao = menu();
    	system("color FC");
    	imprimeCabecalho();

    e no final antes do return 0; coloque assim :

    e dentro do switch remova esse comando aqui  opcao=menu;

    		default:
    			/*opcao=menu();*/
    			break;
    	}
    }while(opcao!=6);
    	return 0;
    }

    com isso o programa vai funcionar do jeito certo, mas você só pode cadastrar apenas um cliente e um carro, pois lá no :

    struct cadastrocli cadastro[100];
    struct cadastroCarro car[100];

    você não colocou a quantidade de cadastro que poderá usar, aqui coloquei 100 para poder cadastrar até 100 clientes e carros, e você precisará de uma variável para controlar a quantidade de clientes e outra para a quantidade de carros.

    • Obrigado 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Muito obrigado, me ajudou bastante, consegui resolver o problema do while e de quebra tu me ajudou com a quantidade de cadastros :) 
    Meu único problema agora é que eu preciso gerar um número para cada cadastro, para alterar a associar ao carro alugado, se tiver alguma sugestão ficarei agradecido.

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Nerociffer    use essas variáveis que coloquei no exemplo , o cont para os clientes e o cont_car para a quantidade de carros então para cada cliente cadastrado aumente o valor de cont em hum e para cada carro cadastrado aumente o valor de cont_car .

       seu código com algumas modificações ficaria assim :

    #include<stdio.h>
    #include<stdlib.h>
    #include <locale.h>
    void imprimeCabecalho()
    {
        system("color 0a");
        system("cls");
    	printf("--------------------------------------------------------------------\n");/*system("color 0a");*/
    	printf("-------------------------Legal Rent a Car---------------------------\n");/*system("color 0a");*/
    	printf("--------------------------------------------------------------------\n\n");/*system("color 0a");*/
    	return;
    }
    
    int nomevet()
    {
    	char nome[100][50];
    	int i=1;
    	int quant;
    
    	printf("quantos nomes deseja usar:\n");
    	scanf("%d",&quant);
    
    	for(i=0;i<quant;i++)
    	{
    		printf("digite o nome");
    		scanf("%s",&nome[i]);
    	}
    
    	for(i=0;i<quant;i++)
    	{
    		printf("nome %s",nome[i]);
    	}
    	return nome[100][50];
    }
    
    
    int menu()
    {
        int opcao;
        do{
           printf("Bem vindo \n");
           printf("1-Carros disponiveis \n");
           printf("2-Cadastro do cliente  \n");
           printf("3-Devolução do veiculo \n");
           printf("4-Alterar dados\n");
           printf("5-Cadastrar veiculo\n");
           printf("6-Sair do sistema \n");
           printf("Opção: ");
           scanf("%i", &opcao);
        }while(opcao<=0 || opcao >6);
    	return opcao;
    }
    
    struct cadastrocli
    	{
    			char nome[50];
    			char rg[20];
    			char cpf[20];
    			char endereco[50];
    			char cnh[20];
    			char telefone[20];
    	};
    
    struct cadastroCarro
    	{
    			char nomedoveiculo[50];
    			char placa[20];
    			char cor[20];
    	};
    
    
    
    int main()
    {/*//puxar cadastro para,associar o carro ao usuario,adicionar mais informações,condições especiais s/n*/
    	setlocale(LC_ALL,"");
    	int resultado;
    	int controle;
    	char nome[100][50],op;
    	int j=1,opcao;
    	int quant,cont=0,cont_car=0;
    	int nomevet;
    	struct cadastrocli cadastro[100];
    	struct cadastroCarro car[100];
    do{
        system("color FC");
    	opcao = menu();
    	/*imprimeCabecalho();*/
    
    	switch(opcao)
    	{
    		case 1:
    		    for(j=0;j<cont_car;j++){
    			printf("\n ---------Exibindo informações Do Carro----------\n\n");
    			printf("Nome Do carro.....:%s \n", car[j].nomedoveiculo);
    			printf("Placa.............:%s \n", car[j].placa);
    			printf("Cor...............:%s \n", car[j].cor);
    			system("pause");
    			system("cls");
    		    }
    			/*opcao=menu();*/
    			break;
    		case 2:
    		    do{
                    op='s';
    			    system("cls");
    			    imprimeCabecalho();
    			    getchar();
    			    printf("\n-----------------CADASTRO---------------- \n\n");
    			    printf("Nome do cliente:\n");
    			    fflush(stdin);
    			    gets(cadastro[cont].nome);
    
    			    printf("RG do cliente:\n");
    			    fflush(stdin);
    			    gets(cadastro[cont].rg);
    
    			    printf("CPF do cliente: \n");
    			    fflush(stdin);
    			    gets(cadastro[cont].cpf);
    
    			    printf("Endereço do cliente: \n");
    			    fflush(stdin);
    			    gets(cadastro[cont].endereco);
    
    			    printf("CNH do cliente: \n");
    			    fflush(stdin);
    			    gets(cadastro[cont].cnh);
    
    			    printf("Telefone:  \n");
    			    fflush(stdin);
    			    gets(cadastro[cont].telefone);
    			    system("cls");
    
    			    printf("\n ---------Exibindo informações ----------\n\n");
    			    printf("Nome.....:%s \n", cadastro[cont].nome);
    			    printf("RG.......:%s \n", cadastro[cont].rg);
    			    printf("CPF......:%s \n", cadastro[cont].cpf);
    			    printf("Endereço.:%s \n", cadastro[cont].endereco);
    			    printf("CNH......:%s \n", cadastro[cont].cnh);
    			    printf("Contato:.:%s \n", cadastro[cont].telefone);
    			    cont++;
    			    printf("\nQuer Cadastrar Outro Cliente  S/N ");
    			    scanf("%c",&op);
    		    }while(op!='n');
    			break;
    			/*opcao=menu();*/
    		case 3:
    
    			break;
    		case 4:
    		    for(j=0;j<cont;j++){
    			    printf("Exibindo informações:\n");
    			    printf("Nome.....:%s \n", cadastro[j].nome);
    			    printf("RG.......:%s \n", cadastro[j].rg);
    			    printf("CPF......:%s \n", cadastro[j].cpf);
    			    printf("Endereço.:%s \n", cadastro[j].endereco);
    			    printf("CNH......:%s \n", cadastro[j].cnh);
    			    printf("Contato:.:%s \n", cadastro[j].telefone);
    			    printf("Tecle\n\n");
    			    getch();
    		    }
    			/*opcao=menu();*/
    			break;
    		case 5:
    		    do{
    		        system("cls");
    			    getchar();
    			    printf("\n-----------------CADASTRO---------------- \n\n");
    			    printf("Nome do carro:\n");
    			    gets(car[cont_car].nomedoveiculo);
    
    			    printf("Placa do Carro:\n");
    			    fflush(stdin);
                    gets(car[cont_car].placa);
    
    			    printf("Cor: \n");
    			    gets(car[cont_car].cor);
    
    			    printf("\n ---------Exibindo informações Do Carro----------\n\n");
    			    printf("Nome Do carro.....:%s \n", car[cont_car].nomedoveiculo);
    			    printf("Placa.............:%s \n", car[cont_car].placa);
    			    printf("Cor...............:%s \n", car[cont_car].cor);
    			    cont_car++;
    			    /*system ("pause");
    			    system("cls");*/
    			    printf("Quer Cadastrar Outro Carro  S/N ");
    			    scanf("%c",&op);
    		    }while(op!='n');
    			break;
    			/*opcao=menu();*/
    		default:
    			/*opcao=menu();*/
    			break;
    	}
    }while(opcao!=6);
    	return 0;
    }

     

    Editado por devair1010
    • Obrigado 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Entendi a parte do for, obrigado pela dica. Eu estou tentando montar um jeito de puxar um determinado cadastro por um número, por exemplo: eu criei um int dentro da estrutura de cadastro, esse int a pessoa vai digitar entre 1 e 20 (exemplo), e então na hora de buscar o cadastro preciso criar um jeito de percorrer esse vetor para puxar um cadastro, poderia me dar um exemplo de como eu poderia percorrer esse vetor ? estou tendo dificuldades nisso, ainda não tive aulas suficientes para isso.

    Além disso, quando coloco int na struct ele está me retornando um ponteiro, ainda não tive aulas de ponteiro nem arquivo, portando fiquei meio perdido.

    struct cadastrocli
    	{
    			int cod[2];//codigo, até 99 cadastros 
    			char nome[50];
    			char rg[20];
    			char cpf[20];
    			char endereco[50];
    			char cnh[20];
    			char telefone[20];
    	};
    do{
                    op='s';
    			    system("cls");
    			    imprimeCabecalho();
    			    getchar();
    			    printf("\n-----------------CADASTRO---------------- \n\n");
    			    
    				printf("Digite o número para o cadastro:\n");
    			    scanf("%i",cadastro[cont].cod);
    				
    				printf("Nome do cliente:\n");
    			    fflush(stdin);
    			    gets(cadastro[cont].nome);
    
    			    printf("RG do cliente:\n");
    			    fflush(stdin);
    			    gets(cadastro[cont].rg);
    
    			    printf("CPF do cliente: \n");
    			    fflush(stdin);
    			    gets(cadastro[cont].cpf);
    
    			    printf("Endereço do cliente: \n");
    			    fflush(stdin);
    			    gets(cadastro[cont].endereco);
    
    			    printf("CNH do cliente: \n");
    			    fflush(stdin);
    			    gets(cadastro[cont].cnh);
    
    			    printf("Telefone:  \n");
    			    fflush(stdin);
    			    gets(cadastro[cont].telefone);
    			    system("cls");
    
    			    printf("\n ---------Exibindo informações ----------\n\n");
    			    printf("numero do cadastro do cliente: %i\n", cadastro[cont].cod);
    			    printf("Nome.....:%s \n", cadastro[cont].nome);
    			    printf("RG.......:%s \n", cadastro[cont].rg);
    			    printf("CPF......:%s \n", cadastro[cont].cpf);
    			    printf("Endereço.:%s \n", cadastro[cont].endereco);
    			    printf("CNH......:%s \n", cadastro[cont].cnh);
    			    printf("Contato:.:%s \n", cadastro[cont].telefone);
    			    cont++;
    			    printf("\nQuer Cadastrar Outro Cliente  S/N ");
    			    scanf("%c",&op);
    		    }while(op!='n');

     

    Agradeço pela ajuda o/

    Editado por Simon Viegas
    Alterar tipo de CODE para "C Languages"
    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Nerociffer    o Número para percorrer o vetor aí nesse código é o cont  para os clientes e o cont_car para os carros veja a função no case 4 que usa a variável cont como limite para o total de cadastro então ele vai de zero até o valor de cont e não precisa de um outro int lá dentro do struct não .  e uma função para listar os carros pode ser dessa forma  e você usaria a variável cont_car para localizar os carros cadastrados .

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Olá Devair
    Estou tentando montar uma forma de puxar no case 4 pelo cpf, mas não estou conseguindo.

    do{
    			for(j=0;j<cont;j++){
    				printf("Exibindo informações:\n");
    		    	printf("numero do cpf cadastro do cliente:\n");
    			    scanf("%s",&cadastro[j].cpf);
    			    printf("Nome.....:%s \n", cadastro[j].nome);
    			    printf("RG.......:%s \n", cadastro[j].rg);
    			    printf("CPF......:%s \n", cadastro[j].cpf);
    			    printf("Endereço.:%s \n", cadastro[j].endereco);
    			    printf("CNH......:%s \n", cadastro[j].cnh);
    			    printf("Contato:.:%s \n", cadastro[j].telefone);
    			    getch();
    			    printf("Deseja voltar ao menu ? S/N");
    			    scanf("%s",&op);
    			   }
    		    }while(op=='n');

    Basicamente estou tentando fazer com q a pessoa digite um cpf e ele puxa esse cpf, mas não estou conseguindo bolar esse algoritmo, minha lógica está falha em algum lugar, poderia me ajudar ?

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Nerociffer   você quer pesquisar pelo cpf  e encontrando esse cpf ele mostra todos os dados referentes a esse cpf ? então pode usar um código parecido com esse aqui :

    case 4:
                do{
                    op='s';
                    printf("Digite O Número Do Cpf Cadastrado Do Cliente: ");
                    fflush(stdin);
                    gets(cpfs);
                    flag=0;
                    for(j=0;j<cont;j++){
                        if(strcmp(cadastro[j].cpf,cpfs)==0){
                            printf("Exibindo informações:\n");
                            printf("Nome.....:%s \n", cadastro[j].nome);
                            printf("RG.......:%s \n", cadastro[j].rg);
                            printf("CPF......:%s \n", cadastro[j].cpf);
                            printf("Endereço.:%s \n", cadastro[j].endereco);
                            printf("CNH......:%s \n", cadastro[j].cnh);
                            printf("Contato:.:%s \n", cadastro[j].telefone);
                            flag=1;
                        }
                    }
                    if(flag==0)
                        printf("CPF Não Cadastrado...!\n");
                    printf("Deseja voltar ao menu ? S/N ");
                    scanf("%s",&op);
                }while(op!='s');
                break;

    você vai precisar colocar a variável flag do tipo inteiro e cpfs[ 20 ] do tipo char lá no inicio .

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Entre para seguir isso  





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×