Необходимость использовать генератор случайных чисел в моем коде C++.
Я должен создать равномерное распределение int от 0 до numStudents-1
случайным образом выберите число из этого распределения
очистите консоль
используйте случайно сгенерированный номер, чтобы получить имя sutident в этом индексе
покажите это имя студента на экране
приостановите работу программы до тех пор, пока пользователь не нажмет клавишу
вернитесь в Главное меню.
эти вышеописанные шаги должны быть выполнены в функции со следующим объявлением: void randomStudent(int numStudents, int studentNames[]);
Что я уже пробовал:
Я довольно запутался с numbergenerator, вот мой код для проекта, просто нужно добавить генератор чисел.
#include <iostream> #include <string> using namespace std; int main() { const int MAX_STUDENTS = 30; const int MAX_ASSIGNMENTS = 10; cout << "Please enter the number of students currently enrolled (max " << MAX_STUDENTS << "): "; int numStudents; cin >> numStudents; if (numStudents > 30) { numStudents = 30; cout << "The number of students has been reduced to the max " << MAX_STUDENTS << "." << endl; } string studentNames[MAX_STUDENTS]; for (int i = 0; i < numStudents; i++) { cout << "Enter student " << i+1 << "'s name: "; cin >> studentNames[i]; } char command = ' '; int numAssignments = 0; int assignments[MAX_STUDENTS][MAX_ASSIGNMENTS]; while (command != 'q') { system("CLS"); // print the gradebook to screen. for (int i = 0; i < numStudents; i++) { cout << studentNames[i] << "\t"; if (studentNames[i].size() < 8) { cout << "\t"; } for (int j = 0; j < numAssignments; j++) { cout << assignments[i][j] << "\t"; } cout << endl; } cout << "Do you want to add a (s)tudent, add an (a)ssignment, (c)urve a grade (q)uit? "; cin >> command; system("CLS"); switch (command) { case 's': cout << "Please enter the new student's name: "; cin >> studentNames[numStudents]; for (int i = 0; i < numAssignments; i++) { cout << "Please enter " << studentNames[numStudents] << "'s grade for assignment " << i+1 << ": "; cin >> assignments[numStudents][i]; } numStudents++; break; case 'a': for (int i = 0; i < numStudents; i++) { cout << "Please enter " << studentNames[i] << "'s grade for the new assignemnt: "; cin >> assignments[i][numAssignments]; } numAssignments++; break; case 'c': { int assignmentToCurve = -1; cout << "Which Assignment do you wish to curve (1-" << numAssignments << "): "; cin >> assignmentToCurve; //adjust for arrays starting at 0; assignmentToCurve--; int sum = 0; for (int i = 0; i < numStudents; i++) { sum += assignments[i][assignmentToCurve]; } float average = (float)sum / numStudents; if (average < 70) { for (int i = 0; i < numStudents; i++) { assignments[i][assignmentToCurve] += (70 - average); } cout << "curve of " << (int)(70 - average) << " applied!" << endl; } else { cout << "No curve needed!" << endl; } break; } case 'q': break; default: cout << command << " is an invalid command!" << endl; break; } system("PAUSE"); } }