@Tylen

Вылетает бесконечное число «cout» при вводе символа. Что делать?

Вообще только начал изучать c++ до этого был опыт только в паскале ,помогите решить проблему с калькулятором ,при вводе символа вылетает бесконечное число "cout"

Вот код:
#include <iostream> 
using namespace std; 
int main() 
{ 
float x,y; 
char z; 
do { 
cout « "Write your first number:"; 
cin » x; 
cout « "Write your second number:"; 
cin » y; 
cout « "Write your sign:"; 
cin » z; 
switch (z) 
{ 
case '+': 
{ 
cout « "Your answer: "; 
cout « x « "+" « y « "="; 
cout « x + y; 
cout « "\n"; 
} 
break; 

case '-': 
{ 
cout « "Your answer: "; 
cout « x « "-" « y « "="; 
cout « x - y; 
cout « "\n"; 
} 
break; 

case '*': 
{ 
cout « "Your answer: "; 
cout « x « "*" « y « "="; 
cout « x * y; 
cout « "\n"; 
} 
break; 

case '/': 
{ 
if (y == 0) 
{ 
cout « "You cant division!" « endl; 
} 
else 
{ 
cout « "Your answer: "; 
cout « x « "/" « y « "="; 
cout « x / y; 
cout « "\n"; 
} 
} 
break; 
} 
} 
while (1 == 1); 
}
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
myjcom
@myjcom Куратор тега C++
Что делать?

#include <iostream> 
using namespace std;
int main()
{
  float x, y;
  char z;
  char c = 'n';
  do {
    cout << "Write your first number:";
    cin >> x;
    cout << "Write your second number:";
    cin >> y;
    cout << "Write your sign:";
    cin >> z;
    switch(z)
    {
      case '+':
      {
        cout << "Your answer: "
             << x << "+" << y << "="
             << x + y
             << "\n";
      }
      break;

      case '-':
      {
        cout << "Your answer: "
             << x << "-" << y << "="
             << x - y
             << "\n";
      }
      break;

      case '*':
      {
        cout << "Your answer: "
             << x << "*" << y << "="
             << x * y
             << "\n";
      }
      break;

      case '/':
      {
        if(y == 0)
        {
          cout << "You cant division!" << endl;
        }
        else
        {
          cout << "Your answer: "
               << x << "/" << y << "="
               << x / y
               << "\n";
        }
      }  
      break;
    }
    cout << "continue? (y/n): ";
  } while((cin >> c) && c == 'y');
}

Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Здесь - бесконечный цикл. Нужно условие while (1 == 1); переписать на какое-то более осмысленное.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы