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:  
Deivison Souza

C programa em c que manipula estrutura cliente

Recommended Posts

pessoal eu to fazendo um exercicio da faculdade e me deparei com uma dificuldade na escrita do codigo

abaixo segue o codigo e uma anexo com o problema a se resolver...

 

 

#include <cstdio> //permite os comandos scanf, printf
#include <cstdlib>
struct Cliente{
    char nome;
    int num_compras;
    float total_gastos;
};


int calcula_cliente(float g, char n[100]){
        int var;
        if (g > 1000){
            printf("O Cliente %s Atingiu o Limite de Gastos!\n\n", n);
            var = 1;
           var = ++var;
           
        }
    return var;
}

int main(){
    Cliente cliente;
    char nomes[100][100];
    float gastos[2];
    int compras[2];

    for(int i=0; i <= 100; i++){
         if(i==3){
break; 
/*Se a variável 'button' for igual a 27, o laço será interrompido e código proseguirá...*/ 
}
        printf("Digite o Nome do Cliente %d:\n ", i );
        scanf("%s", &nomes);

        printf("Digite o Total de gastos do Cliente %d: \n ",i);
        scanf("%f", &gastos);

        cliente.total_gastos = cliente.total_gastos + gastos;

        printf("Digite o Numero de Compras do Cliente %d: \n ",i);
        scanf("%d", &compras);

        cliente.num_compras = cliente.num_compras + compras;

        system("cls");
    }
  printf("----------RELATORIO DE CLIENTES----------\n");

 for(int i=1; i <= 100; i++){
    nomes = calcula_cliente(gastos,nomes);
    }
    printf("___________________________________________\n\n");
    printf("\nTotal de Clientes com Limite Estourado: %d", &cliente.nome);
    printf("\nTotal de Compras: %d", &cliente.num_compras);
    printf("\nTotal Gasto: %.2f\n", &cliente.total_gastos);

}

 

 

exercicio:

image.png.f0436e7ccfd1bd25651602623f40905d.pngimage.png.f0436e7ccfd1bd25651602623f40905d.png

 

 

erro devc++

image.thumb.png.8091e587f7f78de4961b89de8217b3bc.png

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está atribuindo à string nomes uma função que retorna um valor inteiro. Esse tipo de atribuição não vai funcionar pelo fato de você estar atribuindo um número para toda a linha i da matriz, a não ser que use nomes[0] ou outro índice no lugar de 0.

  • Amei 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Deivison Souza    realmente o @iHollyZinhO    tem razão ,   e existe outros erros como  no printf você colocou o caractere &  e também %d para imprimir string  ,  não entendi bem sua ideia qual era da lógica do programa , então apenas arrumei ele para compilar e agora ele está rodando , mas não sei se  o resultado seja o que você quer .    e para postar seu código você precisa usar o botão  <>  que está lá na barra de ferramentas da janela de responder, pois sem ele seu código ficou faltando alguns caracteres como os  [ i ]  que sumiram .   então seu código com algumas modificações ficou assim  :

#include <cstdio> //permite os comandos scanf, printf
#include <cstdlib>
#include <conio.h>
struct Cliente{
    char nome[30];
    int num_compras;
    float total_gastos;
};
int calcula_cliente(float g, char n[100]){
    int var;
    if(g > 1000){
        printf("O Cliente %s Atingiu o Limite de Gastos!\n\n", n);
        var = 1;
        var = ++var;
    }
    return var;
}
int main(){
    Cliente cliente[100];
    char nomes[100][100];
    int nom[100];
    float gastos[2];
    int compras[2];
    for(int i=0; i < 100; i++){
        if(i==3){
            break;
            /*Se a variável 'button' for igual a 27, o laço será interrompido e código proseguirá...*/
        }
        printf("Digite o Nome do Cliente %d:\n ", i );
        scanf("%s", &cliente[i].nome);
        printf("Digite o Total de gastos do Cliente %d: \n ",i);
        scanf("%f", &gastos[i]);
        cliente[i].total_gastos += gastos[i];
        printf("Digite o Numero de Compras do Cliente %d: ",i);
        scanf("%d", &compras[i]);
        cliente[i].num_compras=0;
        cliente[i].num_compras += compras[i];
        system("cls");
    }
    printf("----------RELATORIO DE CLIENTES----------\n");
    for(int i=1; i <= 100; i++){
        nom[i] = calcula_cliente(gastos[i],nomes[i]);
    }
    printf("___________________________________________\n\n");
    printf("\nTotal de Clientes com Limite Estourado: %s", &cliente[0].nome);
    printf("\nTotal de Compras: %d",cliente[0].num_compras);
    printf("\nTotal Gasto: %.2f\n", cliente[0].total_gastos);
}

 

Editado por devair1010
  • Amei 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

×