Ir ao conteúdo

Posts recomendados

Postado

Boa tarde pessoal,eu estou com uma duvida de programação,estou estudando para uma prova de programação em dev que fiquei de exame e o professor pediu para fazer um programa com essa questão seguinte: Deseja-se armazenar de uma empresa que trabalha com vendas de veículos os dados de 10 veículos,o nome da fabrica,nome do modelo,cor,o ano,a placa e o valor do veiculo.

a)Imprima um relatório com os 10 veiculos

b)Venda todos os veículos para uma unica pessoa a vista e de 20% de desconto no valor total.

c)A empresa adquiriu mais 10 veiculos usados,faça o cadastro e imprima um relatorio com as 10 novas aquisições.

d)Calcular quanto tempo de vida possui o automóvel.Imprima os veiculos que tem mais de tres anos de uso e que sao de cor branca.

 

Eu tentei fazer boa parte da questao com esse algoritmo seguinte mas nao deu certo necessito de ajuda para fazer o codigo dessa questão.

 

#include <stdio.h>
#include <stdlib.h>
#define DIM 1
#define MAX 10
struct carros{
    char nome_fab[40],nome_mod[40],placa[5],usado[10];
    int ano;
    float valor_carro;
};
main(){
float media=0,media2=0,media3=0;
int i;
struct carros carros[DIM];

for(i=0;i<DIM;i++){

printf("digite o nome da fabrica: ");
fflush(stdin);
fgets(carros.nome_fab,40,stdin);

printf("digite o nome do modelo: ");
fflush(stdin);
fgets(carros.nome_mod,40,stdin);

printf("digite o ano: ");
fflush(stdin);
scanf("i",carros.ano);

printf("digite a placa do carro: ");
fflush(stdin);
fgets(carros.placa,5,stdin);


printf("digite o valor do carro: ");
fflush(stdin);
scanf("%f",&carros.valor_carro);


}
printf("\n");

for(i=0;i<DIM;i++){
printf("Fabrica:       %s",carros.nome_fab);
printf("modelo:         %s",carros.nome_mod);
printf("ano:             %i\n",carros.ano);
printf("placa:             %s\n",carros.placa);
printf("Valor do carro:      %f\n",carros.valor_carro)
             ;
             }
for(i=0;i<DIM;i++){
media=media + carros.valor_carro;
media2=media*0.2;
media3=media - media2;

}

printf("%f",media3);

for(i=0;i<MAX;i++){
printf("digite o nome do veiculo usado");
fflush(stdin);
fgets(carros.usado,10,stdin);
}


system("pause");
return 0;
}
 

 

 

 

  • Curtir 1
Postado

@Matheus Moraes Tomi    seu código está bom, é por aí mesmo, o erro que tem é por que você não colocou em qual posição do struct você está cadastrando , pois lá na declaração do struct você colocou que teria DIM posições, então na hora de fazer os cadastros precisa informar a posição, e a media não foi pedida , então não precisa .

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

#include <stdio.h>
#include <stdlib.h>
#define DIM 1
#define MAX 10
struct carros{
    char nome_fab[40],nome_mod[40],placa[5],usado[10],cor[40];
    int ano;
    float valor_carro;
};
int main(){
    float media=0,media2=0,media3=0;
    int i;
    struct carros carros[DIM];
    for(i=0;i<DIM;i++){
        printf("digite o nome da fabrica: ");
        fflush(stdin);
        gets(carros[i].nome_fab);
        printf("digite o nome do modelo: ");
        fflush(stdin);
        gets(carros[i].nome_mod);
        printf("Digite A Cor ");
        gets(carros[i].cor);
        printf("digite o ano: ");
        fflush(stdin);
        scanf("%i",&carros[i].ano);/*esqueceu o % */
        printf("digite a placa do carro: ");
        fflush(stdin);
        gets(carros[i].placa);
        printf("digite o valor do carro: ");
        fflush(stdin);
        scanf("%f",&carros[i].valor_carro);
    }
    printf("\n");
    for(i=0;i<DIM;i++){
        printf("Fabrica: ---------> %s\n"      ,carros[i].nome_fab   );
        printf("modelo: ----------> %s\n"      ,carros[i].nome_mod   );
        printf("Cor --------------> %s\n"      ,carros[i].cor        );
        printf("ano: -------------> %i\n"      ,carros[i].ano        );
        printf("placa: -----------> %s\n"      ,carros[i].placa      );
        printf("Valor do carro: --> R$%.2f\n\n",carros[i].valor_carro);
    }
    /*for(i=0;i<DIM;i++){
        media=media + carros[i].valor_carro;
        media2=media*0.2;
        media3=media - media2;
    }
    printf("%.2f\n",media3);*/
    for(i=0;i<DIM;i++){
        printf("digite o nome do veiculo usado");
        fflush(stdin);
        gets(carros[i].usado);
    }
    system("pause");
    return 0;
}

 

  • Curtir 1
Postado
15 horas atrás, devair1010 disse:

@Matheus Moraes Tomi    seu código está bom, é por aí mesmo, o erro que tem é por que você não colocou em qual posição do struct você está cadastrando , pois lá na declaração do struct você colocou que teria DIM posições, então na hora de fazer os cadastros precisa informar a posição, e a media não foi pedida , então não precisa .

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


#include <stdio.h>
#include <stdlib.h>
#define DIM 1
#define MAX 10
struct carros{
    char nome_fab[40],nome_mod[40],placa[5],usado[10],cor[40];
    int ano;
    float valor_carro;
};
int main(){
    float media=0,media2=0,media3=0;
    int i;
    struct carros carros[DIM];
    for(i=0;i<DIM;i++){
        printf("digite o nome da fabrica: ");
        fflush(stdin);
        gets(carros[i].nome_fab);
        printf("digite o nome do modelo: ");
        fflush(stdin);
        gets(carros[i].nome_mod);
        printf("Digite A Cor ");
        gets(carros[i].cor);
        printf("digite o ano: ");
        fflush(stdin);
        scanf("%i",&carros[i].ano);/*esqueceu o % */
        printf("digite a placa do carro: ");
        fflush(stdin);
        gets(carros[i].placa);
        printf("digite o valor do carro: ");
        fflush(stdin);
        scanf("%f",&carros[i].valor_carro);
    }
    printf("\n");
    for(i=0;i<DIM;i++){
        printf("Fabrica: ---------> %s\n"      ,carros[i].nome_fab   );
        printf("modelo: ----------> %s\n"      ,carros[i].nome_mod   );
        printf("Cor --------------> %s\n"      ,carros[i].cor        );
        printf("ano: -------------> %i\n"      ,carros[i].ano        );
        printf("placa: -----------> %s\n"      ,carros[i].placa      );
        printf("Valor do carro: --> R$%.2f\n\n",carros[i].valor_carro);
    }
    /*for(i=0;i<DIM;i++){
        media=media + carros[i].valor_carro;
        media2=media*0.2;
        media3=media - media2;
    }
    printf("%.2f\n",media3);*/
    for(i=0;i<DIM;i++){
        printf("digite o nome do veiculo usado");
        fflush(stdin);
        gets(carros[i].usado);
    }
    system("pause");
    return 0;
}

 

Funcionou,muito obrigado pela ajuda.

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!