Doubt about code in C

0

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

  • asked by anonymous 13.05.2017 / 14:51

    2 answers

    0

    Case 1

    You have to press the message to enter the name on the screen. Then use the scanf to receive the result. Then press the message to enter the price on the screen. Then use scanf to get the result.

    Case 2

    First thing you should do that will help you and help others read your code is to put understandable names in your variables. Names like a, x, y, z do not help at all to understand what is happening. Put names like "product," "quantity," "price."

    Well, in case two I will not solve for you because it is an academic question, but I will give you the steps to solve the question:

    1- Ask the user to enter the product code and receive the value 2. Ask him to enter the amount and receive the amount 3- Make a switch to get the price of the product he chose, just the price. You do not need to put the IFS inside the switch otherwise you will be repeating code. Something like this:

    double preco;
    
    switch(codigo) {
    
        case 1001:
            preco = 5.32;
    
    E ASSIM POR DIANTE....
    

    4- Next, create the quantity check. If it is up to ten it takes the quantity and multiplies by the price, if it is from 11 to twenty it does amount times prices less 20% and so on.

    Well I hope you can solve it but it is very important that you resolve it yourself because it will help you immensely in the future.

        
    13.05.2017 / 16:18
    0

    One tip for you to solve this problem is to determine a variable for unit and price.

    Example:

    float quantidade = 0;
    float preco = 0;
    

    So,

    You take the product code, check the price of the product and increase this value at the variable price, and increase the quantity by 1.

    In the end, just check.

        
    13.05.2017 / 19:09