纯数组学生成绩管理系统(不使用链表)
在不使用链表的情况下,我们可以使用数组储存多个数据。
代码如下:
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <iostream> 4 #include <string> 5 #include <iomanip> 6 #include <conio.h> 7 #include <time.h> 8 #include <math.h> 9 #include <memory> 10 #include <malloc.h> 11 #include <fstream> 12 #define N 10 //最大输入量N 13 using namespace std; 14 15 int main(){ 16 int n=0,num=1,cj[N][3]; 17 string xm[N]; 18 char c; 19 //输入学生信息 20 for(int i=0;i<N;i++){ 21 cout<<"请输入姓名:"; 22 cin>>xm[i];//i控制学生 23 cout<<"请输入此生的三科成绩:"; 24 for(int j=0;j<3;j++){ 25 cin>>cj[i][j];//j控制对应学生成绩 26 } 27 cout<<endl<<"你还要继续输入下一个学生吗(Y/N)?"; 28 cin>>c; 29 if(c=='Y'){ 30 if(i==N-1){ 31 cout<<"系统人数已满"<<endl; 32 break;//人满时退出循环 33 } 34 else 35 num++; 36 } 37 else 38 break;//输入N时退出循环 39 } 40 //输出学生信息 41 cout<<left<<setw(4)<<"姓名xm"<<'\t'<<"成绩cj"<<'\t'<<"语文"<<'\t'<<"数学"<<'\t'<<"英语"<<endl; 42 for(int i=0;i<num;i++){ 43 cout<<left<<setw(8)<<xm[i]<<'\t'; 44 for(int j=0;j<3;j++){ 45 cout<<cj[i][j]<<'\t'; 46 } 47 cout<<endl; 48 } 49 //输入一个学生姓名,查出此学生的成绩情况,并计算平均分 50 string name;bool flag=1; 51 cout<<"请输入一个学生姓名:"; 52 cin>>name; 53 for(int i=0;i<num;i++){ 54 if(name==xm[i]){ 55 int j=0; 56 flag=0; 57 cout<<"语文:"<<cj[i][j]<<"分,数学:"<<cj[i][j+1]<<"分,英语:"<<cj[i][j+2]<<"分,平均分:"<<(cj[i][j]+cj[i][j+1]+cj[i][j+2])/3<<"分"<<endl; 58 break; 59 } 60 } 61 if(flag) 62 cout<<"未查找到该学生的信息!"<<endl; 63 //输入一个科目名称,求此科目的平均分:如输入“英语” 64 string km;int s=0; 65 cout<<"输入一个科目名称,求此科目的平均分:"; 66 cin>>km; 67 for(int i=0;i<num;i++){ 68 s=s+cj[i][2]; 69 } 70 cout<<km<<"科目平均分为:"<<s/num<<"分"<<endl; 71 system("pause"); 72 return 0; 73 }
输出结果为:
此文章为原创,转载请说明出处。