Ir ao conteúdo
  • Cadastre-se
Gabi Nakamoto

C++ Questão sobre um software

Posts recomendados

Olá, gente. Eu sou novata em programação, e tem uma questão que eu não estou conseguindo ver se está certa, pois o Dev-C++ fecha sempre que eu vou depurar/compilar.

A questão é essa: O custo ao consumidor de um carro novo é a soma do custo de fábrica com a percentagem do distribuidor e dos impostos (aplicados ao custo de fábrica). Supondo que a percentagem do distribuidor seja de 28% e os impostos de 45% escrever um programa que leia o custo de fábrica de um carro e escreva o custo do consumidor.

 

O que eu fiz foi isso (como eu to no 1 Semestre ainda, e a gente ta em quarentena, o professor não chegou a fazer a prática de programação, só passou os exercícios e uns slides. Então desculpa se estiver muitas partes erradas, é minha primeira vez)

#include <stdlib.h>
#include <stdio.h>
  int main(void)
  {
  	float to, imp, dist, cfab;
  printf("Programa: Custo do Consumidor");
  printf("Isira o custo de fábrica do carro: ");
  scanf(%f, %cfab);
  imp = (45 * cfab)/100;
  scanf(%f, &imp);
  dist = (28 * cfab)/100;
  scanf(%f, &dist);
  to = (cfab + imp + dist);
  printf("O custo total do consumidor é: %.2\n\n", to);
  system("pause");
  return 0;
  } 

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
scanf(%f, %cfab);

use &cfab e não %

  • Obrigado 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

 

Você tem um livro-texto? Qual é? Todo curso adota um. Um manual? Seu professor não ensinou nenhuma maneira de ler a dcoumentação? 

 

Teve alguma orientação sobre constantes? literais, variáveis?

 

Que pretendia nesse trecho?

  scanf(%f, %cfab);
  imp = (45 * cfab)/100;
  scanf(%f, &imp);

Acabou de fazer um cáclulo em imp e chama scanf() passando a mesma variável...

 

Essa é a declaração de scanf()
 

int scanf(const char *format, ...);

Como está nos manuais on-line pode ver em https://www.tutorialspoint.com/c_standard_library/c_function_scanf.htm por exemplo

 

const char* é uma constante, uma string, algo assim: "coisa". Entre aspas. Então você escreveria

 

scanf("%f", %um_float);

 

Ou como nesse trecho

float        um_float = 0.;
const char*  fmt_scanf = "%f";

int n = scanf(fmt_scanf, &um_float);

if ( n == 1 )
  printf("scanf() leu algo. valor = %f\n,",  um_float);
else 
  printf("scanf() nao leu nada. Erro...\n,");

 

 

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Gabi Nakamoto Procure dar nomes mais sugestivos à suas variáveis, isso facilita a leitura do código. Além disso é uma boa prática de programação inicializar as suas variáveis, isso previne erros relacionados com lixo de memória. E só mais um detalhe, quando for imprimir algo com o printf, coloque um \n no final da string, para que o que vier a seguir seja impresso na linha de baixo (a não ser que você queira que seja impresso na mesma linha, claro).

 

Com algumas organizações no seu código, ele poderia ficar assim:

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

int main() {
    float custoFabricacao = 0.0;
    float custoTotal = 0.0;
    float valorImposto = 0.0;
    float valorDistribuidor = 0.0;

    printf("Programa: Custo do Consumidor \n");
    printf("Insira o custo de fábrica do carro: ");
    scanf(" %f%*c", &custoFabricacao);

    valorImposto = custoFabricacao * 45 / 100;
    valorDistribuidor = custoFabricacao * 28 / 100;

    custoTotal = (custoFabricacao + valorImposto + valorDistribuidor);
    printf("O custo total do consumidor é: %.2f \n\n", custoTotal);

    return EXIT_SUCCESS;
}

 

  • Amei 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 05/04/2020 às 23:03, arfneto disse:

Olá

 

Você tem um livro-texto? Qual é? Todo curso adota um. Um manual? Seu professor não ensinou nenhuma maneira de ler a dcoumentação? 

 

Teve alguma orientação sobre constantes? literais, variáveis?

 

Que pretendia nesse trecho?


  scanf(%f, %cfab);
  imp = (45 * cfab)/100;
  scanf(%f, &imp);

Acabou de fazer um cáclulo em imp e chama scanf() passando a mesma variável...

 

Essa é a declaração de scanf()
 


int scanf(const char *format, ...);

Como está nos manuais on-line pode ver em https://www.tutorialspoint.com/c_standard_library/c_function_scanf.htm por exemplo

 

const char* é uma constante, uma string, algo assim: "coisa". Entre aspas. Então você escreveria

 

scanf("%f", %um_float);

 

Ou como nesse trecho


float        um_float = 0.;
const char*  fmt_scanf = "%f";

int n = scanf(fmt_scanf, &um_float);

if ( n == 1 )
  printf("scanf() leu algo. valor = %f\n,",  um_float);
else 
  printf("scanf() nao leu nada. Erro...\n,");

 

 

 

A gente tem um só que eu não consegui pegar na faculdade, pois ela fechou no dia seguinte de ele dizer. Por enquanto eu estou usando um chamado "Algoritmos e programação em Linguaguem C", publicado na/pela Editora UniRitter.

Eu não cheguei a ter muita orientação sobre as variaveis além dos pdf que ele disponibilizou (to tentando aprender por conta própria o resto).

Sobre o código, eu meio que consigui executar ele depois de fazer algumas modificações e ele está funcionando normalmente. Comparado com uns tempos atrás, eu noteis os erros (tipo a porcentagem em "%cfab", ao invés de um "&"), e atualmente estou entendendo melhor :) 
Obrigada pela orientação no código

adicionado 3 minutos depois

@AdrianoSiqueira

Em 06/04/2020 às 12:18, AdrianoSiqueira disse:

@Gabi Nakamoto Procure dar nomes mais sugestivos à suas variáveis, isso facilita a leitura do código. Além disso é uma boa prática de programação inicializar as suas variáveis, isso previne erros relacionados com lixo de memória. E só mais um detalhe, quando for imprimir algo com o printf, coloque um \n no final da string, para que o que vier a seguir seja impresso na linha de baixo (a não ser que você queira que seja impresso na mesma linha, claro).

 

Com algumas organizações no seu código, ele poderia ficar assim:


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

int main() {
    float custoFabricacao = 0.0;
    float custoTotal = 0.0;
    float valorImposto = 0.0;
    float valorDistribuidor = 0.0;

    printf("Programa: Custo do Consumidor \n");
    printf("Insira o custo de fábrica do carro: ");
    scanf(" %f%*c", &custoFabricacao);

    valorImposto = custoFabricacao * 45 / 100;
    valorDistribuidor = custoFabricacao * 28 / 100;

    custoTotal = (custoFabricacao + valorImposto + valorDistribuidor);
    printf("O custo total do consumidor é: %.2f \n\n", custoTotal);

    return EXIT_SUCCESS;
}

 

Olá! Eu consegui fazer o código após ter ajeitado algumas coisas nele, mas ainda assim, obrigada pela orientação :)

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
6 minutos atrás, Gabi Nakamoto disse:

A gente tem um só que eu não consegui pegar na faculdade, pois ela fechou no dia seguinte de ele dizer. Por enquanto eu estou usando um chamado "Algoritmos e programação em Linguaguem C", publicado na/pela Editora UniRitter.

Eu não cheguei a ter muita orientação sobre as variaveis além dos pdf que ele disponibilizou (to tentando aprender por conta própria o resto)

 

 

Muito bom que tem um livro texto. Pena que não conseguiu por as mãos nele.

 

Em geral as universidades assinam serviços de biblioteca virtual, e os alunos recebem um código de acesso e podem ler livros no modo digital

Sua escola não tem isso será?

Você mesma pode assinar serviços como o Safari Books Online em https://www.oreilly.com/ que provavelmente é o maior do mundo

  • Curtir 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 21/04/2020 às 23:19, arfneto disse:

 

 

Muito bom que tem um livro texto. Pena que não conseguiu por as mãos nele.

 

Em geral as universidades assinam serviços de biblioteca virtual, e os alunos recebem um código de acesso e podem ler livros no modo digital

Sua escola não tem isso será?

Você mesma pode assinar serviços como o Safari Books Online em https://www.oreilly.com/ que provavelmente é o maior do mundo

A minha só foi ter uma biblioteca digital recentemente, até semana passada só dava para ver quais livros tinham na biblioteca física. Obrigada pela ajuda :)

  • 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

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

×
×
  • Criar novo...

 

javaweb-popup.jpg

CURSO ONLINE DE PROGRAMAÇÃO
FULL STACK

Entre para o mercado que paga mais de R$ 12.000 por mês e não tem crise!

CLIQUE AQUI E INSCREVA-SE AGORA MESMO!