c++编写程序有十个学生,每个学生的数据包括学号 姓名 5门功课的成绩。从键盘输入10名学生的成绩

要求打印出所有的信息,包括学号,姓名,五门功课的成绩,五门功课的总成绩

#include <iostream>

using namespace std;

// 声明一个结构体保存学生的信息
struct Student
{
    int id;
    char name[11]; //这里限制了name的长度
    int score[5]; //这里声明了一个长度为5的int数组
};

// 声明并定义函数计算学生5门成绩的总和
int sum_score(int *score)
{
    int sum = 0;
    for(int i = 0; i < 5; i++)
        sum += score[i];
    return sum;
}

// 声明并定义函数 要求输入学生的信息
// 这里传的参数是引用
int input_info(Student &stu)
{
    cout<<"请输入学生学号:";
    cin>>stu.id;

    cout<<"请输入学生姓名:";
    cin>>stu.name;

    for(int i = 0; i < 5; i++)
    {
        cout<<"请输入第"<<i+1<<"门成绩:";
        cin>>stu.score[i];
    }

    cout<<"学生信息输入完成"<<endl;

    return 0;
}


// 声明并定义函数 打印学生的所有的信息
int print_info(Student &stu)
{
    cout<<"--------------------------------------------------"<<endl;
    cout<<"学号:"<<stu.id<<endl;
    cout<<"姓名:"<<stu.name<<endl;
    for(int i = 0; i < 5; i++)
        cout<<"第"<<i+1<<"门课程成绩:"<<stu.score[i]<<endl;
    cout<<"5门成绩总和:"<<sum_score(stu.score)<<endl;

    return 0;
}


int main()
{
    // 测试用 不然一次输入10个学生 累死
    int n=0;
    cout<<"请输入学生人数:";
    cin>>n;
    // --------------------------------
    Student s[n];
    for(int i = 0; i < n; i++) input_info(s[i]);
    for(int i = 0; i < n; i++) print_info(s[i]);

    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-12-21
用结构体做。把学号姓名成绩都定义进去追问

请问具体怎么写,程序

C++:输入10个学生的姓名、学号和成绩,将其中不及格者的姓名、学号和成绩...
可以先声明一个具有姓名、学号、成绩3个数据成员的类,然后输出、输入可以写成类里的成员函数。完成了类声明之后,用这个类定义一个含有10个元素的数组,这样就可以很方便的实现输入学生信息、存储学生信息,再根据需要输出学生信息的功能。而且这样程序看起来也会相当简洁。具体代码如下: 【程序代码】#inclu...

用C++编写一个程序 : 输入10个学生的姓名、学号和成绩,将其中不及格...
\/\/用C++编写一个程序 : 输入10个学生的姓名、学号和成绩,将其中不及格的姓名、学号和成绩输出 printf("不及格学员的名单如下:\\n");for(i=0;i<n;i++){ if(stt[i].score<60)printf("%d\\t%s\\t%5.2f\\n",stt[i].num ,stt[i].name ,stt[i].score); } if(stt[i].score >...

C++,从键盘输入10个学生的信息包括学号,姓名,成绩要求按每个学生的...
include"stdio.h"#include#defineSIZE10structstudent{charid[20];charname[20];intscore[3];floataverage;}stud[SIZE];voidinput()\/*输入学生的信息*\/{inti;for(i=0;i<SIZE;i++){printf("第%d个学生的信息:\\n",i+1);scanf("%s%s%d%d%d",stud[i].id,stud[i].name,&stud[i].score...

c++从键盘输入10个学生的信息(包括学号,姓名,成绩)要求按照成绩高低顺 ...
\/\/定义结构体存储学生信息,对成绩使用冒泡排序#include <iostream>using namespace std;struct Stu{ string id; string name; int score;};int main(){ Stu stut[10]; Stu tmp; for(int i = 0; i < 10; i++){ cin >> stut[i].id >> stut[i].name >> ...

...有10个学生,每个学生的数据包括学号,姓名,及三门课成绩,总,平均...
float score[4];}person[10];int i;printf("请输入10名学生的学号、姓名、及三门成绩:");for(i=0;i<10;i++)printf("学号:%d 姓名:%s 成绩:%d %d %d 平均成绩:%d\\n",person[i]->number,person[i]->name[20],person->score[0],person->score[1],person->score[2],person->...

一个班10个学生5门课的c++程序,求第一门课的平均分
{ printf("至少两门课低于60分的同学有%d个,信息如下:\\n",cnt); printf("学号\\t姓名\\t总分\\t平均分\\n"); for(i=0;i<cnt;i++) { printf("%d\\t%s\\t%d\\t%.1f\\n",low[i].id,low[i].name,low[i].sum,low[i].avg); } }printf("平均分在90分以上或全部成绩在85...

C++ 有10个学生,从键盘输入10个学生的学号,姓名和3门课的成绩
int iMyAverageIsTheMax = 0; \/\/记录平均成绩最大的那个学生的数组索引(也就是它的数组下脚标)pStudent pStu[STUDENTS_NUM] = {0}; \/\/一个容量为STUDENTS_NUM这么多个的结构体指针数组,数组中仅仅只是指针。指针在哪儿都是重点,要深入理解 pStudent pTemStu = NULL; \/\/typedef让p...

c++输入10个学生的学号、姓名和成绩,计算并输出他们的平均成绩,并且将...
printf("姓名:%s 学号:%s 成绩:%.2f\\n", stu[i].name, stu[i].num, stu[i].value);} int main(void){ STUDENT stu[10];int i;float _ave = 0.0;for (i = 0; i < 10; ++i){ printf("输入第%d个学生信息(姓名,学号,成绩):", i+1);scanf(" %s %s %f",...

C++编程题:输入10个学生的姓名、学号和成绩,输出学生的成绩等级和不及格...
include<iostream> include<string> using namespace std;const int n=10;string name[n]; \/\/定义姓名数组 int num[n],score[n]; \/\/定义学号和成绩数组 int main(){int i;void input_data();int_data();cout<<endl<<"不及格名单:"<<endl;for(i=0;i<n;i++)if(score[i]<60...

c++编程题:输入并保存10个学生成绩的信息(学生信息包括:学号,姓名,成...
为什么输出的结果会变成这样:104 ddd 60 106 fff 60 103 ccc 70 105 eee 80 102 bbb 90 101 aaa 80 107 ggg 78 108 hhh 80 109 iii 68 110 jjj 80

相似回答