Помогите чайнику С++
2865
13
Я вот самая-самая начинающая. Сижу и сама дома разбираюсь. Вернее я учусь на курсах , но дома разбираюсь с опережением. Короче к делу. Программа типа ввести несколько параметров для какого-то количества человек (т.е. цикл, управляемый меткой). Расчитать для каждого кое-что и вывести на экран. ниже написанный мною код. Всё расчитывается правильно. Проблема в том, что хочется, чтобы цикл заканчивался как только я ввожу -1 (метку) для первого параметра. У меня же - пока не введу -1 для всех параметров она не выходит. Помогите, в чём косяк...

#include ;
main()
{
int nomer;
float rashod, prihod, balans, novbal, kredit;

while (nomer!=-1)
{

coutbalans;
coutrashod;
coutprihod;
coutkredit;
novbal=balans+rashod-prihod;
cout
Iruta
Это Вам задают в НЭТИ? Мой совет - если получите здесь решение - лучше его отложить дней на 15. И будет Вам счастье.

Заодно про web - мне казалось, что это HTML +javascript+ php +mySql . Как минимум. А если это курс в вузе - то конкретнее скажет препод, зависит от объёма курса.
Eujen
нет. В НЭТИ мы пока только начали изучать операторы. Пример я взяла из книги, ответов там нет, посоветоваться нескем. Потому и обратилась за помощью. Не могли поконкретнее написать, если не трудно, что настолько глупый текст, что вам даже сказать нечего?
Iruta
Здесь чего-то недописано. Не вижу ввода nomer.
Вообще можно применить конструкцию
if (условие) break; - проиводит к выходу из while.
Iruta
Ну там точно е всего хватает. По крайней мере надо int nomer определить, а т он никогда не станет равным -1.

Попробуйте запустить вто такое:
(ADD - добавление Вашему).

#include ;
main()
{
int nomer;//Здесь тоже можно nomer=-1 или 0 или ещё как нибудь
float rashod, prihod, balans, novbal, kredit;
// nomer желательно инициализировать, а то компу трудно понять, с чем работать
while (nomer!=-1)
{
coutnomer;//ADD
//типа так, иначе один раз прокручивает
if(nomer>0)
{

coutbalans;
coutrashod;
coutprihod;
coutkredit;

novbal=balans+rashod-prihod;
cout
Eujen
Ребят, спасибо большое. Попробовала просто вставить if (nomer==-1)
break;
И всё получилось.Про ввод nomer он у меня был, просто в процессе копирования текста в форум, я его пыталась ещё исправлять, и доисправлялась:)
Но вот всё равно не пойму...ведь оператор while судя по тому что в учебнике написано, должен выполняться до тех пор, пока истинно его условие, а потом сразу прекращаться. Ведь я ввожу -1 в значение nomer, а цикл не прекращается....почему? Почему нужно дополнительно if вводить?
Iruta
Где инициализируется nomer?
Eujen
не инициализировала, просто как int объявила. А это принципиально?
Iruta
Конечно, принципиально. В С++ при объявлении переменная чему угодно может быть равна. Вы уж ей что-нить присвойте при объявлении...
PN
но ведь я ввожу её значение. Вот когда инициализирую переменную для счётчика, тогда понятно- он не вводится, а просто прибавляется к тому что инициализировали, а тут зачем?
Iruta
Рекомендую проверить, чему у Вас равны значения nomer на каждои этапе.
Если вопросы остались - повторите полный вида текста.
Eujen
А что , книги Романова хуже?
Iruta
Я не могу понять, а что мешает сделать вот так?

#include ;
main()
{
int nomer=0;
float rashod, prihod, balans, novbal, kredit;

//Вводим номер первый раз, если не надо ничего
//вводить, вводим -1
coutnomer;

//цикл начинается если ввести что угодно кроме -1
while (nomer!=-1)
{

//вводятся остальные глупости
coutbalans;
coutrashod;
coutprihod;
coutkredit;
novbal=balans+rashod-prihod;
cout
PN
Ой, красота какая!!! Всё получилась , и в других подобных задачах ничего искусственного мутить не пришлось! А разница всего лишь лишний раз nomer ввести в конце цикла. Вот бы ещё осознать это постараться...