Так что я делаю приложение на C++ для решения некоторых упражнений.Я не могу понять что-то на приложении C++
int i=1;
cout << "How many times :";
cin >> n;
while (n>0)
{
cout << "Input F" << i << ":";
if (cin >> a[i] && cin >> sign&& cin>>b)
{
switch (sign)
{
case'$': a[i] = a[i] * (sqrt(b));
break;
case'^': a[i] = pow(a[i], b);
break;
case'/':a[i] = a[i]/b;
break;
default: cout << "\n Wrong sign";
break;
}
}
else
a[i]=a[i];
i++;
n--;
}
В некоторых случаях я не нужен петь или б variabels ... и приложение doesent позволит мне выйти из, если когда я нажать Enter.
Например: я должен вводить F1: 8sqrt (2) и i type 8 $ 2, тогда F2: только 8, затем я нажимаю Enter, но приложение продолжает запрашивать значения.
Итак, теперь, чтобы заставить его работать, мне нужно ввести знак дважды подряд ...
while (n>0)
{
cout << "Input F" << i << ":";
cin >> a[i];
if (cin.get() == '\n')
a[i] = a[i];
else {
cin >> sign;
if (sign)
cin >> b;
switch (sign)
{
case'$':
a[i] = a[i] * (sqrt(b));
break;
case'^': a[i] = pow(a[i], b);
break;
case'/':a[i] = a[i]/b;
break;
default: cout << "\n Wrong sing;
break;
}
}
i++;
n--;
}
Спасибо за ваше время.
Я бы не поставил cin в инструкции IF. Попробуйте положить ваш cin выше IF, а затем проверить его. –
Да, но как я могу подписать знак только тогда, когда он напечатан? –
Пожалуйста, улучшите заголовок вопроса. Как написано, будущий посетитель, у которого может быть такая же проблема, не сможет найти его, потому что заголовок слишком расплывчатый. –