|
|||||||
Время создания: 10.08.2017 16:03
Раздел: Computer - Programming - C++ - Coursera White_Belt
|
|||||||
|
|||||||
Определите структуру «Студент» со следующими полями: имя, фамилия, день, месяц и год рождения. Создайте вектор из таких структур, заполните его из входных данных и затем по запросам выведите нужные поля. Формат ввода Первая строка содержит одно целое число N от 0 до 10000 — число студентов. Далее идут N строк, каждая из которых содержит две строки длиной от 1 до 15 символов — имя и фамилию очередного студента, и три целых числа от 0 до 1000000000 — день, месяц и год рождения. Следующая строка содержит одно целое число M от 0 до 10000 — число запросов. Следующие M строк содержат строку длиной от 1 до 15 символов — запрос, и целое число от 0 до 1000000000 — номер студента (нумерация начинается с 1). Формат вывода Для запроса вида name K, где K от 1 до N, выведите через пробел имя и фамилию K-го студента. Для запроса вида date K, где K от 1 до N, выведите через точку день, месяц и год рождения K-го студента. Для остальных запросов выведите bad request. Пример ввода 3
Ivan Ivanov 1 1 1901
Petr Petrox 2 2 1902
Alexander Sidorov 3 3 1903
3
name 1
date 3
mark 5
Пример вывода Ivan Ivanov
3.3.1903
bad request
#include <iostream> #include <vector> using namespace std; struct Student { string name; string surname; unsigned long int bday; unsigned long int bmonth; unsigned long int byear; }; int main() { unsigned int n; vector<Student> students; cin >> n; while(n) { Student new_student; /* unsigned long int value; string line; cin >> line; new_student.name = line; cin >> line; new_student.surname = line; cin >> value; new_student.bday = value; cin >> value; new_student.bmonth = value; cin >> value; new_student.byear = value; */ cin >> new_student.name >> new_student.surname >> new_student.bday >> new_student.bmonth >> new_student.byear; students.push_back(new_student); --n; } cin >> n; while(n) { string command; unsigned long int number; cin >> command >> number; if(number > students.size() || number == 0) cout << "bad request" << endl; else { unsigned long int i = number - 1; if(command == "name") { cout << students[i].name << " " << students[i].surname << endl; } else if(command == "date") { cout << students[i].bday << "." << students[i].bmonth << "." << students[i].byear << endl; } else cout << "bad request" << endl; } --n; } // getchar(); return 0; } |
|||||||
Так же в этом разделе:
|
|||||||
![]() |
|||||||
|
|||||||
|