Home › Fóruns › Linguagem C › M03A07 – Exercício 26
- Este tópico contém 3 respostas, 4 vozes e foi atualizado pela última vez 1 ano, 7 meses atrás por Tutora Jessica.
-
AutorPosts
-
-
16 de fevereiro de 2022 às 12:42 #86547Gabriel DesmaraisParticipante
Olá!
Estava resolvendo o exercício 26 e encontrei alguns problemas.Meu código:
#include <stdio.h>
#include <locale.h>
#include <string.h>
int main() {
setlocale(0, “Portuguese”);
char estado[2];
printf(“Em que estado do Brasil você nasceu? “);
gets(estado);
strupr(estado);
if (estado==”SP”) {
printf(“Nascendo em %s você é PAULISTA”, estado);
}
else if (estado==”RJ”) {
printf(“Nascendo em %s você é CARIOCA”, estado);
}
else {
printf(“Nascendo em %s você é natural do seu estado, mas ainda não sei como te chamar”, estado);
}
return 0;
}Entrada que eu utilizei para teste foi: rj
A saída foi: Nascendo em RJ você é natural do seu estado, mas ainda não sei como te chamar
Imagino que o problema possa ser nas condições do if e do else if, nenhuma delas está retornando o valor lógico que deveria. -
21 de fevereiro de 2022 às 09:17 #86859Tutora TaináMestre
Gabriel, o seu código pode estar dando erro pois nas linhas com if você está tentando comparar uma string com a outra usando o ==, mas o recomendado é utilizar o strcmp.
Nesse link tem o tutorial de como utilizar o strcmp.
Espero ter ajudado, qualquer dúvida estamos à disposição. 🖖
-
13 de abril de 2023 às 15:44 #113903Matheus SoaresParticipante
Boa tarde. Gostaria de saber qual foi o erro que eu deixei passar neste codigo.
Quando executado com: “else if (st!=rj && st!=sp && st!=mg && st!=pr && st!=sc && st!=ba) {}”
ele retorna apenas esa condicional, porém, se eu a retiro do código, as outras estruturas não são executadas, como se não existissem. Creio que seja o “==” entre duas variaveis char, mas n tenho certeza. Como eu soluciono este erro?
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <locale.h>void main () {
setlocale(LC_ALL, “Portuguese”);
char st[2];
char rj = “RJ”;
char sp = “SP”;
char ba = “BA”;
char mg = “MG”;
char sc = “SC”;
char pr = “PR”;
printf(“Em qual estado do Brasil você nasceu? “);
gets(st);
if (st==rj) {
printf(“Nascendo no %s você é Carioca!”, st);
} else if (st==sp) {
printf(“Nascendo em %s você é Paulista!”, st);
} else if (st==mg) {
printf(“Nascendo em %s você é Mineiro!”, st);
} else if (st==ba) {
printf(“Nascendo em %s você é Bahiano!”, st);
} else if (st==pr) {
printf(“Nascendo em %s você é Paranaense!”, st);
} else if (st==sc) {
printf(“Nascendo em %s você é Catarinense!”, st);
} else if (st!=rj && st!=sp && st!=mg && st!=pr && st!=sc && st!=ba) {}
} -
13 de abril de 2023 às 18:25 #113907Tutora JessicaModerador
Ola Matheus, trouxe a sua dúvida para uma já existente desse mesmo exercício.
Veja se essa resolução irá resolver o seu erro, caso não funcione retorne ao fórum que iremos lhe ajudar.
Ah.. no fórum há outros tópicos desse mesmo exercício também.
Bons estudos 🖖
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.