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

363
Visualizações
¿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"; } } }
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

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 .

over 4 years ago · Santiago Trujillo Relatório

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; } } }
over 4 years ago · Santiago Trujillo Relatório

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"; }
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
Assistente virtual