Лаба по c++. Первый курс. Не работает код.

программирование программы С++ Информатика Языки программирования

Задание: Даны два целых числа A и B (A < B). Найти произведение всех целых чисел от A до B включительно.
Проблема: Считает правильно только при значениях различающихся на еденицу (2 и 3; -9 и -8) или если в диапозон входит ноль ( -1 и 1; -785 и 158)
Код:
#include<iostream>
using namespace std;
int main()
{
setlocale (0,"rus");
int a,b,s,i;
cout<<"Программа нахождения произведения всех целых чисел от A до B включительно"<<endl;
cout<<"Введите А"<<endl;
cin>>a;
cout<<"Введите В"<<endl;
cin>>b;
i=a++;
s=a;
for(;i<b;)
{s=s*i;
i++;}
cout<<""<<s<<endl;
system ("pause");
return 0;
}

Примечание:
Andrey.korea
Спасибо, только не могли бы разъяснить хотя бы в трёх словах эту часть "s *= i;" или написать то, что ей эквивалетно... запутал именно "*=", не встречал и не пользовался ещё.
Ответы:
вот эта часть точно неправильна
i=a++;
s=a;
если вы хотели присвоить i значение а+1, тогда надо писать так i = a+1. тот текст, который написали вы, присвоит i значение а и увеличит а на 1.
s = s*i то же самое, что s *= i
аналогично:
s = s + i        <->     s += i


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.