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.
Respuestas
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;
}