Ir ao conteúdo

Posts recomendados

  • Membro VIP
Postado

OLÁ!

ESCREVI O SEGUINTE PROGRAMA:

#include<stdio.h>

main(void){


char planeta;
float peso;
float peso_novo;
char mercurio, venus, terra, marte, jupter, saturno, urano, netuno, plutao;

printf("Digite o seu peso:");
scanf("%f", &peso);
if(peso>0){
printf("Digite um planeta:");
scanf("%c", planeta);
if(planeta==mercurio||planeta==venus||planeta==terra||planeta==marte||planeta==jupter||planeta==saturno||planeta==urano||planeta==netuno||planeta==plutao){
switch(planeta){
case 'mercurio':
peso_novo=peso*0,378;
break;
case 'venus':
peso_novo=peso*0,907;
break;
case 'terra':
peso_novo=peso*1;
break;
case 'marte':
peso_novo=peso*0,377;
break;
case 'jupter':
peso_novo=peso*2,36;
break;
case 'saturno':
peso_novo=peso*0,916;
break;
case 'urano':
peso_novo=peso*0,889;
break;
case 'netuno':
peso_novo=peso*1,12;
break;
case 'plutao':
peso_novo=peso*0,59*0,1;
break;
}
}
}
printf("O peso no planeta %c e %f.", planeta, peso_novo);

}

DÁ O SEGUINTE WARMING EM TODAS LINHAS DO COMANDO CASE:
[Warning] character constant too long for its type
[Warning] case label value exceeds maximum value for type

NA HORA QUE TENTO EXECUTAR O PROGRAMA TRAVA.

COMO SOLUCIONAR?

Postado

só completando...

a comparação de strings não funciona do mesmo jeito com numeros

com numero é assim:

if(num1 == num2)

{...}

 

com string é assim:

if(strcmp(planeta, "mercurio") ==0 )

{...}

 

o strcmp significa string compare

o primeiro parametro que é a variavel planeta, esta sendo comparado com a string mercurio, se elas forem iguais retorna 0 ou seja, a função strcmp retorna valores -1,ou 0 ou 1, ela retornara -1 se o conteudo(valor) da variavel  planeta for menor que "mercurio", retornará 0 se o conteudo(valor) da variavel planeta for igual a string palavra ou retornará 1 se o conteudo da variavel planeta for maior que mercurio

 

pode se comparar duas variaveis também, é só substituir a string mercurio por um nome de uma variavel

 

para utilizar strcmp você terá que adicionar uma biblioteca

é só escrever #include <string.h> depois do #include <stdio.h> ou antes pois não faz diferença

 

acesse o canal DE ALUNO PARA ALUNO  no youtube para mais informações sobre C, é um canal bem completo

tem o canal G-TECH que também é muito bom

 

 

 

 

 

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!