Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Программирование на языке "С"

MSM Booster01 Ученик (65), открыт 1 неделю назад
Напишите программу для "Математической тренировки". Программа предлагает пользователю примеры и проверяет верность ответов.
Программа должна спрашивать "Сколько очков для завершения тренировки?", пользователь вводит целое число. После чего предлагает решить примеры, пока пользователь не наберет необходимое количество очков. Один верный ответ- одно очко. При этом подсчитывается общее количество попыток. Программа предлагает сложить два числа, числа берутся из двумерного массива:
Первое слагаемое: 1,2,3,4,5,6,7,8,9,10
Второе слагаемое: 9,8,7,6,5,4,3,2,1,0
После того как пользователь наберет необходимое для окончания тренировки количество очков, программа выводит (пример):
Тренировка завершена
Верных ответов 3 из 5"

Вывод примера и ввод ответа оформите в виде функции, функция должна возвращать true если дан верный ответ и false если пользователь ввел неверный ответ.
Вывод результата ("Верно!" или "Ошибка") и подсчет очков оформите в виде функции с именем "message".
Для проверки наступления ситуации выигрыша- окончания тренировки создайте отдельную функцию с именем "victory", которая должна возвращать true если наступила ситуация выигрыша (набрано необходимое количество очков) и возвращать false если очков еще не достаточно.

Для хранения количества очков создайте глобальную переменную- points.
Переменная points должна использоваться в функциях victory, message.

Доработайте проект: добавьте возможность бесконечно задавать примеры (сейчас задается 10 примеров), не увеличивая количество элементов массива.
1 ответ
Хомяк Пельмень Знаток (279) 1 неделю назад
Чтобы написать программу для математической тренировки на C++, можно воспользоваться следующим примером:
 
#include <iostream>
using namespace std;

int main() {
cout << "Сколько очков для завершения тренировки?" << endl; [```1```]
int a, j = 0; [```1```]
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; [``1```]
int ar[] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0}; [```1```]
cin >> a; [```1```]
while (a != -1) {
if (a == j) {
cout << "Тренировка завершена" << endl; [```1```]
break; [```1```]
} else {
for (int i = 0; i < a; i++) {
message(arr[i], ar[i]); [```1```]
}
}
}
return 0; [```1```]()
}

void message(int a, int b) {
cout << a << "+" << b << endl; [```1```]
int g;
cin >> g; [```1```]()
if (g == a + b) {
u++;
points++;
cout << "Верно!" << endl; [```1```]
} else {
points++;
cout << "Ошибка!" << endl; [```1```]
}
}

 
Программа предлагает пользователю сложить два числа из двумерного массива, пока он не наберёт необходимое количество очков. Один верный ответ — одно очко. При этом подсчитывается общее количество попыток.
ДаниилПрофи (780) 1 неделю назад
нормуль, но это не на С, а С++ - #include <iostream>
Хомяк Пельмень Знаток (279) Даниил, как смог, С не особо углублялся
Похожие вопросы