Могу ли я включить Cin в статус переключателя

Я пишу программу, которая даст область формы, и мне нужно создать меню для пользователя, чтобы выбрать форму с помощью переключателя. Так что мой вопрос: могу ли я иметь cin с регистром коммутатора или мне нужно форматировать мой код по-другому.

#include <cmath>
#include <iostream>
#include <cassert>
using namespace std;

int main()
{
int shape, invalid;
double area, radius, width, height;

const double pi=3.14159;

cout << "Shape Menu"<<endl<< "1. Circle"<<endl<<"2. Rectangle"<<endl<<"3. Triangle"<<endl
<<"shape (1, 2, or 3)? ";
cin >> shape;switch (shape){
case 1: cout << "Radius? "<<;
cin >> radius >> endl;break;    // this is were my error is when I compile
case 2: cout << "width? ";
cin >> width >> endl;
cout << "Height? ";
cin >> height >> endl;break;
case 3: cout<< "Base? ";
cin >> base >> endl;
cout << "Height? ";
cin >> height >> endl;break;
default: invalid = shape
cout<< shape << "is an invalid menu option, program terminated."<<endl;
assert (invalid == T)
}return 0;

}

1

Решение

case 1: cout << "Radius? "<<; у тебя бродячий << после "Radius?"

0

Другие решения

Да, вы можете включить cin после случаев переключения заявления. Случаи как case 1: это просто ярлыки. Таким образом, инструкции после могут быть любые инструкции.

В вашем коде просто много ошибок компиляции: вот возможная замена для вашего оператора switch.

    switch (shape){
case 1: cout << "Radius? ";
cin >> radius;break;    // no more error here
case 2: cout << "\nwidth? ";
cin >> width;
cout << "\nHeight? ";
cin >> height;break;
case 3: cout<< "Base? ";
cin >> base;
cout << "\nHeight? ";
cin >> height;break;
default:
invalid = shape;
cout<< shape << "is an invalid menu option, program terminated."<<endl;
}
0

Вы можете заполнить с помощью enum и переключиться:

#include <iostream>

enum SHAPES{CIRCLE = 1, SQUARE, RECTANGLE, TRIANGLE, CUBE};int main()
{
int choice;
std::cout << "1: Circle  2: Square  3: Rectangle  4: Triangle  5: Cube" << std::endl;
std::cout << " >> ";
std::cin >> choice;
std::cout << std::endl;

switch(choice)
{
case CIRCLE:
{
//do something
}
break;
case SQUARE:
{
//do something
}
break;
case RECTANGLE:
{
//do something
}
break;
case TRIANGLE:
{
//do something
}
break;
case CUBE:
{
//do something
}
break;
default:
std::cout << "Bad Entry!" << std::endl;
}

std::cout << std::endl;
return 0;
}
0

Конечно, вы можете использовать cin в операторе switch. Там нет такой границы. вы получаете ошибки из-за многих других синтаксически неправильных утверждений в вашем коде. Проверьте ответ @ Franck, поскольку он уже исправил их. Если вы хотите узнать больше об операторе Switch. Это хорошие ссылки.

https://www.tutorialspoint.com/cprogramming/switch_statement_in_c.htm

http://www.programiz.com/cpp-programming/switch-case

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector