Решить этот вопрос?
Программа просит пользователя ввести пять одиночных символов, разделенных пробелами, и в зависимости от символов генерирует случайное число.
Вот правила, которым нужно точно следовать:
- Если входной символ- "а", то программа сгенерирует случайное число от 1 до 20.
- Если входной символ- "е", то программа сгенерирует случайное число от 21 до 40.
- Если входной символ - "i", то программа сгенерирует случайное число от 41 до 60.
- Если входной символ - "о", то программа сгенерирует случайное число от 61 до 80.
- Если входной символ- "u", то программа сгенерирует случайное число от 81 до 100.
- Если входной символ не является одним из вышеперечисленных символов, выведите 0 на выходе.
Вот несколько примеров запусков:
Выполнить 1
Эта программа играет в простую игру со случайными числами.
Введите 5 гласных символов (a, e, i, o, u), разделенных пробелами: a e i o u
Случайные числа 10 25 46 69 99
---------------------------------------------------------------
Запустить 2
Эта программа играет в простую игру со случайными числами.
Введите 5 гласных символов (a, e, i, o, u), разделенных пробелами: a e A u o
Случайные числа 10 25 4 99 66
---------------------------------------------------------------
Запуск 3
Эта программа играет в простую игру со случайными числами.
Введите 5 гласных символов (a, e, i, o, u), разделенных пробелами: a z i e o
Случайные числа 10 0 43 29 76
---------------------------------------------------------------
Выполнить 4
Эта программа играет в простую игру со случайными числами.
Введите 5 гласных символов (a, e, i, o, u), разделенных пробелами: a z i f o
Случайные числа равны 15 0 47 0 74
Что я уже пробовал:
#include <iostream> #include <cstdlib> #include <iomanip> #include <ctime> using namespace std; /* Homework 3 Yong Yu Xuan This program generates a random number depending on the character inputted. */ int main() { srand(time(0)); //constant for setw() const int GAP = 6; //variables int num; int none = 0; char alphabet; char letter1, letter2, letter3, letter4, letter5; letter1 = 'a'; letter2 = 'e'; letter3 = 'i'; letter4 = 'o'; letter5 = 'u'; //tell user to enter five characters at random cout << "This program plays a simple, random number game." << endl; cout << "Enter five vowel characters (a,e,i,o,u) in any order separated "; cout << "by spaces: "; cin >> alphabet >> alphabet >> alphabet >> alphabet >> alphabet; alphabet = num; cout << "The five random numbers are: " << setw(GAP) << num << setw(GAP); cout << setw(GAP) << num << setw(GAP) << num; cout << setw(GAP) << num << setw(GAP) << num; if (alphabet == letter1) cout << setw(GAP) << rand() % 19 + 1; else if (alphabet == letter2) cout << setw(GAP) << rand() % 19 + 21; else if (alphabet == letter3) cout << setw(GAP) << rand() % 19 + 41; else if (alphabet == letter4) cout << setw(GAP) << rand() % 19 + 61; else if (alphabet == letter5) cout << setw(GAP) << rand() % 19 + 81; else cout << none << endl; return 0; }
Patrice T
А у вас есть вопрос ?
Stefan_Lang
Решение 1 указывает на проблемы с вашим кодом. Если это решит проблему, пожалуйста, примите решение, чтобы мы могли видеть, что вам больше не нужна помощь. В противном случае добавьте комментарий, чтобы мы знали, что вам нужно больше советов.
Кроме того, теперь, когда вы проспали его (на самом деле несколько раз), может быть, вам стоит просто еще раз взглянуть на программу: кажется, у вас были правильные идеи, но, по-видимому, вы запутались по пути. Со свежим умом вы можете теперь самостоятельно определить проблемы.