Ir ao conteúdo

Posts recomendados

Postado

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
Postado

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
Postado

@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
  • 3 semanas depois...
Postado
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
Postado
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
  • 3 semanas depois...
Postado
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

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!