7-1 实验二 (100 分)
设计一种结构体,用来保存学生信息。假定学生的总人数不超过100人。学生的信息包括学号(<10000的整数)、姓名(长度不超过19的字符串)、三科成绩(整数)以及综合成绩(实数)。除综合成绩外,各项数据均由键盘输入。综合成绩在计算前,其值为0。现在要求实现如下几种功能,分别有对应的操作方式: 1)输入若干学生的信息。 对应的操作为: 在第一行中输入1和整数N,N代表要输入的学生人数。其后是N行数据,每行数据代表一个学生的信息。
2)计算所有学生的综合成绩,综合成绩 = 第1科成绩 * r1 + 第2科成绩 * r2 + 第3科成绩 * r3。 对应的操作为: 在一行中输入2和三个实数r1、r2、r3,其中r1、r2和r3代表计算综合成绩时的加权系数,输入保证时r1 + r2 + r3 = 1.0。 3)插入学生信息; 对应的操作为: 在第一行中输入3和整数N,N表示要将新输入的学生信息插入到原来的第N个学生前面。如果N大于当前学生人数,则插入到最后面。 第二行数据代表要插入的一个学生的信息。 4)删除学生; 对应的操作为: 在第一行中输入4和整数N,N表示将要删除的学生的序号(从1开始)。如果N大于当前的学生人数,则不会删去学生信息。 5)查询学生; 对应的操作为: 在第一行中输入5和学生的学号,如果能查询到对应的学生,则在一行中显示学生的信息,如果查询不到,则显示“Not Found.”。 还有一种查询方式为按姓名查询,操作如下: 在第一行中输入6和学生的姓名,如果能查询到对应的学生,则在一行中显示学生的信息,如果查询不到,则显示“Not Found.”。 6)显示学生信息。 对应的操作为: 在第一行中输入7,会显示所有学生的信息,每位学生的信息占一行。 7)退出系统 对应的操作为: 在第一行中输入0。
输入格式:
按上述要求输入信息。
输出格式:
按上述要求输出信息,同一行的各项信息间用一个空格分隔,综合成绩保留两位小数。并在最后输出一个空行。
输入样例:
1 4
2001 Wang 90 85 75
2003 Li 78 69 86
2008 Zhao 85 74 90
2010 Liu 85 72 85
7
2 0.2 0.35 0.45
7
6 Li
5 2002
3 3
2005 Bai 80 76 80
7
2 0.5 0.5 0.0
7
4 1
7
0
结尾无空行
输出样例:
学号:2001 姓名:Wang 成绩1:90 成绩2:85 成绩3:75 综合成绩:0.00
学号:2003 姓名:Li 成绩1:78 成绩2:69 成绩3:86 综合成绩:0.00
学号:2008 姓名:Zhao 成绩1:85 成绩2:74 成绩3:90 综合成绩:0.00
学号:2010 姓名:Liu 成绩1:85 成绩2:72 成绩3:85 综合成绩:0.00
学号:2001 姓名:Wang 成绩1:90 成绩2:85 成绩3:75 综合成绩:81.50
学号:2003 姓名:Li 成绩1:78 成绩2:69 成绩3:86 综合成绩:78.45
学号:2008 姓名:Zhao 成绩1:85 成绩2:74 成绩3:90 综合成绩:83.40
学号:2010 姓名:Liu 成绩1:85 成绩2:72 成绩3:85 综合成绩:80.45
学号:2003 姓名:Li 成绩1:78 成绩2:69 成绩3:86 综合成绩:78.45
Not Found.
学号:2001 姓名:Wang 成绩1:90 成绩2:85 成绩3:75 综合成绩:81.50
学号:2003 姓名:Li 成绩1:78 成绩2:69 成绩3:86 综合成绩:78.45
学号:2005 姓名:Bai 成绩1:80 成绩2:76 成绩3:80 综合成绩:0.00
学号:2008 姓名:Zhao 成绩1:85 成绩2:74 成绩3:90 综合成绩:83.40
学号:2010 姓名:Liu 成绩1:85 成绩2:72 成绩3:85 综合成绩:80.45
学号:2001 姓名:Wang 成绩1:90 成绩2:85 成绩3:75 综合成绩:87.50
学号:2003 姓名:Li 成绩1:78 成绩2:69 成绩3:86 综合成绩:73.50
学号:2005 姓名:Bai 成绩1:80 成绩2:76 成绩3:80 综合成绩:78.00
学号:2008 姓名:Zhao 成绩1:85 成绩2:74 成绩3:90 综合成绩:79.50
学号:2010 姓名:Liu 成绩1:85 成绩2:72 成绩3:85 综合成绩:78.50
学号:2003 姓名:Li 成绩1:78 成绩2:69 成绩3:86 综合成绩:73.50
学号:2005 姓名:Bai 成绩1:80 成绩2:76 成绩3:80 综合成绩:78.00
学号:2008 姓名:Zhao 成绩1:85 成绩2:74 成绩3:90 综合成绩:79.50
学号:2010 姓名:Liu 成绩1:85 成绩2:72 成绩3:85 综合成绩:78.50