Duda c++
#include
using namespace std;
int main (){
int N;
cin>>N;

if (N==61) {
cout << "Brasilia";
}
if (N==71) {
cout << "Salvador";
}
if (N==11) {
cout << "Sao Paulo";
}
if (N==21) {
cout << "Rio de Janeiro";
}
if (N==19) {
cout << "Campinas";
}
if (N==32) {
cout << "Juiz de Fora";
}
if (N==27) {
cout << "Vitoria";
}
if (N==31) {
cout << "Belo Horizonte";
}
else {
cout <<"LD no encontrada";
}
return 0;
Hice un código para realizar el problema de las fotos pero cuando puse el cout, se envía aunque sea uno de los números de la lada y no se porque, ayudaaaaa.

Adjuntos:

Respuestas

Respuesta dada por: jaimitoM
4

Solo tienes que anidar los if para que no se ejecuten todos. El else que adjuntas solo esta asociado al ultimo if. Te adjunto el código corregido:

#include <iostream>

using namespace std;

int main (){

int N;

cin>>N;

if (N==61) {

cout <<"Brasilia";

}else if (N==71) {

cout << "Salvador";

}else if (N==11) {

cout << "Sao Paulo";

} else if (N==21) {

cout << "Rio de Janeiro";

}else if (N==19) {

cout << "Campinas";

}else if (N==32) {

cout << "Juiz de Fora";

}else if (N==27) {

cout << "Vitoria";

}else if (N==31) {

cout << "Belo Horizonte";

}else {

cout <<"LD no encontrada";

}

return 0;

}

Una alternativa mejor, que es mas factible para este problema es usar switch case:

#include <iostream>

using namespace std;

int main (){

int N;

cin>>N;

switch(N){

   case 61:

   cout <<"Brasilia"; break;

   

   case 71:

   cout << "Salvador"; break;

   

   case 11:

   cout << "Sao Paulo"; break;

   

   case 19:

   cout << "Campinas"; break;

       

   case 32:

   cout << "Juiz de Fora";break;

   

   case 27:

   cout << "Vitoria"; break;

   

   case 31:

   cout << "Belo Horizonte"; break;

   

   default:

   cout <<"LD no encontrada"; break;

}

return 0;

}


Benitotomata: Muchas gracias como siempre
Chispitazo: jaimitoM ayudame porfavor
Preguntas similares