Я получил проблемный домен. Ввод в массив структур C++
У класса 5 учеников. Вам необходимо написать программу, чтобы принять следующую информацию от пользователя.
First Name
Last Name
Age
Major
GPA
Вся эта информация должна быть получена от пользователя и сохранена в массиве. После заполнения массива распечатайте всю эту информацию для каждого учащегося.
Для выполнения этого проекта вам может потребоваться структура пользователя, массивы и некоторые циклы. Убедитесь, что для хранения информации используются соответствующие типы данных. Принимая GPA, вы должны убедиться, что GPA больше или равно 2 и меньше или равно 4. Если GPA учащегося выходит за этот диапазон, попросите пользователя снова ввести GPA, предоставив ему пределы.
Мне нужно знать, как вводить значения в массив struct, а затем распечатывать их. Вот что я до сих пор. Любая помощь будет оценена по достоинству.
#include <iostream>
#include <string>
using namespace std;
typedef struct
{
string firstName;
string lastName;
int age;
string major;
float GPA;
} student;
int main ()
{
//Variable declaration
string fnInput;
string lnInput;
int ageInput;
string majorInput;
float GPAInput;
student students[4];
cout << "Enter the first name: " ;
cin >> fnInput ;
cout << "Enter the last name: " ;
cin >> lnInput ;
cout << "Enter the age: ";
cin >> ageInput ;
cout << "Enter the major: " ;
cin >> majorInput;
cout << "Enter the GPA: ";
cin >> GPAInput ;
cout << fnInput << lnInput << ageInput << majorInput << GPAInput ;
/*students[0].firstName = fnInput;*/
}
Чтобы вводить значения в массив struct, вам не нужны временные переменные, просто сохраните входные значения напрямую:
std::cout << "Enter the first name: " ;
std::cin >> students[0].firstName;
std::cout << "Enter the age: ";
std::cin >> students[0].age;
Результат аналогичен:
std::cout << students[0].firstName;;
std::cout << students[0].age;