2015-10-05 6 views
-1

Я новичок в C++. Мне нужно написать код, который позволяет добавлять и умножать числа между двумя введенными мной числами. Пример: я вводим 2 и 4, а добавление должно быть 9, а умножение должно быть 24. Это то, что у меня есть до сих пор.умножить и добавить целые числа между

// sum and multi.cpp : Defines the entry point for the console application.// 

#include "stdafx.h" 
#include <iostream> 
using namespace std; 

int main() 
{ 
    int num1; 
    cout << "Enter number: " << endl; 
    cin >> num1; 

    int sum=0; 
    int mul = 0; 

    for (int i = 0; i <= num1; i++) 
    { 
     sum += i; 
     while (i <= num1) 
     { 
     mul *= i; 
     } 
    } 

    cout << "sum is: " << sum << mul << endl; 

    return 0; 
} 

Хотя это делает аддитивную часть это делает только от 0 до какого-либо номера I входа и он не делает умножение части. НУЖНА ПОМОЩЬ!!!!

+4

инициализации 'mul' 0. Нулевой раз ничего равна нулю. Подумайте о другом числе, которое может стать лучшей отправной точкой для накопителя умножения. В любом случае, как в настоящее время написано, вы умножаете все числа между 0 и 'num1' включительно - ответ на это всегда равен нулю. –

+0

Посмотрите на свою инициализацию и условия цикла 'for'. Они не имеют смысла. Кроме того, ваш 'while' цикл не имеет смысла и должен вызывать бесконечный цикл здесь. Напишите, что вы хотите сделать; * затем * попробуйте его кодировать. –

+1

Кроме того, как говорит @IgorTandetnik, у вас есть логическая ошибка в вашем умножении. И вы никогда не просите двух чисел; только один! –

ответ

3

Вам нужен диапазон номеров так ввода два номера

int num1, num2; 

cin >> num1 >> num2; 

int sum=0; 
int mul = 1; // Initialize mul to 1, since anything multiplied by 0, results in 0 

for (int i = num1; i <= num2; i++) // Start from num1 and end to num2 
{ 
    sum += i; 
    //while (i <= num1) // Don't need another loop 
    //{ 
     mul *= i; 
    //} 
} 
+0

спасибо, что закончил работу. –

+3

Пожалуйста, отметьте это как ответ –

Смежные вопросы