2015-03-20 2 views
-4

Мне нужна помощь с входным управляемым циклом, то есть пользователь вводит два значения, а сумма, разность, продукт, коэффициент и остаток печатаются до тех пор, пока пользователь не вводит нуль для второго значения. Я не понимаю, как писать то время цикла, что переменная я тестированиеНе понимаю синтаксис цикла while

Вот пример:

enter two integers: 19 7 
sum of 19 and 7 is 26 
difference of 19 and 7 is 12 
etc.. 
+2

Вы должны иметь возможность получить много примеров при поиске. В любом случае, что вы пробовали? – mbsingh

ответ

0

Использование бесконечного цикла с условием break сделает трюк. Вот как

#include<iostream> 
int main() 
    { 
    int a , b; 
    while(1) 
     { 
     std :: cout << "\nEnter two integers :" ; 
     std :: cin >> a >> b ; 
     if (b == 0) 
      break; 
     std :: cout << "\nSum of " << a << " and " << b << " is " << a + b ; 
     std :: cout << "\nDifference of " << a << " and " << b << " is " << a - b ; 
     std :: cout << "\nProduct of " << a << " and " << b << " is " << a * b ; 
     std :: cout << "\nQuotient when " << a << " is divided by " << b << " is " << a/b ; 
     std :: cout << "\nRemainder when " << a << " is divided by " << b << " is " << a % b ; 
     } 
    return 0; 
    } 

Вы просто должны использовать break если b == 0. Когда встречается break, программа выходит из цикла. (В случае, если в общей сложности нуб и не знаю, как использовать перерыв, прочитать break)

while(1) бесконечный цикл, и программа будет только выйти из цикла, когда break встречается.

Также помните, что % не будет работать на поплавках. Если вы хотите, поплавки, то вам придется использовать std::fmod() (std :: fmod(a , b); возвращает остаток когда a делится на b, где a и b являются поплавки или двойники, он включен в файле <cmath> заголовка).

+0

@ Downvoter, комментарий был бы полезен. –

+0

Я был бы очень признателен, если кто-то расскажет мне, как улучшить этот пост или что-то не так. –

0

Я предполагаю, что вы новичок ... и вы используете <iostream>. Если вы используете что-то еще, например. <cstdio> затем комментарий, и я буду изменять код, но он идет что-то вроде этого: (для умножения чисел, вы можете выяснить, остальные: D)

#include <iostream> 
using namespace std; 
int main(){ 
    int num1; 
    int num2; 
    while (true){ 
     cout << "Enter some numbers"; 
     cin >> num1 >> num2; 
     cout << "Product is " << num1*num2; 
    } 
    return 0; 
} 

удачи с вашим кодирования!

0

Вы можете попробовать что-то вроде этого. Используйте бесконечный цикл и разбивайте цикл в собственном состоянии.

#include <iostream> 
using namespace std; 
int main(){ 
    int num1, num2; 
    while (1){ 
     cout << "\nEnter some numbers "; 
     cin >> num1 >> num2; 
     if(num2==0) 
       break; 
     cout << "Product is " << num1*num2; 
    } 
    return 0; 
} 
+1

скомпилируйте это, и вы мгновенно найдете причину, по которой он был опущен. –

+0

Я не скомпилировал его и с тех пор работал на python в течение длительного времени, получил привычку «True» и «False». И мне тоже не хорошо с C++. Просто дал логику. – RatDon

+0

Это не проблема. Скомпилируйте его. Вы должны были легко заметить проблему. –

0

Это можно сделать несколькими способами. Например,

while (true) 
{ 
    std::cout << "Enter two integer numbers: "; 

    int first; 
    int second = 0; 

    std::cin >> first >> second; 

    if (second == 0) break; 

    std::cout << "sum of " << first 
       << " and " << second 
       << " is " << first + second; 
       << std::endl; 

    std::cout << "difference of " << first 
       << " and " << second 
       << " is " << first - second; 
       << std::endl; 

    // and other outputs if they are required 
}