将值输入到结构数组 + 打印输出

input values into struct array + printing out

本文关键字:打印 输出 数组 结构 输入      更新时间:2023-10-16

我得到了一个问题域。输入到结构数组C++

一个班级有5名学生。您需要编写一个程序来接受来自用户的以下信息。

First Name
Last Name
Age
Major
GPA

所有这些信息都必须从用户那里获得并存储在数组中。填充数组后,为每个学生打印所有这些信息。

为了做这个项目,你可能想用结构、数组和一些循环。确保使用正确的数据类型来存储信息。在接受 GPA 时,您需要确保 GPA 大于或等于 2 且小于或等于 4。如果学生的 GPA 超出此范围,请要求用户再次输入 GPA,给他限制。


我需要知道如何将值输入到结构数组中,然后打印出来。这是我到目前为止所拥有的。任何帮助将不胜感激。

#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;*/
}

要将值输入到结构数组中,您不需要临时变量,只需直接存储输入值:

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;