Ir ao conteúdo
  • Cadastre-se
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);
}

 

  • 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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×