Hello. I am in doubt about this code.
In "case 1", when I run, this appears to me:
Theproblemisthatnoneofthediscountsapply.Ihavetriedotherwaystomountthisoperation,butallofthemresultinanerror.
Nowincase2,Iwantedtoknowifthereisawayto"if (c == 987)" if (c == 0987) ", without any errors regarding the octal base. And, preferably, it has to be the way it is in the code, since it was the way the teacher instructed us to do it initially.
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
int main () {
setlocale(LC_ALL, "Portuguese");
int quant, questoes,codigo;
float preco, valor, calculo, desconto, salario, valor1, valor2, valor3;
char nome_produto;
puts("----- RESOLUÇÃO DE PROBLEMAS -----");
puts("Digite o número da questão desejada:\n1 - Desconto em Produtos\n2 - Códigos de Produtos \n3 - Rejuste de Salário \n4 - Maior valor \n5 - Soma de Valores ");
scanf("%d",&questoes);
switch(questoes){
case 1:
system("cls");
puts("Digite o nome do produto");
scanf(" %[^\n]c ",&nome_produto);
puts ("Digite a quantidade adquirida");
scanf ("%i",&quant);
puts ("Digite o preço do produto");
scanf ("%f",&preco);
if ("quant<=10") {
calculo = preco * quant;
printf ("Seu produto não pode obter desconto. O preço total é de: %.2f",calculo);
}
else if ("quant<=20") {
desconto = preco * quant * 10/100;
calculo=preco*quant-desconto;
printf ("Seu produto obteu um desconto de 10%. O preço total é de: %.2f",calculo);
}
else if ("quant<=50") {
desconto = preco * quant * 20/100;
calculo = preco * quant - desconto;
printf ("Seu produto obteu um desconto de 20%. O preço total é de: %.2f",calculo);
}
else if ("quant>50") {
desconto = preco * quant * 25/100;
calculo = preco * quant - desconto;
printf ("Seu produto obteu um desconto de 25%. O preço total é de: %.2f",calculo);
}
break;
case 2:
system("cls");
puts("Digite o código do produto");
scanf("%i",&codigo);
puts("Digite a quantidade adquirida");
scanf("%i",&quant);
if (codigo==1001) {
calculo=quant*5.32;
printf("O valor total é %.2f",calculo);
}
if (codigo==1324) {
calculo=quant*6.45;
printf("O valor total é %.2f",calculo);
}
if (codigo==6548) {
calculo=quant*2.37;
printf("O valor total é %.2f",calculo);
}
if (codigo==987) {
calculo=quant*5.32;
printf("O valor total é %.2f",calculo);
}
if (codigo==7623) {
calculo=quant*6.45;
printf("O valor total é %.2f",calculo);
}
else
puts("Código Inválido");
break;
case 3:
system("cls");
puts("Digite o código funcional");
scanf("%i",&codigo);
puts("Digite o salário atual do funcionário");
scanf("%f",&salario);
if (codigo==01) {
calculo=salario*1.15;
printf("O salário atual, após o reajute de 15 por cento é de: %.2f. Seu cargo é de operador.",calculo);
}
if (codigo==02) {
calculo=salario*1.1;
printf("O salário atual, após o reajute de 10 por cento é de: %.2f. Seu cargo é de supervisor.",calculo);
}
if (codigo==03) {
calculo=salario*1.05;
printf("O salário atual, após o reajute de 5 por cento é de: %.2f. Seu cargo é de gerente.",calculo);
}
if (codigo==04) {
printf("O salário atual é de: %.2f. Seu cargo é de diretor.",salario);
}
else
puts("Código Inválido");
break;
case 4:
system("cls");
puts("Entre com o primeiro valor");
scanf("%f",&valor1);
puts("Entre com o segundo valor");
scanf("%f",&valor2);
puts("Entre com o terceiro valor");
scanf("%f",&valor3);
if (valor1>valor2, valor1>valor3) {
puts("O primeiro valor é maior");
}
else if (valor2>valor1, valor2>valor3) {
puts("O segundo valor é maior");
}
else if (valor3>valor1, valor3>valor2) {
puts("O terceiro valor é maior");
}
else
puts("Os valores são iguais");
break;
case 5:
system("cls");
puts("Entre com o primeiro valor");
scanf("%f",&valor1);
puts("Entre com o segundo valor");
scanf("%f",&valor2);
puts("Entre com o terceiro valor");
scanf("%f",&valor3);
if (valor1>valor3, valor2>valor3) {
calculo=valor1+valor2;
printf("%.0f + %.0f = %.0f",valor1,valor2,calculo);
}
else if (valor1>valor2, valor3>valor2) {
calculo=valor1+valor3;
printf("%.0f + %.0f = %.0f",valor1,valor3,calculo);
}
else if (valor3>valor1, valor2>valor1) {
calculo=valor2+valor3;
printf("%.0f + %.0f = %.0f",valor2,valor3,calculo);
}
else
puts("Os valores são iguais");
break;
default:
puts ("Opção Inválida");
}
}
To make it clear, all of this is part of academic issues. I am learning now. I will leave the command corresponding to case 1 below:
Case 1
Make a program that reads the name of a product, the price, and the quantity purchased. Type the name of the product purchased and the total amount to be paid, considering that discounts are offered by the number of units purchased, according to data below:
-
Up to 10 units - total value
-
From 11 to 20 units - 10% off
-
From 21 to 50 units - 20% off
-
Over 50 units - 25% off