Ir ao conteúdo
  • Cadastre-se

C++ programação em dev c ++


Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

@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
Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

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...