Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2016, 16:33   #21
elennaa
Пользователь
 
Регистрация: 22.11.2015
Сообщений: 22
По умолчанию

Такие ошибки:

23 [Error] expected ',' or ';' before 'while'
54 [Error] expected '}' at end of input
elennaa вне форума Ответить с цитированием
Старый 09.03.2016, 16:44   #22
max_prorok
Форумчанин
 
Регистрация: 06.10.2011
Сообщений: 181
По умолчанию

точку с запятой поставьте в конце строке
Код:
bool doTask=true;
max_prorok вне форума Ответить с цитированием
Старый 09.03.2016, 16:52   #23
elennaa
Пользователь
 
Регистрация: 22.11.2015
Сообщений: 22
По умолчанию

После того как поставила появились новые ошибки

31 [Error] 'bfact' was not declared in this scope
40[Error] 'bfact' was not declared in this scope
elennaa вне форума Ответить с цитированием
Старый 09.03.2016, 16:55   #24
max_prorok
Форумчанин
 
Регистрация: 06.10.2011
Сообщений: 181
По умолчанию

Меняйте
Код:
int bfakt=1;
на
Код:
int bfaсt=1;
max_prorok вне форума Ответить с цитированием
Старый 09.03.2016, 17:07   #25
elennaa
Пользователь
 
Регистрация: 22.11.2015
Сообщений: 22
По умолчанию

Огромное спасибо! Всё работает
elennaa вне форума Ответить с цитированием
Старый 09.03.2016, 17:08   #26
max_prorok
Форумчанин
 
Регистрация: 06.10.2011
Сообщений: 181
По умолчанию

Единственное нету проверки на ввод данных. И разбирайтесь с кодом, если это вам конечно надо и вы хотите понять как он работает.
И проверьте, чтобы в начале у вас не было строчки:
Код:
int f();
Она бесполезна и не нужна.
max_prorok вне форума Ответить с цитированием
Старый 10.03.2016, 21:46   #27
elennaa
Пользователь
 
Регистрация: 22.11.2015
Сообщений: 22
По умолчанию

Объясните пожалуйста что значит doTask и как он работает.

Код:
 }
doTask!=doTask;
printf("\n Повторить расчеты (y/n): ");
scanf( "%с, &w);
if (w=='y') doTask=true;
}

Последний раз редактировалось elennaa; 10.03.2016 в 22:02.
elennaa вне форума Ответить с цитированием
Старый 11.03.2016, 10:25   #28
max_prorok
Форумчанин
 
Регистрация: 06.10.2011
Сообщений: 181
По умолчанию

Цитата:
Сообщение от elennaa Посмотреть сообщение
Объясните пожалуйста что значит doTask и как он работает.

Код:
 }
doTask!=doTask;
printf("\n Повторить расчеты (y/n): ");
scanf( "%с", &w);
if (w=='y') doTask=true;
}
Все очень просто.
По идее как это должно работать:
В самом начале вы создаете булевую переменную doTask и присваиваете ей значение true. Если примитивно перевести doTask, то получится что-то типо "выполнить задание". Затем вы создаете цикл while(doTask) который выполняется пока doTask равен true. Внутрь этого цикла вы помещаете код ввода коэффициентов и проведения расчетов. В конце этого цикла вы вставляете приведенный выше код. Рассмотрим его посстрочно:
Код:
doTask!=doTask;
Необходимые расчеты мы провели, поэтому проводим отрицание doTask, т.е. doTask=false.
Код:
printf("\n Повторить расчеты (y/n): ");
Интересуемся у пользователя, хочет ли он повторить расчеты еще раз. (y=yes - собственно да, пользователь хочет повторить расчеты и n=no - ему это больше не надо)
Код:
scanf( "%с", &w);
Считываем его ответ в переменную w.
Код:
if (w=='y') doTask=true;
И проверяем ответ пользователя, если он ответил y, то возвращаем переменной doTask снова значение true, т.е. необходимо провести расчеты. И тогда получается, что когда программа опять вернется к строчке
Код:
while(doTask)
он повторит ее еще раз. А если пользователь нажал n или любую другую кнопку, то значение в переменной doTask останется false, и тогда программа просто выйдет из цикла.
Единственное, лучше условие if указать в следующем виде:
Код:
if (w=='y' || w=='Y') doTask=true;
В этом случае программа будет уходить на новый круг расчетов, если введена Y, а не только y.

Как видите, ничего сложного.

Последний раз редактировалось max_prorok; 11.03.2016 в 10:27. Причина: Поправил кавычки в строке scanf( "%с", &w);
max_prorok вне форума Ответить с цитированием
Старый 11.03.2016, 11:02   #29
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

max_prorok, к сожалению, Вы зря потратили своё время!
elennaa зачем то создала ещё одну тему и ей там ответили, что такое doTask и зачем она вообще нужна.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.03.2016, 11:33   #30
max_prorok
Форумчанин
 
Регистрация: 06.10.2011
Сообщений: 181
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
max_prorok, к сожалению, Вы зря потратили своё время!
elennaa зачем то создала ещё одну тему и ей там ответили, что такое doTask и зачем она вообще нужна.
Я уже видел. Правда после того, как написал предыдущее сообщение=)
max_prorok вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Воспользовался excel надстройками и после этого начала появляться ошибка «ошибка 13 Type Misscmatch» malinov1maxim Microsoft Office Excel 5 27.01.2016 23:17
Программе после установки не хватает прав на запись в файл Dux Общие вопросы Delphi 17 16.08.2015 11:50
сохранение действий в программе после закрытия fins Общие вопросы Delphi 9 01.07.2015 18:59
Delphi 7. Сохранение данных в программе после ее закрытия. Bomjarik Помощь студентам 4 23.05.2012 18:25
ищем программиста для переделывания программы !>СаНеК<! Фриланс 10 29.02.2012 13:20