Ir ao conteúdo
  • Cadastre-se

Switch-Case


Posts recomendados

Minha prof me passou varios exercicios mas esses eu tento fazer e não da certo, alguem poderia me ajudar ?

3) Um vendedor precisa de um algoritmo que calcule o preço total devido por um cliente. O algoritmo deve receber o código de um produto e a quantidade comprada e calcular o preço total, usando a tabela abaixo. Mostre uma mensagem no caso de código inválido. Código Preço Unitário 'ABCD' R$ 5,30 'XYPK' R$ 6,00 'KLMP' R$ 3,20 'QRST' R$ 2,50

 

#include <stdio.h>

/* Exercício 3*/
int main(){
    char cod[4];
    int qt;
    float t;
    printf("Digite o codigo do pedido. \n\t");
    scanf("%4s", &cod);
    printf("Digite a quantidade. \n\t");
    scanf("%d",&qt);

    switch (cod[4]) {
    case 'ABCD': t=5.30*qt; printf("O valor total da compra é R$ %.2f", t); break;
    case 'XYPW': t=6.00*qt; printf("O valor total da compra é R$ %.2f", t); break;
    case 'KLMP': t=3.20*qt; printf("O valor total da compra é R$ %.2f", t); break;
    case 'QRST': t=2.50*qt; printf("O valor total da compra é R$ %.2f", t); break;
    default: printf("Codigo invalido. Tente novamente.");
    }
return 0;
}

 

8)Faça um algoritmo que receba o código correspondente ao cargo de um funcionário e seu salário atual e mostre o cargo, o valor do aumento e seu novo salário. Os cargos estão na tabela abaixo. Código Cargo Percentual 1 Escriturário 50% 2 Secretário 35% 3 Caixa 20% 4 Gerente 10% 5 Diretor Não tem aumento

 

#include <stdio.h>

/* Exercício 8*/
int main(){
    int c;
    float sal, perc, total;
    printf("Digie o codigo correspondente ao cargo do funcionario.");
    scanf("%d", &c);
    printf("Digite o salario atual do funcionario.");
    scanf("%f", sal);

    switch (c) {
    case 1: {perc = sal*0.50; total = (sal+perc); printf("Cargo: Escrituario. \n Valor do aumento: R$ %.2f . \n Novo Salario: R$%.2f", perc, total);} break;
    case 2: {perc = sal*0.35; total = (sal+perc); printf("Cargo: Secretario. \n Valor do aumento: R$ %.2f . \n Novo Salario: R$%.2f", perc, total);} break;
    case 3: {perc = sal*0.20; total = (sal+perc); printf("Cargo: Caixa. \n Valor do aumento: R$ %.2f . \n Novo Salario: R$%.2f", perc, total);} break;
    case 4: {perc = sal*0.10; total = (sal+perc); printf("Cargo: Gerente. \n Valor do aumento: R$ %.2f . \n Novo Salario: R$%.2f", perc, total);} break;
    case 5: {printf("Cargo: Diretor. \n Valor do aumento: R$%.2f. \n Nao tem aumento no salario.", sal);} break;
    default: printf("Numero invalido. Tente novamente.");
    }
return 0;
}
 

Nesse ultimo exercício eu executo ele e sempre dá erro.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@Ana Cecília Cavalcante

No exercício 1, o case só suporta inteiros ou char. Você está usando string.

Você deveria usar case 1, case 2, case 3, case 4.

Além disso, o programa não tem adivinhador. Como ele vai testar 'ABCD' por exemplo se isso nunca foi mencionado antes?

Os nomes dos produtos só serão usados na mensagem de saída, para identificar o produto. E não dentro do código, a não ser que você tivesse uma variável nomeProduto.

 

No exercício 2 você já fez o case certo. Usou os códigos de cargo dos funcionários.

Acho que o erro é seu segundo scanf sem o & antes de sal (&sal).

Não identifiquei nada errado além disso.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!