• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Pruebas Online
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

211
Vistas
¿Cómo usar el carácter en la matriz en la declaración de cambio?

cuando compilo el programa, dice que 'd' no es un int, así que si alguien tiene idea de cómo cambiarlo a un int o hacer que funcione.

 #include <iostream> using namespace std; int main() { int k; cin >> k; if(k==2) { cout << "we have 3 main sub companies and other 2 companies that are growing\n"; cout << "the 3 main sub companies are\n"; cout << " a-Aegre Food and Drinks\n"; cout << " b-Future Tech\n"; cout << " c-Hope Energy\n"; char d[]={'a','b','c'}; int d[0]=1,d[1]=2,d[2]=3; cout << "In which one of our companies do you want to invest plase enter the letters befor them "; cin >>d; switch(d)//here it says d is n't an int// { case a:cout <<"we have 5 bonds"; case b:cout <<"we have 3 bonds"; case c:cout <<"we have 2 bonds"; } } }
about 3 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Sería más fácil resolver este problema sin una matriz:

 #include <iostream> using namespace std; int main() { int k; cin >> k; if(k==2) { cout << "We have 3 main sub-companies and other 2 companies that are growing.\n"; cout << "The 3 main sub-companies are\n"; cout << " a-Aegre Food and Drinks\n"; cout << " b-Future Tech\n"; cout << " c-Hope Energy\n"; char d; cout << "In which one of our companies do you want to invest? Please enter the letters before them: "; cin >> d; switch(d) { case 'a': cout << "We have 5 bonds"; break; case 'b': cout << "We have 3 bonds"; break; case 'c': cout << "We have 2 bonds"; break; default: cout << "Invalid input!\n"; } } }

Un char es un tipo entero, que se puede usar en una declaración de switch .

Tenga en cuenta que estoy usando caracteres literales en las etiquetas de case y minúsculas de la declaración de switch . Además, si no desea pasar al siguiente caso, debe usar break después de cada caso en la declaración de switch .

about 3 years ago · Santiago Trujillo Denunciar

0

¿Parece estar tratando de hacer que d sea una matriz de caracteres, una matriz de números enteros y un solo valor, todo al mismo tiempo? Creo que lo que realmente quieres hacer es leer un solo carácter y compararlo en un interruptor. No necesitas una matriz en absoluto:

 #include <iostream> using namespace std; int main() { int k; cin >> k; if(k==2) { cout << "we have 3 main sub companies and other 2 companies that are growing\n"; cout << "the 3 main sub companies are\n"; cout << " a-Aegre Food and Drinks\n"; cout << " b-Future Tech\n"; cout << " c-Hope Energy\n"; char company; cout << "In which one of our companies do you want to invest plase enter the letters befor them "; cin >>company; switch(company) { case 'a':cout <<"we have 5 bonds"; break; case 'b':cout <<"we have 3 bonds"; break; case 'c':cout <<"we have 2 bonds"; break; } } }

Tenga en cuenta que necesita un break entre sus casos; a se activarán los tres casos.

Si lo que intentaba hacer era asignar una carta de empresa a un número, entonces lo que necesita es un std::map :

 #include <iostream> #include <map> using namespace std; int main() { int k; cin >> k; if(k==2) { cout << "we have 3 main sub companies and other 2 companies that are growing\n"; cout << "the 3 main sub companies are\n"; cout << " a-Aegre Food and Drinks\n"; cout << " b-Future Tech\n"; cout << " c-Hope Energy\n"; std::map<char, int> companies = {{'a', 1}, {'b', 2}, {'c', 3}}; char company; cout << "In which one of our companies do you want to invest plase enter the letters befor them "; cin >>company; auto companyNumber = companies.find(company); if (companyNumber == companies.end()) { cout << "invalid company\n"; return 1; } switch(companyNumber->second) { case 1:cout <<"we have 5 bonds"; break; case 2:cout <<"we have 3 bonds"; break; case 3:cout <<"we have 2 bonds"; break; } } }
about 3 years ago · Santiago Trujillo Denunciar

0

d es una matriz de caracteres, puede cambiar elementos como este, d[0] = '1', d[1] = '2', d[2] = '3';

Pero no puedes hacerlo así, int d[0]=1,d[1]=2,d[2]=3;

porque d ya está declarado como una matriz de caracteres. No puedes declararlo en otra variable.

Algunos ejemplos:

 char d[]={'a','b','c'}; // char array d[0]='1',d[1]='2',d[2]='3'; // update char array cin >>d[0]; // you can also take input like this (cin >> d[0]) or (cin >> d[1]) or (cin >> d[2]). switch(d[0]) // pass input { case 'a':cout <<"we have 5 bonds"; case 'b':cout <<"we have 3 bonds"; case 'c':cout <<"we have 2 bonds"; }
about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda