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 código precisa de alterações ?

Recommended Posts

Olá , gostaria da ajuda de vocês !

Estou desenvolvendo um programa e possui um erro quando eu procuro pelo nome , se o cliente tiver mais cadastro no mesmo nome , porém com telefone diferente ,aparece somente um nome , eu queria que aparecesse todos os nomes pesquisados mesmo que tiver vários endereços com esse nome mas com telefones diferentes .

É a minha duvida e a seguinte , eu tenho que realiza o pedido porém o valor desses produtos eu coloquei em uma função sem ser a principal , porém , não estou sabendo como chamar o valor dos produtos para o pedido .

Desde já agradeço a ajuda . Obrigado 

Segue o código abaixo .

O erro esta na função "consulta_nome()";

Minha duvida está na função" int  valorproduto ()";

Nessa eu quero saber como eu posso pegar os valores dessa função para colocar no pedido.

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

#define DBASE 200 /*!< Tamanho do vetor */

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;
 } ;


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 valorproduto ();

struct cadastro cliente[ DBASE ]; /* Definir tamanho do Vetor */
int main () {
    setlocale(LC_ALL,"portuguese");
    int opcao ,telefonecliente,retorno,posicao,consultacliente;
    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 - Alterar valor dos 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");
              system("pause");
        }
        
        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 ( opcao==5){
            valorproduto ();
        }
      
            
            
    }while (opcao != 8); //Diferente de 8

  return 0; 
  
}

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");
  
    for (cont=0 ;cont <= 200 ;cont++){
        if (cliente[cont].nome != nome);
        {
            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].nome != nome){ 
            printf("Não existe cadastro com esse nome ");
        }
        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  valorproduto (){
    
    int cod;

    float  liquigas , float  gasnacional ,  float aguagold ,  float aguaype;

    do{
    printf("  Altera o valor dos produtos \n ");
    printf("Valor do Liquigás:");
    scanf ("%f",&liquigas);
    printf("Valor do gás Nacional: ");
    scanf("%f",&gasnacional);
    printf("Valor da água Gold:");
    scanf("%f",&aguagold);
    printf("Valor da água Ypê:");
    scanf("%f",&aguaype);
    system("cls");
    printf("Valores alterados com sucesso ! \n");
    printf("Liquigás = %2.2f\n",liquigas);
    printf("Gás Nacional = %2.2f\n",gasnacional);
    printf("Água Gold = %2.2f\n",aguagold);
    printf("Água Ypê = %2.2f\n",aguaype);
    printf("Valores conferidos? Se corretos digite 1 se nao aguarde... \n");
     scanf ("%d",&cod); 
 }while (cod!=1);
     system ("cls");
}

 

Editado por Simon Viegas
Inserir tag CODE

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, Amigo, edite seu post, logo em cima tem os simbolos "<>" clique e cole seu código, assim fica fácil do pessoal entender e organiza seu post, abraço!

  • 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






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

×