Não é possível fazer a comparação, ou utilizar qualquer valor do tipo char na estrutura condicional do C?

1 resposta
L

Olá a todos! :grinning: estou com um problema que parece simples porem é extremamente complexo. Então vamos lá: No java, e mesmo em outras linguagens o mesmo não ocorre.
Vejam o enunciado.

Em uma loja e CD´s existem apenas quatro tipos de preços que estão
associados a cores. Assim os CD´s que ficam na loja não são marcados por
preços e sim por cores. Desenvolva o algoritmo que a partir a entrada da cor
o software mostre o preço. A loja está atualmente com a seguinte tabela de
preços.
Cor Preço
Verde R$ 10,00
Azul R$ 20,00
Amarelo R$ 30,00
Vermelho R$ 40,00
Compreenderam o enunciado?
Agora vejam o que eu estou fazendo:

#include<stdio.h>

#include<stdlib.h>

#include<locale.h>

char cd[20];

main(){

setlocale(LC_ALL,portuguese);

printf("Olá seja bem-vindo! Qual a cor do CD? ");

gets(cd);

if(cd==verde){

printf(Valor R$ 10,00);

}

else

if(cd==azul){

printf(Valor R$ 20,00);

}

else

if(cd==amarelo){

printf(Valor R$ 20,00);

}

else

if(cd==vermelho){

printf(Valor R$ 20,00);

}

system(Pause);

}
Conversando com o professor responsável o mesmo explicou por exemplo:

#include<stdio.h>

#include<stdlib.h>

#include<locale.h>

char cd;

int preco;

main(){

setlocale(LC_ALL,“portuguese”);

printf(“Olá seja bem-vindo! Qual a cor do CD? Onde v=verde, a=azul, r=amarelo e e=vermelho:  );

scanf(”%s”,&cd);

if(cd==‘v’){

preco=10;

}

else

if(cd==a){

preco=20;

}

else

if(cd==r){

preco=30;

}

else

if(cd==e){

preco=40;

}

printf(O valor do cd é: %d \n,preco);

system(Pause);

}

O segundo exemplo é conforme a explicação do professor esse roda perfeito, ele informou tbm sobre o metodo correto para resolver isso, que há uma função no C, mas ele ainda vai explicar. Então resumindo, eu quero fazer o exercício do modo correto com a função correta e agradeço muito quem dispor a explicar.

1 Resposta

I

A linguagem C tem várias bibliotecas. Uma delas destina-se a fazer a comparação de strings. O post “Como comparar Strings em C?” publicado aqui mesmo do fórum tem muito a te oferecer.

Criado 12 de maio de 2020
Ultima resposta 12 de mai. de 2020
Respostas 1
Participantes 2