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:  
albert igo

C Nao consigo pesquisar somente os nomes digitados aparece o primeiro cadastro .

Recommended Posts

Pessoal, estou com um certo problema , fiz uma função no meu programa para fazer a pesquisa por nome porém eu digito o nome mas nao aparece o cadastro com o nome  que eu coloquei na pesquisa . me ajudem por favor !

abaixo esta o codigo completo . 

o erro acontece na funcao consulta_nome(); pode ser algum erro no programa ?

como faço para visualizar todos os cadastros ?

 

 

 

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

#define DBASE 200 /*!< Tamanho do vetor */
#define SIZEDB 10
struct cadastro
{
    int telefone;
    char nome[200];
    char endereco [200];
    char quadra[200]; // É char não int
    char lote[200];   // É char não int
    char complemento [200];
    char setor [200];
    char cidade[200];
    int vazio,cod;
 } ;

struct descricao_stt{
  char string[ 20 ]; };

struct produtoc{
  struct descricao_stt descricao;
  int                  quantidade;
  int                  codigo;
  float                valor; };

/*  VARIABLE GLOBAL */
/*  Variáveis globais / Escopo de Programa / Públicas */
struct produtoc DBase[ SIZEDB ];


int verifica_cod(int telefonecod);
void cadastrop(int telefone,int pos );
int verificar_pos (void);
void consulta (void);
void consulta_nome(void);
void consulta_telefone(void);
void excluircliente (void);
int produtos_cadastros ();
void produtos_cadastrados ();


struct cadastro cliente[ DBASE ]; /* Definir tamanho do Vetor */

int main () {
    setlocale(LC_ALL,"portuguese");
    int opcao ,telefonecliente,retorno,posicao,consultacliente,produto;
    float total;
    struct cadastro cliente[ DBASE ];
  
    
    
    
    do{
        printf("=======================================================================================================================\n");
        printf("=======================================================================================================================\n");
        printf("=========================================|  1 - Novo Pedido                |===========================================\n");
        printf("=========================================|  2 - consulta cliente           |===========================================\n");
        printf("=========================================|  3 - Alterar pedido             |===========================================\n");
        printf("=========================================|  4 - Alterar endereço           |===========================================\n");
        printf("=========================================|  5 - Produtos                   |===========================================\n");
        printf("=========================================|  6 - Excluir pedido             |===========================================\n");
        printf("=========================================|  7 - Excluir cliente            |===========================================\n");
        printf("=========================================|  8 - Sair do sistema            |===========================================\n");
        printf("=======================================================================================================================\n");
        printf("=======================================================================================================================\n");
        printf("========================================== |      DIGITE UMA OPÇÃO        | ===========================================\n");
        scanf ("%d",&opcao);
        getchar();
        system ("cls");

       if (opcao == 1){
              consulta(); 
              printf("\nFazer o pedido \n"); 
              produtos_cadastros( );
              produtos_cadastrados( );
              system("pause");
              system("cls");
        }
        
        if (opcao==2){
            printf( "1 - Consulta por nome \n");
            printf(" 2 - Consulta por telefone\n");
            scanf("%d",&consultacliente);
            if ( consultacliente == 1){
                consulta_nome();
                
            }
            if ( consultacliente==2){
                consulta_telefone();
                
            }
            if ( consultacliente != 1 && consultacliente!= 2 ){
              system("cls\n");
               printf("codigo invalido\n");
               system("pause");
               system("cls");
           }
        } 
        if (opcao==5){
            printf("1- Alterar valor \n");
            printf("2- produto cadastrado\n");
            printf("3- excluir cadastro\n");
            scanf("%d",&produto);
             fflush(stdin);
             system("cls");
             if(produto==1){
                scanf("%f", &total);
                 DBase[0].valor = total ;
                 
                 DBase[0].valor*1;
                 printf("%.2f",DBase[0].valor);
                 
               system("pause");
             }
            if (produto==2){
                produtos_cadastros( );
               produtos_cadastrados( );
               
               scanf("%f", &total);
                 DBase[0].valor = total ;
                 
                 
               system("pause");
               system("cls");
              
        }
    
        
        }
        if ( opcao==7){
          excluircliente ();
        }
      
            
            
    }while (opcao != 8); //Diferente de 8


}

void cadastrop(int cod,int pos){
    int cont;
    setlocale(LC_ALL,"portuguese");
    do {
        pos = verificar_pos();
        cliente[pos].telefone=cod;
        // NUMERO 
        printf("Telefone: %d\n",cliente[pos].telefone); // Faltou a posição
        printf("Nome: ");
        gets(cliente[pos].nome);
        printf("Endereço:");
        gets(cliente[pos].endereco );
        printf("Quadra: ");
        gets(cliente[pos].quadra);
        printf("Lote: ");
        gets(cliente[pos].lote);
        printf("Complemento: ");
        gets(cliente[pos].complemento);
        printf("Setor: ");
        gets (cliente[pos].setor);
        printf("Cidade :");
        gets(cliente[pos].cidade);
        cliente[pos].vazio = 1; //tinha r no lugar de z
        cont== 1;
    }while (cont==1);

  return;
 }

int verificar_pos (void){
  int cont = 0 ;
  while (cont <= 200){
    if (cliente[cont].vazio == 0 )
        return (cont);
    cont ++ ;
    }

  return (-1);
}


// Funções são colocadas fora de outras e não dentro.
int verifica_cod(int cod){
  int cont ;
  for ( cont = 0 ; cont < 200 ; cont ++ ){
    if (cliente[cont].telefone== cod){
        return 0 ; } }

  return (1);
}

void consulta (void){

 setlocale(LC_ALL,"portuguese");
  int cont=0 , telefone ,posicao,retorno ;
  
  printf ("Digite o telefone: ");
  scanf("%d",&telefone);
  fflush(stdin);
  system("cls");
  
    while (cont<= 200){
        if (cliente[cont].telefone == telefone)
        {
            if (cliente[cont].vazio == 1)
            {
            printf("\n Telefone: %d \nNome: %s \nEndereço: %s \nQuadra: %s \nLote: %s \nComplemento: %s \nSetor: %s \nCidade: %s \n ",cliente[cont].telefone,cliente[cont].nome,cliente[cont].endereco,cliente[cont].quadra,cliente[cont].lote,cliente[cont].complemento,cliente[cont].setor,cliente[cont].cidade);
            system("pause")    ;
            
            break;
            }
        }
        cont ++ ;
        
    }
    if (cliente[cont].telefone != telefone){
           posicao = verificar_pos();
           retorno = verifica_cod(telefone);
           cadastrop(telefone,posicao);   
          
           
        }
        
}
void consulta_nome(void){
     setlocale(LC_ALL,"portuguese");
    int cont=0 ;
    char nome[100] ;
  
  printf ("Digite o nome: ");
  scanf("%s",&nome);
  fflush(stdin);
  system("cls");
  
   while (cont<= 200){
        if (strcmp(cliente[cont].nome,nome)== 0)
        {
           
            printf("\n Telefone: %d \nNome: %s \nEndereço: %s \nQuadra: %s \nLote: %s \nComplemento: %s \nSetor: %s \nCidade: %s \n ",cliente[cont].telefone,cliente[cont].nome,cliente[cont].endereco,cliente[cont].quadra,cliente[cont].lote,cliente[cont].complemento,cliente[cont].setor,cliente[cont].cidade);
            break;
            
        }
        cont ++ ;
        
    }  
      
if (strcmp(cliente[cont].nome,nome)== 0){ 
            printf("Não existe cadastro com esse nome ");
            system("pause");
        }
        system("cls");
}

void consulta_telefone(void){
     setlocale(LC_ALL,"portuguese");
    int cont=0 , telefone  ;
  
  printf ("Digite o telefone: ");
  scanf("%d",&telefone);
  fflush(stdin);
  system("cls");
  
    while (cont<= 200){
        if (cliente[cont].telefone == telefone)
        {
            if (cliente[cont].vazio == 1)
            {
            printf("\n Telefone: %d \nNome: %s \nEndereço: %s \nQuadra: %s \nLote: %s \nComplemento: %s \nSetor: %s \nCidade: %s \n ",cliente[cont].telefone,cliente[cont].nome,cliente[cont].endereco,cliente[cont].quadra,cliente[cont].lote,cliente[cont].complemento,cliente[cont].setor,cliente[cont].cidade);
            system("pause")    ;
            system("cls");
            break;
            }
        }
        cont ++ ;
        
    }
    if (cliente[cont].telefone != telefone){
        printf("Não existe cadastro com esse telefone");
    }
    system("cls");
}

int produtos_cadastros( ){


    DBase[0].codigo    = 1;
    DBase[0].descricao = *(struct descricao_stt *)"Liquigás";
    DBase[0].valor     = 60.00;
    DBase[0].quantidade= 0;

    DBase[1].codigo    = 2;
    DBase[1].descricao = *(struct descricao_stt *)"Consigás";
    DBase[1].valor     = 58.00;
    DBase[1].quantidade= 0;

    DBase[2].codigo    = 3;
    DBase[2].descricao = *(struct descricao_stt *)"Nacional Gás";
    DBase[2].valor     = 58.00;
    DBase[2].quantidade= 0;
    
    DBase[3].codigo    = 4;
    DBase[3].descricao = *(struct descricao_stt *)"Gás Completo";
    DBase[3].valor     = 175.00;
    DBase[3].quantidade= 0;
    
    DBase[4].codigo    = 5;
    DBase[4].descricao = *(struct descricao_stt *)"Água nina";
    DBase[4].valor     = 7.00;
    DBase[4].quantidade= 0;
    
    DBase[5].codigo    = 6;
    DBase[5].descricao = *(struct descricao_stt *)"Água Gold";
    DBase[5].valor     = 7.00;
    DBase[5].quantidade= 0;
    
    DBase[6].codigo    = 7;
    DBase[6].descricao = *(struct descricao_stt *)"Água Ypê";
    DBase[6].valor     = 8.00;
    DBase[6].quantidade= 0;
    
    DBase[7].codigo    = 8;
    DBase[7].descricao = *(struct descricao_stt *)"Água Completa";
    DBase[7].valor     = 58.00;
    DBase[7].quantidade= 0;
    
    
    
    return( 0 ); 
    
    }

    
void produtos_cadastrados( ){
  int i;

    for( i = 0; i < SIZEDB; i++ )
           { if( 0 != DBase[ i ].codigo )
                   printf( "ID: %d \t \t%s \t%.2f\n",
                             DBase[ i ].codigo,
                            &DBase[ i ].descricao,
                             DBase[ i ].valor ); }
                            return; }
void excluircliente (){
    int tel ,cont ;
    char resp  ;
    
        printf("Digite o telefone ");
        scanf("%d",&tel);
        fflush(stdin);
        
        for ( cont =0 ; cont <= 200 ;cont++){
            if (cliente[cont].telefone == tel ){
                if (cliente[cont].vazio == 1 ){
                    printf("\n Telefone: %d \nNome: %s \nEndereço: %s \nQuadra: %s \nLote: %s \nComplemento: %s \nSetor: %s \nCidade: %s \n ",cliente[cont].telefone,cliente[cont].nome,cliente[cont].endereco,cliente[cont].quadra,cliente[cont].lote,cliente[cont].complemento,cliente[cont].setor,cliente[cont].cidade);
                    getchar();
                    printf("\n Deseja exluir esse pedido? s/n ");
                    scanf("%s",&resp);
                    if ((resp== 's') || (resp == 'S')){
                        cliente[cont].vazio=0;
                        cliente[cont].telefone= NULL;
                        printf("\n Exclusão feita com sucesso \n ");
                        system("pause");
                        system("cls");
                    }
                    else if ((resp== 'n') || (resp == 'N')){
                        printf("Exclusão  cancelada ! \n ");
                        system("pause");
                        system("cls");
                    }
                }
            }
        }
       
}
 

Editado por albert igo
mais perguntas
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@albert igo   seu código está bom ,  precisa organizar melhor,  e ele mostra sempre  o primeiro cadastro porque ele está cadastrando na mesma posição, então você precisa usar um contador que seja uma variável global para que ela possa ser usada em qualquer parte do programa, e que mantenha o mesmo valor dentro do programa e apenas possa ser incrementada na hora de cadastrar, e decrementada na função excluircliente ,então coloquei essa variável pos como sendo o contador de cadastro ,  e  precisa usar o else junto com os if's  e o switch / case  é mais apropriado do que o if  nesse caso ,  então seu código com algumas modificações ficaria assim :

#include<stdio.h>
#include <ctype.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<locale.h>

#define DBASE 200 /*!< Tamanho do vetor */
#define SIZEDB 10
struct cadastro{
    int telefone;
    char nome        [200];
    char endereco    [200];
    char quadra      [200]; /*// É char não int*/
    char lote        [200]; /*// É char não int*/
    char complemento [200];
    char setor       [200];
    char cidade      [200];
    int vazio,cod;
};
struct descricao_stt{
    char string[ 20 ];
};
struct produtoc{
    struct descricao_stt descricao;
    int                  quantidade;
    int                  codigo;
    float                valor;
};
/*  VARIABLE GLOBAL */
/*  Variáveis globais / Escopo de Programa / Públicas */
struct produtoc DBase[ SIZEDB ];
int verifica_cod(int telefonecod    );
void cadastrop(int telefone,int pos );
int  verificar_pos        ();
void consulta             ();
void consulta_nome        ();
void consulta_telefone    ();
void excluircliente       ();
int  produtos_cadastros   ();
void produtos_cadastrados ();
void posicao              ();
void mosta_letra          ();
int pos;
int tela[7][80];  /* bit 0 1 2 3 4 5 6 7 */
int letras[6][7] ={{ 28, 34, 65, 65,127, 65, 65}, /* letra A*/
                   { 60, 66,  1,  1,113, 98, 92}, /* letra G*/
                   { 63,  1,  1, 31,  1,  1, 63}, /* letra E*/
                   { 65, 67, 69, 73, 81, 97, 65}, /* letra N*/
                   { 31, 33, 65, 65, 65, 33, 31}, /* letra D*/
                   { 28, 34, 65, 65,127, 65, 65}};/* letra A*/
struct cadastro cliente[ DBASE ]; /* Definir tamanho do Vetor */
int main (){
    setlocale(LC_ALL,"");
    posicao();
    int opcao ,telefonecliente,retorno,posicao,consultacliente,produto;
    float total;
    struct cadastro cliente[ DBASE ];
    do{
        system ("cls");
        mosta_letra();
        printf("================================================================================");
        printf("================================================================================");
        printf("========================|  1 - Novo Pedido                |=====================");
        printf("========================|  2 - consulta cliente           |=====================");
        printf("========================|  3 - Alterar pedido             |=====================");
        printf("========================|  4 - Alterar endereço           |=====================");
        printf("========================|  5 - Produtos                   |=====================");
        printf("========================|  6 - Excluir pedido             |=====================");
        printf("========================|  7 - Excluir cliente            |=====================");
        printf("========================|  8 - Sair do sistema            |=====================");
        printf("================================================================================");
        printf("================================================================================");
        printf("======================== |       DIGITE UMA OPÇÃO        | =====================");
        printf("                                      ----- \n");
        printf("                                     |     |\n");
        printf("                                     |  ");
        scanf ("%d",&opcao);
        switch(opcao){
        case 1:
            consulta();
            printf("\nFazer o pedido \n");
            produtos_cadastros();
            produtos_cadastrados();
            system("pause");
            break;
        case 2:
            printf(" 1 - Consulta por nome\n");
            printf(" 2 - Consulta por telefone\n");
            scanf("%d",&consultacliente);
            if ( consultacliente == 1){
                consulta_nome();
            }
            if ( consultacliente==2){
                consulta_telefone();
            }
            if ( consultacliente != 1 && consultacliente!= 2 ){
                system("cls\n");
                printf("codigo invalido\n");
                system("pause");
            }
            break;
        case 5:
            printf("1- Alterar valor \n");
            printf("2- produto cadastrado\n");
            printf("3- excluir cadastro\n");
            scanf("%d",&produto);
            fflush(stdin);
            system("cls");
            if(produto==1){
                scanf("%f", &total);
                DBase[0].valor = total ;
                DBase[0].valor*1;
                printf("%.2f",DBase[0].valor);
                system("pause");
            }
            else
                if (produto==2){
                    produtos_cadastros( );
                    produtos_cadastrados( );
                    scanf("%f", &total);
                    DBase[0].valor = total ;
                    system("pause");
                    system("cls");
                }
                break;
        case 7:
            excluircliente ();
            break;
        }
    }while (opcao != 8); /*//Diferente de 8*/
    return 0;
}
void cadastrop(int cod,int posR){
    int cont;
    do {
        cliente[pos].telefone=cod;
        /*// NUMERO*/
        printf("Telefone: %d\n",cliente[pos].telefone); /*// Faltou a posição*/
        printf("Nome: ");
        gets(cliente[pos].nome);
        printf("Endereço:");
        gets(cliente[pos].endereco );
        printf("Quadra: ");
        gets(cliente[pos].quadra);
        printf("Lote: ");
        gets(cliente[pos].lote);
        printf("Complemento: ");
        gets(cliente[pos].complemento);
        printf("Setor: ");
        gets (cliente[pos].setor);
        printf("Cidade :");
        gets(cliente[pos].cidade);
        cliente[pos].vazio = 1; /*//tinha r no lugar de z*/
        cont== 1;
        pos++;
    }while (cont==1);
    return;
}
int verificar_pos(){
    int cont = 0 ;
    while (cont <= 200){
    if(cliente[cont].vazio == 0 )
        return (cont);
        cont ++ ;
    }
    return (-1);
}
/*// Funções são colocadas fora de outras e não dentro.*/
int verifica_cod(int cod){
    int cont ;
    for ( cont = 0 ; cont < 200 ; cont ++ ){
        if (cliente[cont].telefone== cod){
            return 0;
        }
    }
    return (1);
}
void consulta(){
    int cont=0,telefone,posicao,retorno ;
    printf ("Digite o telefone: ");
    scanf("%d",&telefone);
    fflush(stdin);
    system("cls");
    while (cont<= 200){
        if (cliente[cont].telefone == telefone){
            if (cliente[cont].vazio == 1){
                printf("\nTelefone: ---- %d\nNome: -------- %s",cliente[cont].telefone,cliente[cont].nome       );
                printf("\nEndereço: ---- %s\nQuadra: ------ %s",cliente[cont].endereco,cliente[cont].quadra     );
                printf("\nLote: -------- %s\nComplemento: - %s",cliente[cont].lote    ,cliente[cont].complemento);
                printf("\nSetor: ------- %s\nCidade: ------ %s",cliente[cont].setor   ,cliente[cont].cidade     );
                system("pause");
                break;
            }
        }
        cont ++ ;
    }
    if (cliente[cont].telefone != telefone){
        retorno = verifica_cod(telefone);
        cadastrop(telefone,posicao);
    }
}
void consulta_nome(){
    int cont=0,flag ;
    char nome[100] ;
    printf ("Digite o nome: ");
    scanf("%s",&nome);
    fflush(stdin);
    system("cls");
    flag=0;
    while (cont<= pos){
        if (strcmp(cliente[cont].nome,nome)== 0){
            flag=1;
            printf("\nTelefone: ---- %d\nNome: -------- %s",cliente[cont].telefone,cliente[cont].nome       );
            printf("\nEndereço: ---- %s\nQuadra: ------ %s",cliente[cont].endereco,cliente[cont].quadra     );
            printf("\nLote: -------- %s\nComplemento: - %s",cliente[cont].lote    ,cliente[cont].complemento);
            printf("\nSetor: ------- %s\nCidade: ------ %s",cliente[cont].setor   ,cliente[cont].cidade     );
            break;
        }
        cont ++ ;
    }
    if(flag==0){
        printf("Não existe cadastro com esse nome");
    }
    printf("\n    Tecle");
    getch();
}
void consulta_telefone(){
    int cont=0 , telefone,flag;
    printf ("Digite o telefone: ");
    scanf("%d",&telefone);
    fflush(stdin);
    system("cls");
    flag=0;
    while (cont<= pos){
        if (cliente[cont].telefone == telefone){
            if (cliente[cont].vazio == 1){
                printf("\nTelefone: ---- %d\nNome: -------- %s",cliente[cont].telefone,cliente[cont].nome       );
                printf("\nEndereço: ---- %s\nQuadra: ------ %s",cliente[cont].endereco,cliente[cont].quadra     );
                printf("\nLote: -------- %s\nComplemento: - %s",cliente[cont].lote    ,cliente[cont].complemento);
                printf("\nSetor: ------- %s\nCidade: ------ %s",cliente[cont].setor   ,cliente[cont].cidade     );
                flag=1;
                break;
            }
        }
        cont ++ ;
    }
    if (flag==0){
        printf("Não existe cadastro com esse telefone");
    }
    printf("\n    Tecle");
    getch();
}
int produtos_cadastros( ){
    DBase[0].codigo    = 1;
    DBase[0].descricao = *(struct descricao_stt *)"Liquigás";
    DBase[0].valor     = 60.00;
    DBase[0].quantidade= 0;

    DBase[1].codigo    = 2;
    DBase[1].descricao = *(struct descricao_stt *)"Consigás";
    DBase[1].valor     = 58.00;
    DBase[1].quantidade= 0;

    DBase[2].codigo    = 3;
    DBase[2].descricao = *(struct descricao_stt *)"Nacional Gás";
    DBase[2].valor     = 58.00;
    DBase[2].quantidade= 0;

    DBase[3].codigo    = 4;
    DBase[3].descricao = *(struct descricao_stt *)"Gás Completo";
    DBase[3].valor     = 175.00;
    DBase[3].quantidade= 0;

    DBase[4].codigo    = 5;
    DBase[4].descricao = *(struct descricao_stt *)"Água nina";
    DBase[4].valor     = 7.00;
    DBase[4].quantidade= 0;

    DBase[5].codigo    = 6;
    DBase[5].descricao = *(struct descricao_stt *)"Água Gold";
    DBase[5].valor     = 7.00;
    DBase[5].quantidade= 0;

    DBase[6].codigo    = 7;
    DBase[6].descricao = *(struct descricao_stt *)"Água Ypê";
    DBase[6].valor     = 8.00;
    DBase[6].quantidade= 0;

    DBase[7].codigo    = 8;
    DBase[7].descricao = *(struct descricao_stt *)"Água Completa";
    DBase[7].valor     = 58.00;
    DBase[7].quantidade= 0;

    return( 0 );
}
void produtos_cadastrados(){
    int i;
    for( i = 0; i < SIZEDB; i++ ){
        if( 0 != DBase[ i ].codigo )
            printf( "ID: %d \t \t%s \t%.2f\n",
            DBase[ i ].codigo,
            &DBase[ i ].descricao,
            DBase[ i ].valor );
    }
    return;
}
void excluircliente (){
    int tel ,cont,j ;
    char resp  ;
    system("cls");
    printf("Digite o telefone ");
    scanf("%d",&tel);
    fflush(stdin);
    for ( cont =0 ; cont <= pos ;cont++){
        if (cliente[cont].telefone == tel ){
            if (cliente[cont].vazio == 1 ){
                printf("\nTelefone: ---- %d\nNome: -------- %s",cliente[cont].telefone,cliente[cont].nome       );
                printf("\nEndereço: ---- %s\nQuadra: ------ %s",cliente[cont].endereco,cliente[cont].quadra     );
                printf("\nLote: -------- %s\nComplemento: - %s",cliente[cont].lote    ,cliente[cont].complemento);
                printf("\nSetor: ------- %s\nCidade: ------ %s",cliente[cont].setor   ,cliente[cont].cidade     );
                printf("\n Deseja exluir esse pedido? S/N ");
                scanf("%s",&resp);
                if (toupper(resp) == 'S'){/* passa para maiúscula */
                    for(j=cont;j<pos;j++){
                        cliente[j] = cliente[j+1];
                    }
                    pos--;
                    printf("\n Exclusão feita com sucesso \n ");
                    system("pause");
                }
                else
                    if (toupper(resp) == 'N'){
                        printf("Exclusão  cancelada ! \n ");
                        system("pause");
                    }
                }
            }
        }
}
void posicao(){/*caracteres 7 x 7*/
    int c=20,i,j,k,a;
    for(i=0;i<6;i++){
        for(j=0;j<7;j++){
            a=letras[i][j];/* bits ao contrário 0 1 2 3 4 5 6 */
            for(k=0;k<7;k++){
                if(a % 2 == 1){
                    tela[j][k+c]=1;
                }
                a/=2;
            }
        }
        c+=8;
    }
}
void mosta_letra(){
    int i,j;
    for(i=0;i<7;i++)
        for(j=0;j<80;j++)
            if(tela[i][j]==1)
                printf("#");
            else
                printf(" ");
}

 

Editado por devair1010
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010 Muito Obrigado ! 

Esse é um trabalho de faculdade para apresentar ainda estou trabalhando nele .

Muito obrigado pela ajuda , mesmo .

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010

preciso de uma luz para conseguir implementar um alteração de um cadastro feito !

eu peço para o usuário para digitar o telefone que ele deseja alterar eu vou mostra o cadastro , certo ?

ai que eu fiquei com duvida ,como eu posso altera esse usuário e deixa ele na mesma posição ? 

eu poderia usar o código abaixo e com a posição cont  alterar ?

void list(){ // todos os clientes
    int cont;   
    system("cls");
    printf("------------------------------------------------------------\n");
    printf("CLIENTES CADASTRADOS \n");
    printf("------------------------------------------------------------\n");
    for(cont=0;cont<200;cont++){
        
        if(cliente[cont].telefone != 0 ){
                printf("\nTelefone: %d\nNome: ------ %s",cliente[cont].telefone,cliente[cont].nome       );
                printf("\nAvenida/Rua: %s\nQuadra: ---- %s",cliente[cont].endereco,cliente[cont].quadra  );
                printf("\nLote: --- %s\nComplemento: %s",cliente[cont].lote    ,cliente[cont].complemento);
                printf("\nSetor: -- %s\nCidade: ---- %s\n",cliente[cont].setor   ,cliente[cont].cidade   );
                printf("-------------------------------------------------------------------\n");
    }

   system("pause");
        system("cls");
}

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@albert igo        melhor usar uma função para cada caso, assim use essa função de listar apenas para isso , e para alterar um cadastro você pede um dado do cadastro , que pode ser o nome ou o telefone, e procura no struct, e encontrando o cadastro você pede para inserir o novo dado , por exemplo o telefone, então você coloca esse novo dado no struct na posição onde 
esse cadastro foi encontrado, assim :

printf("Telefone Atual %d\n",cliente[cont].telefone);
printf("Digite O Novo Telefone ");
fflush(stdin);
gets(cliente[cont].telefone);

então se estiver usando cont para fazer a busca , será nesse mesmo cont que o novo dado será colocado . 

aqui esse seu código mais organizado :

void list(){ /*// todos os clientes*/
    int cont;
    system("cls");
    printf("------------------------------------------------------------\n");
    printf("     CLIENTES CADASTRADOS \n");
    printf("------------------------------------------------------------\n");
    for(cont=0;cont<pos;cont++){
        printf("\nTelefone: ---- %d\nNome: -------- %s",cliente[cont].telefone,cliente[cont].nome       );
        printf("\nAvenida/Rua: - %s\nQuadra: ------ %s",cliente[cont].endereco,cliente[cont].quadra     );
        printf("\nLote: -------- %s\nComplemento: - %s",cliente[cont].lote    ,cliente[cont].complemento);
        printf("\nSetor: ------- %s\nCidade: ------ %s",cliente[cont].setor   ,cliente[cont].cidade     );
        printf("\n-------------------------------------------------------------------\n");
    }
    system("pause");
}

 

Editado por devair1010

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010

Obrigado por organizar conseguir altera também o endereço !

haha , eu posso excluir a função verifica_cod, já que ela não tem mais utilidade , isso ?

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@albert igo   sim,  pode remover essa função verifica_cod e também a  verifica_pos()  e também a chamada dessa função lá dentro da função consulta .

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010  Obrigado !

Preciso de mais uma ajuda , se possível. 

Estou na parte do pedido , porém, que queria verificar todos os pedidos .

Estou com dificuldade porque esta dando um erro irei coloca o codigo se possível da uma ajuda é na função pedido!

Gostaria de saber também se eu consigo imprimi o pedido e o endereço . 

hahaha me passa algum contato seu que quero da uma recompensa se por possível . 

 

 

#include<stdio.h>
#include <ctype.h>
#include<conio.h>
#include <conio.c>
#include<stdlib.h>
#include<string.h>
#include<locale.h>
#include<time.h>

#define DBASE 200 /*!< Tamanho do vetor */
#define SIZEDB 10
struct cadastro{
    int telefone;
    char nome        [200];
    char endereco    [200];
    char complemento [200];
    char setor       [200];
    char cidade      [200];
    int vazio,cod;
};

void cadastrop(int telefone,int pos );
void consulta             ();
void consulta_nome        ();
void consulta_telefone    ();
void excluircliente       ();
void list                 ();
void altera_tel           ();
void altera_nome          ();
void altera_endereco      ();
int Altera_valor_todos    ();
void produtos_cadastrados ();
void Altera_um_produto    ();
void pedido               ();
void cabecalho            ();
void cabecalho1           ();
int pos;
int codcliente;

int codl =1, codc=2 ,codn=3  , codaguan=4, codaguag=5, codaguay=6, codg=7,coda=8 , cod_vscg = 9 , cod_vsca=10;
int quant [100], codpedido[100],contador;
char nome_produto[100];
char vscg[20] = "Vasilhame com gás", vsca[25]="Vasilhame com Água";
char liqui[10]="Liquigás", consi[10]="ConsiGás" , nacional[13]="Nacional Gás" , completo[15] ="Vasilhame Gás" ,agua[15]="Vasilhame Água", aguanina[10] ="Água Nina", aguagold[10]="Água Gold" , aguaype[10]="Agua Ypê";
float valor[100];
float valorl , valorc , valorn , valornina , valorgold , valorype, valorvs, valorvsa;
float valorgl, valorgc, valorgn;
float valorvsnina, valorvsgold,valorvsype;

struct cadastro cliente[ DBASE ]; /* Definir tamanho do Vetor */
int main (){
    setlocale(LC_ALL,"");
    int opcao ,telefonecliente,retorno,posicao,consultacliente,produto,altera;
    float total;
    struct cadastro cliente[ DBASE ];
    

 
    do{
        system ("cls");
        system("color 7F");
        textcolor(0);
        
        printf("\n");
        printf("\t\t\t\t\t================================================================================\n");
        printf("\t\t\t\t\t================================================================================\n");
        printf("\t\t\t\t\t========================|  1 - Novo Pedido                |=====================\n");
        printf("\t\t\t\t\t========================|  2 - consulta cliente           |=====================\n");
        printf("\t\t\t\t\t========================|  3 - Alterar pedido             |=====================\n");
        printf("\t\t\t\t\t========================|  4 - Alterar endereço           |=====================\n");
        printf("\t\t\t\t\t========================|  5 - Produtos                   |=====================\n");
        printf("\t\t\t\t\t========================|  6 - Excluir pedido             |=====================\n");
        printf("\t\t\t\t\t========================|  7 - Excluir cliente            |=====================\n");
        printf("\t\t\t\t\t========================|  8 - Sair do sistema            |=====================\n");
        printf("\t\t\t\t\t================================================================================\n");
        printf("\t\t\t\t\t================================================================================\n");
        printf("\t\t\t\t\t======================== |       DIGITE UMA OPÇÃO        | =====================\n");
        printf("\t\t\t\t\t                                      ----- \n");
        printf("\t\t\t\t\t                                     |     |\n");
        printf("\t\t\t\t\t                                     |  ");
        scanf ("%d",&opcao);
        switch(opcao){
        case 1:
            consulta();
            printf("\nFazer o pedido \n");
            pedido();
            printf("\n");
            printf("\nTecle ENTER para volta ao menu");
            getch();
            break;
        case 2:
            system("cls");
            printf("\n");
            printf("\n");
            printf("\t\t\t\t\t--------------------------------------------------------------------------------\n");
            printf("\t\t\t\t\t                            CONSULTAS DE CLIENTES \n");
            printf("\t\t\t\t\t--------------------------------------------------------------------------------\n");
            printf("\t\t\t\t\t--------------------------------------------------------------------------------\n");
            printf("\t\t\t\t\t-------------------------| 1 - consulta todos clientes   |----------------------\n");
            printf("\t\t\t\t\t-------------------------| 2 - Consulta por nome         |----------------------\n");
            printf("\t\t\t\t\t-------------------------| 3 - Consulta por telefone     |----------------------\n");
            printf("\t\t\t\t\t--------------------------------------------------------------------------------\n");
            printf("\t\t\t\t\t--------------------------------------------------------------------------------\n");
            printf("\t\t\t\t\t-------------------------|       DIGITE UMA OPÇÃO        |----------------------\n");
            printf("\t\t\t\t\t                                      ----- \n");
            printf("\t\t\t\t\t                                     |     |\n");
            printf("\t\t\t\t\t                                     |  ");

            scanf("%d",&consultacliente);
            if (consultacliente == 1){
                list ();
            }
            if ( consultacliente == 2){
                consulta_nome();
            }
            if ( consultacliente==3){
                consulta_telefone();
            }
            if ( consultacliente != 1 && consultacliente!= 2 && consultacliente!=3){
                system("cls\n");
                printf("\t\t\t\t\tcodigo invalido\n");
                system("pause");
            }
            break;
            case 4:
                printf("\t\t\t\t\t-----------------------------------------------------------------------\n");
                printf("\t\t\t\t\t                     ALTERAÇÃO           ");
                printf("\t\t\t\t\t-----------------------------------------------------------------------\n");
                printf("\t\t\t\t\t 1 - Altera telefone:\n");
                printf("\t\t\t\t\t 2 - Altera Nome:\n");
                printf("\t\t\t\t\t 3 - Altera Endereço:\n");
                scanf("%d",&altera);
                if ( altera==1){
                    altera_tel();
                }
                if (altera==2){
                    altera_nome();
                }
                if (altera==3){
                    altera_endereco();
                }
                break ;
        case 5:
            printf("\t\t\t\t\t1- produto cadastrado\n");
            printf("\t\t\t\t\t2- cadastra todos valores \n");
            printf("\t\t\t\t\t3- Altera Um Produto\n");
            scanf("%d",&produto);
            fflush(stdin);
            system("cls");
            if (produto==1){
             produtos_cadastrados();
            }
            if(produto==2){
             Altera_valor_todos ();
            }
            if (produto==3){
             Altera_um_produto(); 
                }
                break;
        case 7:
            excluircliente ();
            break;
        }
    }while (opcao != 8); /*//Diferente de 8*/
    return 0;
}
void cadastrop(int cod,int posR){
    int cont,codpos;
    printf("\t\t\t\t\t------------------------------------------------------------\n");
    printf("\t\t\t\t\t     CADASTRADO  \n");
    printf("\t\t\t\t\t------------------------------------------------------------\n");
    do {
        codpos=codcliente+1;
        cliente[pos].telefone=cod;
        cliente[pos].cod=codpos;
        printf("\t\t\t\t\tcod: %d\n",cliente[pos].cod);
        /*// NUMERO*/
        printf("\t\t\t\t\tTelefone:---- %d\n",cliente[pos].telefone); 
        printf("\t\t\t\t\tNome:-------- ");
        gets(cliente[pos].nome);
        printf("\t\t\t\t\tEndereço:---- ");
        gets(cliente[pos].endereco );
        printf("\t\t\t\t\tComplemento:- ");
        gets(cliente[pos].complemento);
        printf("\t\t\t\t\tSetor:------- ");
        gets (cliente[pos].setor);
        printf("\t\t\t\t\tCidade:------ ");
        gets(cliente[pos].cidade);
        cliente[pos].vazio = 1; 
        cont== 1;
        pos++;
        codcliente= codpos;
        
    }while (cont==1);
    return;
}


void consulta(){
    
    printf("\n");
    int cont=0,telefone,posicao,retorno ;
    printf ("\t\t\t\t\tDigite o telefone: ");
    scanf("%d",&telefone);
    fflush(stdin);
    system("cls");
    while (cont<= 200){
        if (cliente[cont].telefone == telefone){
            if (cliente[cont].vazio == 1){
                printf("\t\t\t\t\t------------------------------------------------------------\n");
                printf("\t\t\t\t\t    CLIENTE CADASTRADO \n");
                printf("\t\t\t\t\t------------------------------------------------------------\n");
                printf("\n\t\t\t\t\tTelefone: ---- %d\n\t\t\t\t\tNome: -------- %s",cliente[cont].telefone,cliente[cont].nome       );
                printf("\n\t\t\t\t\tEndereço: ---- %s\n\t\t\t\t\tcomplemento: - %s",cliente[cont].endereco,cliente[cont].complemento);
                printf("\n\t\t\t\t\tSetor: ------- %s\n\t\t\t\t\tCidade: ------ %s",cliente[cont].setor   ,cliente[cont].cidade     );
                break;
            }
        }
        cont ++ ;
    }
    if (cliente[cont].telefone != telefone){
        cadastrop(telefone,posicao);
    }
}
void consulta_nome(){
    int cont=0,flag ;
    char nome[100] ;

    printf ("\t\t\t\t\tDigite o nome: ");
    scanf("%s",&nome);
    fflush(stdin);
    system("cls");
    flag=0;
    while (cont<= pos){
        if (strcmp(cliente[cont].nome,nome)== 0){
            flag=1;
            
            printf("\t\t\t\t\t------------------------------------------------------------\n");
            printf("\t\t\t\t\t     CLIENTES CADASTRADOS \n");
            printf("\t\t\t\t\t------------------------------------------------------------\n");
            printf("\n\t\t\t\t\tTelefone: ---- %d\n\t\t\t\t\tNome: -------- %s",cliente[cont].telefone,cliente[cont].nome       );
            printf("\n\t\t\t\t\tEndereço: ---- %s\n\t\t\t\t\tcomplemento: - %s",cliente[cont].endereco,cliente[cont].complemento);
            printf("\n\t\t\t\t\tSetor: ------- %s\n\t\t\t\t\tCidade: ------ %s",cliente[cont].setor   ,cliente[cont].cidade     );
            break;
        }
        cont ++ ;
    }
    if(flag==0){
        printf("\t\t\t\t\tNão existe cadastro com esse nome!\n");
    }
    
    printf("\n    Tecle");
    getch();
}
void consulta_telefone(){
    int cont=0 , telefone,flag;
    printf ("\t\t\t\t\tDigite o telefone: ");
    scanf("%d",&telefone);
    fflush(stdin);
    system("cls");
    flag=0;
    while (cont<= pos){
        if (cliente[cont].telefone == telefone){
            if (cliente[cont].vazio == 1){
                printf("\t\t\t\t\t------------------------------------------------------------\n");
                printf("\t\t\t\t\t     CLIENTES CADASTRADOS \n");
                printf("\t\t\t\t\t------------------------------------------------------------\n");
                printf("\n\t\t\t\t\tTelefone: ---- %d\n\t\t\t\t\tNome: -------- %s",cliente[cont].telefone,cliente[cont].nome       );
                printf("\n\t\t\t\t\tEndereço: ---- %s\n\t\t\t\t\tcomplemento: - %s",cliente[cont].endereco,cliente[cont].complemento);
                printf("\n\t\t\t\t\tSetor: ------- %s\n\t\t\t\t\tCidade: ------ %s",cliente[cont].setor   ,cliente[cont].cidade     );
                flag=1;
                break;
            }
        }
        cont ++ ;
    }
    if (flag==0){
        printf("\t\t\t\t\tNão existe cadastro com esse telefone");
    }
    printf("\n  \t\t\t\t\t  Tecle");
    getch();
}

void excluircliente (){
    int tel ,cont,j ;
    char resp  ;
    int flag;
    system("cls");
    flag=0;
    printf("\t\t\t\t\t------------------------------------------------------------\n");
    printf("\t\t\t\t\t     CLIENTES CADASTRADOS \n");
    printf("\t\t\t\t\t------------------------------------------------------------\n");
    for(cont=0;cont<pos;cont++){
         if (cliente[cont].vazio == 1){
                printf("\n\t\t\t\t\tTelefone: ---- %d\n\t\t\t\t\tNome: -------- %s",cliente[cont].telefone,cliente[cont].nome       );
                printf("\n\t\t\t\t\tEndereço: ---- %s\n\t\t\t\t\tcomplemento: - %s",cliente[cont].endereco,cliente[cont].complemento);
                printf("\n\t\t\t\t\tSetor: ------- %s\n\t\t\t\t\tCidade: ------ %s",cliente[cont].setor   ,cliente[cont].cidade     );
                printf("\n\t\t\t\t\t-------------------------------------------------------------------\n"                          );
                flag=1;
        }
     if (flag==0) {
        printf("\t\t\t\t\tNão existe cadastros");
       }
    }
    printf("\n\t\t\t\t\tVerifique o número que deseja excluir e  tecle enter!\n");
    getch();
    system("cls");
    
    printf("\t\t\t\t\tDigite o telefone do cadastro que deseja excluir");
    scanf("%d",&tel);
    fflush(stdin);
    for ( cont =0 ; cont <= pos ;cont++){
        if (cliente[cont].telefone == tel ){
            if (cliente[cont].vazio == 1 ){
                
                printf("\n\t\t\t\t\tTelefone: ---- %d\n\t\t\t\t\tNome: -------- %s",cliente[cont].telefone,cliente[cont].nome       );
                printf("\n\t\t\t\t\tEndereço: ---- %s\n\t\t\t\t\tcomplemento: - %s",cliente[cont].endereco,cliente[cont].complemento);
                printf("\n\t\t\t\t\tSetor: ------- %s\n\t\t\t\t\tCidade: ------ %s",cliente[cont].setor   ,cliente[cont].cidade     );
                printf("\n");
                printf("\n\t\t\t\t\t Deseja exluir esse cadastro? S/N ");
                scanf("%s",&resp);
                if (toupper(resp) == 'S'){/* passa para maiúscula */
                    for(j=cont;j<pos;j++){
                        cliente[j] = cliente[j+1];
                    }
                    pos--;
                    printf("\n\t\t\t\t\t Exclusão feita com sucesso \n ");
                    system("pause");
                }
                else
                    if (toupper(resp) == 'N'){
                        printf("\t\t\t\t\tExclusão  cancelada ! \n ");
                        system("\t\t\t\t\tpause");
                    }
                }
            }
        }
}

void list(){ /*// todos os clientes*/
    int cont,flag;
    system("cls");
    flag=0;
    printf("\t\t\t\t\t------------------------------------------------------------\n");
    printf("\t\t\t\t\t     CLIENTES CADASTRADOS \n");
    printf("\t\t\t\t\t------------------------------------------------------------\n");
    for(cont=0;cont<pos;cont++){
         if (cliente[cont].vazio == 1){
                printf("\n\t\t\t\t\tTelefone: ---- %d\n\t\t\t\t\tNome: -------- %s",cliente[cont].telefone,cliente[cont].nome       );
                printf("\n\t\t\t\t\tEndereço: ---- %s\n\t\t\t\t\tcomplemento: - %s",cliente[cont].endereco,cliente[cont].complemento);
                printf("\n\t\t\t\t\tSetor: ------- %s\n\t\t\t\t\tCidade: ------ %s",cliente[cont].setor   ,cliente[cont].cidade     );
                printf("\n\t\t\t\t\t-------------------------------------------------------------------\n"                          );
                flag=1;
        }
     if (flag==0) {
        printf("\t\t\t\t\tNão existe cadastros");
       }
    }
    printf("\n \t\t\t\t\t   Tecle");
    getch();
}

void altera_tel() {
    int cont=0 , telefone,flag;
    char opc;
    printf ("\t\t\t\t\tDigite o telefone atual: ");
    scanf("%d",&telefone);
    fflush(stdin);
    system("cls");
    flag=0;
    while (cont<= pos){
        if (cliente[cont].telefone == telefone){
            if (cliente[cont].vazio == 1){
                printf("\t\t\t\t\tTelefone Atual: %d ",cliente[cont].telefone);
                printf("\t\t\t\t\tDigite O Novo Telefone ");
                fflush(stdin);
                scanf("%d",&cliente[cont].telefone);
                flag=1;
                printf("\t\t\t\t\tTelefone alterado!");
                break;
            }
        }
        cont ++ ;
    }
    if (flag==0){
        printf("\t\t\t\t\tNão existe cadastro com esse telefone");
    }
     printf("\n \t\t\t\t\t   Tecle");
    getch();
}

void altera_nome() {
     int cont=0,flag ;
    char nome[100] ;
    printf ("\t\t\t\t\tDigite o nome atual : ");
    scanf("%s",&nome);
    fflush(stdin);
    system("cls");
    flag=0;
    while (cont<= pos){
        if (strcmp(cliente[cont].nome,nome)== 0){
            flag=1;
            printf("\t\t\t\t\tNome Atual %s \n",cliente[cont].nome);
            printf("\t\t\t\t\tDigite O Novo Nome: ");
            fflush(stdin);
            scanf("%s",cliente[cont].nome);
            printf("\t\t\t\t\tNome alterado !");
            break;
            
        }
        cont ++ ;
    }
    if(flag==0){
        printf("\t\t\t\t\tNão existe cadastro com esse nome");
    }
     printf("\n \t\t\t\t\t   Tecle");
    getch();
}   
void altera_endereco(){
    int cont=0,flag ,telefone, opc;
    char nome[100] ;
    printf("\n");
    printf("\t\t\t\t\tAltera o Endereço com :\n");
    printf("\t\t\t\t\t-----------------------\n");
    printf("\t\t\t\t\t 1 - Telefone\n");
    printf("\t\t\t\t\t 2 - Nome\n");
    scanf("%d",&opc);
    switch (opc){
        case 1 :
             printf ("\t\t\t\t\tDigite o telefone Atual: ");
             scanf("%d",&telefone);
              fflush(stdin);
              system("cls");
              flag=0;
    while (cont<= pos){
        if (cliente[cont].telefone == telefone){
            if (cliente[cont].vazio == 1){
                printf("\t\t\t\t\t------------------------------------------------------------\n");
                printf("\t\t\t\t\t     Alteração \n");
                printf("\t\t\t\t\t------------------------------------------------------------\n");
                printf("\n\t\t\t\t\tTelefone: %d\n\t\t\t\t\tNome: %s\n",cliente[cont].telefone,cliente[cont].nome     );
                printf("\t\t\t\t\tEndereço:");
                gets(cliente[cont].endereco);
                printf("\t\t\t\t\tComplemento:");
                gets(cliente[cont].complemento);
                printf("\t\t\t\t\tSetor: " );
                gets(cliente[cont].setor );
                printf("\t\t\t\t\tCidade: ------ %s\n",cliente[cont].cidade );
                flag=1;
                printf("\t\t\t\t\tEndereço alterado !");
                break;
            }
        }
        cont ++ ;
    }
    if (flag==0){
        printf("\t\t\t\t\tNão existe cadastro com esse telefone");
    }
            break;
            
            case 2 :
                printf ("\t\t\t\t\tDigite o nome: ");
    scanf("%s",&nome);
    fflush(stdin);
    system("cls");
    flag=0;
    while (cont<= pos){
        if (strcmp(cliente[cont].nome,nome)== 0){
            flag=1;
                printf("\t\t\t\t\t------------------------------------------------------------\n");
                printf("\t\t\t\t\t     Alteração \n");
                printf("\t\t\t\t\t------------------------------------------------------------\n");
                printf("\n\t\t\t\t\tTelefone: %d\n\t\t\t\t\tNome: %s\n",cliente[cont].telefone,cliente[cont].nome     );
                printf("\t\t\t\t\tEndereço:");
                gets(cliente[cont].endereco);
                printf("\t\t\t\t\tComplemento:");
                gets(cliente[cont].complemento);
                printf("\t\t\t\t\tSetor: " );
                gets(cliente[cont].setor );
                printf("\t\t\t\t\tCidade: ------ %s",cliente[cont].cidade );
            break;
        }
        cont ++ ;
    }
    if(flag==0){
        printf("\t\t\t\t\tNão existe cadastro com esse nome");
    }
                break ;
                default :
                    printf("\t\t\t\t\tOpção Invalida");
    }
     printf("\n \t\t\t\t\t   Tecle");
    getch();
}

void cabecalho(){
     printf("\n");
     printf("\t\t\t\t\t------------------------------------------------------------\n");
     printf("\t\t\t\t\t     Altera  valores \n");
     printf("\t\t\t\t\t------------------------------------------------------------\n");
     printf("\n");
}
int Altera_valor_todos (){
    

    cabecalho() ;
    printf("\t\t\t\t\t%d\t",codl);
    printf("%s\t",liqui);
    printf("R$:");
    fflush(stdin);
    scanf("%f",&valorl);
    printf("\t\t\t\t\tAlterado com sucesso");
    getch();
    system("cls");
    
    cabecalho();
    printf("\t\t\t\t\t%d\t",codc);
    printf("%s\t",consi);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valorc);
    printf("\t\t\t\t\tAlterado com sucesso");
    getch();
    system("cls");
    
    cabecalho();
    printf("\t\t\t\t\t%d\t",codn);
    printf("%s\t",nacional);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valorn);
    printf("\t\t\t\t\tAlterado com sucesso");
    getch();
    system("cls");
    
    cabecalho();
    printf("\t\t\t\t\t%d\t",codaguan);
    printf("%s\t",aguanina);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valornina);
    printf("\t\t\t\t\tAlterado com sucesso");
    getch();
    system("cls");
    
    cabecalho();
    printf("\t\t\t\t\t%d\t",codaguag);
    printf("%s\t",aguagold);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valorgold);
    printf("\t\t\t\t\tCadastrado com sucesso");
    getch();
    system("cls");
    
    cabecalho();
    printf("\t\t\t\t\t%d\t",codaguay);
    printf("%s\t",aguaype);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valorype);
    printf("\t\t\t\t\tAlterado com sucesso");
    getch();
    system("cls");
    
    cabecalho();
    printf("\t\t\t\t\t%d\t",codg);
    printf("%s\t",completo);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valorvs);
    printf("\t\t\t\t\tAlterado com sucesso");
    getch();
    system("cls");
    
    cabecalho();
    printf("\t\t\t\t\t%d\t",coda);
    printf("%s\t",agua);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valorvsa);
    printf("\t\t\t\t\tAlterado com sucesso");
    getch();
    system("cls");
    

}
void cabecalho1 (){
    printf("\n");
    printf("\t\t\t\t\t------------------------------------------------------------\n");
    printf("\t\t\t\t\t                    produtos  \n");
    printf("\t\t\t\t\t------------------------------------------------------------\n");
    printf("\t\t\t\t\t------------------------------------------------------------\n");
    printf("\t\t\t\t\tID\t Produto\t Valor\n");
    printf("\t\t\t\t\t------------------------------------------------------------\n");
    printf("\n");    
}
void produtos_cadastrados(){


    cabecalho1 ();
    printf("\t\t\t\t\t%d\t",codl);
    printf("%s\t",liqui);
    printf("R$:%2.2f\n",valorl);
    
    
    printf("\t\t\t\t\t%d\t",codc);
    printf("%s\t",consi);
    printf("R$:%2.2f\n",valorc);
    
    
    printf("\t\t\t\t\t%d\t",codn);
    printf("%s\t",nacional);
    printf("R$:%2.2f\n",valorn);
    
    
    printf("\t\t\t\t\t%d\t",codaguan);
    printf("%s\t",aguanina);
    printf("R$:%2.2f\n",valornina);

    
    printf("\t\t\t\t\t%d\t",codaguag);
    printf("%s\t",aguagold);
    printf("R$:%2.2f\n",valorgold);

    
    printf("\t\t\t\t\t%d\t",codaguay);
    printf("%s\t",aguaype);
    printf("R$:%2.2f\n",valorype);
    
    
    printf("\t\t\t\t\t%d\t",codg);
    printf("%s \t",completo);
    printf("R$:%2.2f\n",valorvs);
    valorgl=valorvs+valorl;
    valorgc=valorvs+valorc;
    valorgn=valorvs+valorn;

    
    printf("\t\t\t\t\t%d\t",coda);
    printf("%s \t",agua);
    printf("R$:%2.2f\n",valorvsa);
    valorvsnina=valorvsa+valornina;
    valorvsgold=valorvsa+valorgold;
    valorvsype =valorvsa+valorype;
    
    
    printf("\n\t\t\t\t\t%d\t",cod_vscg);
    printf("%s\n",vscg);
    printf("\t\t\t\t\t%s \tR$:%2.2f\n",liqui,valorgl);
    printf("\t\t\t\t\t%s \tR$:%2.2f\n",consi,valorgc);
    printf("\t\t\t\t\t%s \tR$:%2.2f\n",nacional,valorgn);
    printf("\n");
    
    
    printf("\n\t\t\t\t\t%d\t",cod_vsca);
    printf("%s\n",vsca);
    printf("\t\t\t\t\t%s \tR$:%2.2f\n",aguanina,valorvsnina);
    printf("\t\t\t\t\t%s \tR$:%2.2f\n",aguagold,valorvsgold);
    printf("\t\t\t\t\t%s \tR$:%2.2f\n",aguaype,valorvsype);

   printf("\n\t\t\t\t\tTecle enter ! \n");
   getch();

}
void Altera_um_produto(){
    int cod ,cont;

do{
    cont==1; 
    produtos_cadastrados();
    
    printf("\t\t\t\t\tDigite o ID do produto que deseja alterar o valor:");
    printf("   ");
    scanf("%d",&cod);

    if (cod==1){
    printf("\t\t\t\t\t%d\t",codl);
    printf("%s\t",liqui);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valorl);
    printf("\t\t\t\t\tAlterado com sucesso!");
    getch();
    system("cls");
}
    
    else if (cod == 2){
    printf("\t\t\t\t\t%d\t",codc);
    printf("%s\t",consi);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valorc);
    printf("\t\t\t\t\tAlterado com sucesso!");
    getch();
    system("cls");
    
}
    
    else if (cod == 3){
    printf("\t\t\t\t\t%d\t",codn);
    printf("%s\t",nacional);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valorn);
    printf("\t\t\t\t\tAlterado com sucesso!");
    getch();
    system("cls");
    
}
    

    
    else if (cod==4){
    printf("\t\t\t\t\t%d\t",codaguan);
    printf("%s\t",aguanina);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valornina);
    printf("\t\t\t\t\tAlterado com sucesso!");
    getch();
    system("cls");
    
}
    
    else if(cod==5){
    printf("\t\t\t\t\t%d\t",codaguag);
    printf("%s\t",aguagold);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valorgold);
    printf("\t\t\t\t\tAlterado com sucesso!");
    getch();
    system("cls");
    
}
    
    else if (cod==6){
    printf("\t\t\t\t\t%d\t",codaguay);
    printf("%s\t",aguaype);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valorype);
    printf("\t\t\t\t\tAlterado com sucesso!");
    getch();
    system("cls");
    
}
   else if ( cod ==7){
       printf("\t\t\t\t\t%d\t",codg);
    printf("%s\t",completo);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valorvs);
    printf("\t\t\t\t\tAlterado com sucesso!");
    getch();
    system("cls");
   }
   
   else if (cod==8){
       printf("\t\t\t\t\t%d\t",coda);
    printf("%s\t",agua);
    fflush(stdin);
    printf("R$:");
    scanf("%f",&valorvsa);
    printf("\t\t\t\t\tAlterado com sucesso!");
    getch();
    system("cls");
   }
    else{
        printf("\t\t\t\t\tID inválido !");
        
    }
}while(cont==1); 

void pedido(){
    produtos_cadastrados();
    int id,contpedido,cont;
    float contp;
    
do{
    cont==1;
    contpedido = contador+1;
    contp = contador+1;
    
    printf("\n Digite o ID do produto !");
    printf("        ");
    scanf("%d",&id);
    fflush(stdin);
    
    if (id==1){
       printf("Quantidade ? ");
       scanf("%d",&quant[contpedido]);
       fflush(stdin);
       valor[contp] = valorl*quant;
       codpedido[contpedido]= contpedido;
       nome_produto[contpedido]= liqui;
       printf("%d\t %s\t %.2f",quant[contpedido], nome_produto[contpedido] ,valor[contpedido]);
       contador=contpedido;
       
    }
}while(cont==1);
}

Editado por albert igo
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@albert igo      nessa função pedido está dando erro por que você colocou a variável contp do tipo float e precisa ser do tipo int,   e você está multiplicando uma variável por um vetor :

void pedido(){
    produtos_cadastrados();
    int id,contpedido,cont;
    int contp;/* indicador de posição no vetor precisa ser um int*/
    do{
        cont=1;
        contpedido = contador+1;
        contp = contador+1;
        printf("\n Digite o ID do produto !");
        printf("        ");
        scanf("%d",&id);
        fflush(stdin);
        if (id==1){
            printf("Quantidade ? ");
            scanf("%d",&quant[contpedido]);
            fflush(stdin);
            valor[contp] = valorl*quant[0];/* para multiplicar precisa informar a posição no vetor */
            codpedido[contpedido]= contpedido;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010  perfeito entendi , porém eu queria que ficasse em um vetor para o nome do produto para criar uma função que mostre todos os pedidos ! 

Essa é a ultima parte do programa , tenho que apresentar dia 18 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@albert igo       a opção 1 do menu principal  não está cadastrando um novo produto, mas sim os dados do cliente, então precisa criar essa função de cadastrar pedidos e depois outra para mostrar os pedidos. então como seria esse pedido ?  o que ele deve armazenar no pedido ? 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010  tem uma função que eu cadastrei os produtos . 

na opção 1 no menu o usuário  cadastra o cliente se tiver cadastro ele já realiza o pedido . 

Minha duvida é o seguinte como faco para coloca o nome do produto , pois o valor e a quantidade já estão na posição pedido . 

Tipo o primeiro pedido tem uma quantidade um produto e um valor o proximo pode ter outro valor .

Dai eu vou criar uma função que mostra todos os pedidos pedido[1 , valor[1] , quant[1] ,nome_produto[1].

tipo lista todos os pedidos , porém eu não consigo chamar a variavel char que declarei com o nome na função pedido . 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguém teria como me ajudar , por favor ! preciso entregar ate amanha isso .

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@albert igo        na sua variável nome_produto precisa colocar a quantidade de caracteres tem nela,

nome_produto[100][30] ;

e colocar a variável contpedido lá no inicio antes da main, e a opção 9 do menu principal 

printf("========================|  9 - Mostrar Pedidos            |=====================");

e dento do switch coloque essa opção 9

case 9:
    mostra_pedidos();
    break;

e sua função de pedidos e mostra_pedidos seria assim  :

void pedido(){
    produtos_cadastrados();
    int id;
    char cont='s';
    do{
        printf("\n Digite o ID do produto !");
        printf("        ");
        fflush(stdin);
        scanf("%d",&id);
        printf("Quantidade ? ");
        fflush(stdin);
        scanf("%d",&quant[contpedido]);
        valor[contpedido]     = valorl*quant[contpedido];
        codpedido[contpedido] = id;
        if (id==1)
            strcpy(nome_produto[contpedido],"liquigas");
        else
            if(id==2)
                 strcpy(nome_produto[contpedido],"ConsiGas");
            else
                if(id==3)
                    strcpy(nome_produto[contpedido],"Nacional Gas");
                else
                    if(id==4)
                        strcpy(nome_produto[contpedido],"Agua Nina");
                    else
                        if(id==5)
                            strcpy(nome_produto[contpedido],"Agua Gold");
                        else
                            if(id==6)
                                strcpy(nome_produto[contpedido],"Agua Ype");
                            else
                                if(id==7)
                                    strcpy(nome_produto[contpedido],"Vasilhame Gas");
                                else
                                    if(id==8)
                                        strcpy(nome_produto[contpedido],"Vasilhame Agua");
                                    else
                                        if(id==9)
                                            strcpy(nome_produto[contpedido],"Vasilhame Com Gas");
                                        else
                                            if(id==10)
                                                strcpy(nome_produto[contpedido],"Vasilhame Com Agua");
        contpedido++;
        printf("Quer Fazer Outro Pedido S/N");
        fflush(stdin);
        scanf("%c",&cont);
        cont=toupper(cont);
    }while(cont != 'N');
}
void mostra_pedidos(){
    int i,j;
    system("cls");
    printf("============  Listando Todos Os Pedidos  ==============\n\n");
    printf("  ID     Valor   Quant    Nome Prod\n\n");
    for(i=0;i<contpedido;i++)
        printf("  %d       %.f       %d        %s\n",codpedido[i],valor[i],quant[i],nome_produto[i]);
    printf("\n\n      Tecle !");
    getch();
}

 

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






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

×