Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

251
Visualizações
Luchando para que mi declaración de cambio funcione

Estoy tratando de crear un programa C++ para devolver un número (deletreado) cuando el usuario ingresa un valor entero entre 0 y 9, ¿alguien puede averiguar dónde me equivoqué? ¡Gracias por adelantado!

 #include <iostream> using namespace std; int main(){ int numinput; string numberWritten; cout << "Enter a whole number between 0 and 9" << endl; cin >> numinput; switch (numinput) { case 0: numberWritten = "Zero"; break; case 1: numberWritten = "One"; break; case 2: numberWritten = "Two"; break; case 3: numberWritten = "Three"; break; case 4: numberWritten = "Four"; break; case 5: numberWritten = "Five"; break; case 6: numberWritten = "Six"; break; case 7: numberWritten = "Seven"; break; case 8: numberWritten = "Eight"; break; case 9: numberWritten = "Nine"; break; default: "Not a number I know"; return numberWritten; } }
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Reemplace el switch con una matriz:

 static const char * numbers_text[] = { "Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", }; //... cout << "Enter a whole number between 0 and 9" << endl; cin >> numinput; if ((num_input >= 0) && (num_input <= 9)) { cout << numbers_text[numinput] << "\n"; } else { cout << "Unsupported number.\n"; }

El método de matriz o búsqueda evita cualquier problema con una declaración de switch .

Menos líneas de código, menos posibilidades de inyectar errores.

over 4 years ago · Santiago Trujillo Relatório

0

No puede devolver int si int main() devuelve una cadena o simplemente lo dice el compilador:

no suitable conversion function from "std::string" to "int" exists

así es como lo arreglas:

 #include <iostream> #include <string> using namespace std; int main() { int numinput; string numberWritten; cout << "Enter a whole number between 0 and 9" << endl; cin >> numinput; switch (numinput) { case 0: numberWritten = "Zero"; break; case 1: numberWritten = "One"; break; case 2: numberWritten = "Two"; break; case 3: numberWritten = "Three"; break; case 4: numberWritten = "Four"; break; case 5: numberWritten = "Five"; break; case 6: numberWritten = "Six"; break; case 7: numberWritten = "Seven"; break; case 8: numberWritten = "Eight"; break; case 9: numberWritten = "Nine"; break; default: numberWritten = "Not a number I know"; break; } if(numinput >= 0 && numinput <= 9) { cout << "The number you entered is " << numberWritten << endl; } else { cout << numberWritten << endl; } cout << "The number you entered is " << numberWritten << endl; return 0; }

Pido disculpas, olvidé probar el valor predeterminado, ahora funciona perfectamente.

over 4 years ago · Santiago Trujillo Relatório

0

El interruptor nunca llegará a la

 return number

Como todavía está dentro de las llaves. En el interruptor, se detendrá en el valor predeterminado .

Su función es int main y está tratando de devolver una cadena con numberWritten.

De esta manera funciona

 #include <iostream> using namespace std; int main() { int numinput; string numberWritten; cout << "Enter a whole number between 0 and 9" << endl; cin >> numinput; switch (numinput) { case 0: numberWritten = "Zero"; break; case 1: numberWritten = "One"; break; case 2: numberWritten = "Two"; break; case 3: numberWritten = "Three"; break; case 4: numberWritten = "Four"; break; case 5: numberWritten = "Five"; break; case 6: numberWritten = "Six"; break; case 7: numberWritten = "Seven"; break; case 8: numberWritten = "Eight"; break; case 9: numberWritten = "Nine"; break; default: "Not a number I know"; } cout << numberWritten << endl; return 0; }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda