收藏 分销(赏)

C学籍标准管理系统.docx

上传人:快乐****生活 文档编号:2998814 上传时间:2024-06-12 格式:DOCX 页数:32 大小:61.95KB 下载积分:12 金币
下载 相关 举报
C学籍标准管理系统.docx_第1页
第1页 / 共32页
C学籍标准管理系统.docx_第2页
第2页 / 共32页


点击查看更多>>
资源描述
C++学生学籍管理系统 1、 基础要求:为方便管理一个班同学学籍,编写一个学籍管理系统软件。系统统计必需包含学生姓名、学号、数学、物理、化学、英语、网络等课程成绩。 2、 基础管理功效: (1) 添加:增加一个同学统计到管理系统中。 (2) 查询:能够依据姓名或学号查找某人相关信息,若找到则显示其信息。 (3) 修改:在管理系统中修改一个同学统计。 (4) 保留:将全部学生学籍信息保留在一个文件中(数据库文件或一般文本文件)。 (5) 读取:从文件中读取已保留了数据。 (6) 删除:从管理系统中删除一条统计。 (7) 恢复:能恢复被删除统计。 (8) 统计:(A)计算各门课程全班平均成绩及总成绩;(B) 统计其课程全班得:100分、 90~99分、80~89分、70~79分、60~69分、59分以下学生人数及全班总人数百分比;(C)以表格形式打印全部学生平均成绩(包含各课总平均成绩)。 (9) 其它:能够依据自己思绪设计其它功效。 PS:我们汇报是手写,所以汇报没有弄上来,不过源程序大家能够看一下,下面是运行界面 剩下功效大家自己试吧,这里就不截图了。 源程序:(头文件#include "stdafx.h"和主函数int main(int argc, char* argv[]) 是建工程时自带,把之前清掉后直接复制即可) #include "stdafx.h" #include<iostream> #include<fstream> #include<cmath> #include<string> #include<stdlib.h> #include<conio.h> #include<iomanip> using namespace std; int n=0,u=0; int number[5][6]={{0},{0},{0},{0},{0}}; //各门学科分段成绩人数 double point[5][6]={{0},{0},{0},{0},{0}}; double eva[5]={0,0,0,0,0}; string find_name; string find_num; int p; void search(string); void search(int); void cunqu_data(); /*存取文件*/ void save_data(); /*保留文件*/ void read_data(); /*读取文件*/ void renew_data(); /*删除恢复*/ void delete_data(int m); /*删除统计*/ void recover_data(); /*恢复统计*/ void set_eva2(); /*课程平均成绩*/ void put_result1(); void put_result2(); void put_result3(); class Student /*定义一个Student类*/ {public: Student(); /*结构函数*/ void set_eva(); friend void set_massage(int m,Student j[]);/*友元函数*/ friend void add_massage(int m,Student j[]);/*友元函数*/ friend void put_massage(int m,Student j[]); friend void change_data(int m,Student j[]);/*修改学生信息*/ friend void search_data(); /*查找学生信息*/ friend void search_name(string name); friend void search_num(string num); friend void set_number(); friend void set_point(); friend void save_data(); /*保留文件*/ friend void read_data(); /*读取文件*/ friend void delete_data(int m); /*删除统计*/ friend void recover_data(); /*恢复统计*/ friend void set_eva2(); /*课程平均成绩*/ friend void put_result1(); private: string name; /*姓名*/ string num; /*学号*/ string sex; /*性别*/ double eva; /*学习水平*/ double shuxue; /*数学成绩*/ double wuli; /*物理成绩*/ double huaxue; /*化学成绩*/ double yingyu; /*英语成绩*/ double wangluo; /*网络成绩*/ }stud[200],studl[200]; Student::Student() /*定义结构函数*/ {name="wu"; num="wu"; sex="wu"; shuxue=0; wuli=0; huaxue=0; yingyu=0; wangluo=0; } void Student::set_eva() //计算平均成绩 {eva=(shuxue+wuli+huaxue+yingyu+wangluo)/5; } void set_massage(int m,Student j[]) {int i; for(i=0;i<m;i++) {cout<<"输入第"<<i+1<<"个学生信息"<<endl; cout<<"姓名 学号 性别 数学成绩 物理成绩 化学成绩 英语成绩 网络成绩"<<endl; cin>>j[i].name>>j[i].num>>j[i].sex>>j[i].shuxue>>j[i].wuli>>j[i].huaxue>>j[i].yingyu>>j[i].wangluo; cout<<'\n'; system("cls"); }} void add_massage(int m,Student j[])//增加学生信息 {int i; for(i=n;i<n+m;i++) {cout<<"输入第"<<i+1<<"个学生信息"<<endl; cout<<"姓名 学号 性别 数学成绩 物理成绩 化学成绩 英语成绩 网络成绩"<<endl; cin>>j[i].name>>j[i].num>>j[i].sex>>j[i].shuxue>>j[i].wuli>>j[i].huaxue>>j[i].yingyu>>j[i].wangluo; system("cls"); } n=n+m;} void change_data(int m,Student j[])//修改学生信息 {if(m==0||m>n) {cout<<"输入错误!"<<endl;getch();} else { cout<<endl; cout<<" 输入该同学新学籍信息"<<endl; cout<<" ______________________________ "<<endl; cout<<"姓名 学号 性别 数学成绩 物理成绩 化学成绩 英语成绩 网络成绩"<<endl; cin>>j[m-1].name>>j[m-1].num>>j[m-1].sex>>j[m-1].shuxue>>j[m-1].wuli>>j[m-1].huaxue>>j[m-1].yingyu>>j[m-1].wangluo; system("cls"); cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<" 修改成功^_^,按任意键返回主菜单。"<<endl;getch();} } void put_massage(int m,Student j[]) {int i; cout<<" ________________________________________________________________ "<<endl; cout<<" |序号| 姓 名 | 学 号 |性别|数学|物理|化学|英语|网络|"<<endl; cout<<" |----|--------|----------|----|----|----|----|----|----|"<<endl; for(i=0;i<m;i++) { cout<<" |";cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<setiosflags(ios::fixed)<<setprecision(0)<<i+1;cout<<"|"; cout<<" "<<setfill('\0')<<setw(7)<<setiosflags(ios::left)<<setiosflags(ios::fixed)<<setprecision(0)<<j[i].name;cout<<"|"; cout<<setfill('\0')<<setw(10)<<setiosflags(ios::left)<<setiosflags(ios::fixed)<<setprecision(0)<<j[i].num;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<setiosflags(ios::fixed)<<setprecision(0)<<j[i].sex;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<setiosflags(ios::fixed)<<setprecision(0)<<j[i].shuxue;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<setiosflags(ios::fixed)<<setprecision(0)<<j[i].wuli;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<setiosflags(ios::fixed)<<setprecision(0)<<j[i].huaxue;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<setiosflags(ios::fixed)<<setprecision(0)<<j[i].yingyu;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<setiosflags(ios::fixed)<<setprecision(0)<<j[i].wangluo;cout<<"|"; cout<<'\n';} cout<<" |____|________|__________|____|____|____|____|____|____| "<<endl; } void search_data()//查找功效 {char a; for(a='0';a=='0'||a!='4';) {system("cls"); cout<<"1.按姓名查找"<<endl<<"2.按学号查找"<<endl<<"3.输出全部学生信息"<<endl<<"4.返回主菜单"<<endl; cin>>a; system("cls"); switch(a) { case '1':cout<<"输入您需要查找学生姓名: ";cin>>find_name;search_name(find_name);break; case '2':cout<<"输入您需要查找学号: ";cin>>find_num;search_num(find_num);break; case '3':cout<<endl; cout<<" 学生学籍信息"<<endl; put_massage(n,stud);getch();break; case '4':break; default:cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<" 错误指令!按任意键返回。"<<endl;getch();break; }} } void search_name(string name)//按姓名查找 {int i; bool flag=false; for(i=0;i<n;i++) if(stud[i].name==name) {cout<<" ________________________________________________________________"<<endl; cout<<" |序号| 姓 名 | 学 号 |性别|数学|物理|化学|英语|网络|"<<endl; cout<<" |----|--------|----------|----|----|----|----|----|----|"<<endl; cout<<" |";cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<i+1;cout<<"|"; cout<<" "<<setfill('\0')<<setw(7)<<setiosflags(ios::left)<<stud[i].name;cout<<"|"; cout<<setfill('\0')<<setw(10)<<setiosflags(ios::left)<<stud[i].num;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<stud[i].sex;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<stud[i].shuxue;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<stud[i].wuli;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<stud[i].huaxue;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<stud[i].yingyu;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<stud[i].wangluo;cout<<"|"; cout<<'\n'; cout<<" |____|________|__________|____|____|____|____|____|____| "<<endl; flag=true; break; } if(flag==false) cout<<"对不起,暂无此学生信息"; getch();} void search_num(string num)//按学号查找 {int i; bool flag=false; for(i=0;i<n;i++) if(stud[i].num==num) { cout<<" ________________________________________________________________"<<endl; cout<<" |序号| 姓 名 | 学 号 |性别|数学|物理|化学|英语|网络|"<<endl; cout<<" |----|--------|----------|----|----|----|----|----|----|"<<endl; cout<<" |";cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<i+1;cout<<"|"; cout<<" "<<setfill('\0')<<setw(7)<<setiosflags(ios::left)<<stud[i].name;cout<<"|"; cout<<setfill('\0')<<setw(10)<<setiosflags(ios::left)<<stud[i].num;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<stud[i].sex;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<stud[i].shuxue;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<stud[i].wuli;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<stud[i].huaxue;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<stud[i].yingyu;cout<<"|"; cout<<" "<<setfill('\0')<<setw(3)<<setiosflags(ios::left)<<stud[i].wangluo;cout<<"|"; cout<<'\n'; cout<<" |____|________|__________|____|____|____|____|____|____| "<<endl; flag=true; break; } if(flag==false) cout<<"对不起,暂无此学生信息"; getch();} void set_number()//number[][] 开始 {int e,f,i,t; for(e=0,f=0,t=0,i=0;i<n;i++) //100 {if(stud[i].shuxue==100) t++; } number[e][f]=t; for(e=1,f=0,t=0,i=0;i<n;i++) {if(stud[i].wuli==100) t++; } number[e][f]=t; for(e=2,f=0,t=0,i=0;i<n;i++) {if(stud[i].huaxue==100) t++; } number[e][f]=t; for(e=3,f=0,t=0,i=0;i<n;i++) {if(stud[i].yingyu==100) t++; } number[e][f]=t; for(e=4,f=0,t=0,i=0;i<n;i++) {if(stud[i].wangluo==100) t++; } number[e][f]=t; for(e=0,f=1,t=0,i=0;i<n;i++) //90~99 {if(stud[i].shuxue>=90&&stud[i].shuxue<=99) t++; } number[e][f]=t; for(e=1,f=1,t=0,i=0;i<n;i++) //90~99 {if(stud[i].wuli>=90&&stud[i].wuli<=99) t++; } number[e][f]=t; for(e=2,f=1,t=0,i=0;i<n;i++) //90~99 {if(stud[i].huaxue>=90&&stud[i].huaxue<=99) t++; } number[e][f]=t; for(e=3,f=1,t=0,i=0;i<n;i++) //90~99 {if(stud[i].yingyu>=90&&stud[i].yingyu<=99) t++; } number[e][f]=t; for(e=4,f=1,t=0,i=0;i<n;i++) //90~99 {if(stud[i].wangluo>=90&&stud[i].wangluo<=99) t++; } number[e][f]=t; for(e=0,f=2,t=0,i=0;i<n;i++) //80~89 {if(stud[i].shuxue>=80&&stud[i].shuxue<=89) t++; } number[e][f]=t; for(e=1,f=2,t=0,i=0;i<n;i++) //80~89 {if(stud[i].wuli>=80&&stud[i].wuli<=89) t++; } number[e][f]=t; for(e=2,f=2,t=0,i=0;i<n;i++) //80~89 {if(stud[i].huaxue>=80&&stud[i].huaxue<=89) t++; } number[e][f]=t; for(e=3,f=2,t=0,i=0;i<n;i++) //80~89 {if(stud[i].yingyu>=80&&stud[i].yingyu<=89) t++; } number[e][f]=t; for(e=4,f=2,t=0,i=0;i<n;i++) //80~89 {if(stud[i].wangluo>=80&&stud[i].wangluo<=89) t++; } number[e][f]=t; for(e=0,f=3,t=0,i=0;i<n;i++) //70~79 {if(stud[i].shuxue>=90&&stud[i].shuxue<=99) t++; } number[e][f]=t; for(e=1,f=3,t=0,i=0;i<n;i++) //70~79 {if(stud[i].wuli>=70&&stud[i].wuli<=79) t++; } number[e][f]=t; for(e=2,f=3,t=0,i=0;i<n;i++) //70~79 {if(stud[i].huaxue>=70&&stud[i].huaxue<=79) t++; } number[e][f]=t; for(e=3,f=3,t=0,i=0;i<n;i++) //70~79 {if(stud[i].yingyu>=70&&stud[i].yingyu<=79) t++; } number[e][f]=t; for(e=4,f=3,t=0,i=0;i<n;i++) //70~79 {if(stud[i].wangluo>=70&&stud[i].wangluo<=79) t++; } number[e][f]=t; for(e=0,f=4,t=0,i=0;i<n;i++) //60~69 {if(stud[i].shuxue>=60&&stud[i].shuxue<=69) t++; } number[e][f]=t; for(e=1,f=4,t=0,i=0;i<n;i++) //60~69 {if(stud[i].wuli>=60&&stud[i].wuli<=69) t++; } number[e][f]=t; for(e=2,f=4,t=0,i=0;i<n;i++) //60~69 {if(stud[i].huaxue>=60&&stud[i].huaxue<=69) t++; } number[e][f]=t; for(e=3,f=4,t=0,i=0;i<n;i++) //60~69 {if(stud[i].yingyu>=60&&stud[i].yingyu<=69) t++; } number[e][f]=t; for(e=4,f=4,t=0,i=0;i<n;i++) //60~69 {if(stud[i].wangluo>=60&&stud[i].wangluo<=69) t++; } number[e][f]=t; for(e=0,f=5,t=0,i=0;i<n;i++) //59以下 {if(stud[i].shuxue>=0&&stud[i].shuxue<=59) t++; } number[e][f]=t; for(e=1,f=5,t=0,i=0;i<n;i++) //59以下 {if(stud[i].wuli>=0&&stud[i].wuli<=59) t++; } number[e][f]=t; for(e=2,f=5,t=0,i=0;i<n;i++) //59以下 {if(stud[i].huaxue>=0&&stud[i].huaxue<=59) t++; } number[e][f]=t; for(e=3,f=5,t=0,i=0;i<n;i++) //59以下 {if(stud[i].yingyu>=0&&stud[i].yingyu<=59) t++; } number[e][f]=t; for(e=4,f=5,t=0,i=0;i<n;i++) //59以下 {if(stud[i].wangluo>=0&&stud[i].wangluo<=59) t++; } number[e][f]=t; } void set_point() //point[][] {int e,f; for(e=0;e<5;e++) {for(f=0;f<6;f++) point[e][f]=number[e][f]/(n*1.0)*100;} } void set_eva2() /*课程平均成绩*/ {double s;int i; for(i=0,s=0;i<n;i++) {s=s+stud[i].shuxue;} eva[0]=s/(n*1.0); for(i=0,s=0;i<n;i++) {s=s+stud[i].wuli;} eva[1]=s/(n*1.0); for(i=0,s=0;i<n;i++) {s=s+stud[i].huaxue;} eva[2]=s/(n*1.0); for(i=0,s=0;i<n;i++) {s=s+stud[i].yingyu;} eva[3]=s/(n*1.0); for(i=0,s=0;i<n;i++) {s=s+stud[i].wangluo;} eva[4]=s/(n*1.0); } void put_result() //输出统计结果 {char g; for(g='0';g=='0'||g!='4';) { system("cls"); cout<<"1.查询每位学生总平均分"<<endl<<"2.查询各课成绩分布及平均成绩"<<endl<<"3.查询各段成绩所占百分比"<<endl<<"4.返回主菜单"<<endl; cin>>g; system("cls"); switch(g) {case '1':put_result1();getch();break; case '2':put_result2();getch();break; case '3':put_result3();getch();break; case '4':break; default:cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<" 错误指令!按任意键返回。"<<endl;getch();break; } }} void put_result1()//每位学生总平均分 {int e; cout<<" 学生总平均分 "<<endl; cout<<" ___________________"<<endl; cout<<" |姓 名|平均成绩|"<<endl; cout<<" |-------|--------|"<<endl; for(e=0;e<n;e++) {cout<<" |";cout<<setfill('\0')<<setw(6)<<setiosflags(ios::right)<<stud[e].name<<" "<<"|";cout<<setfill('\0')<<setw(6)<<setiosflags(ios::right)<<stud[e].eva<<" "<<"|"<<endl; } cout<<" |_______|________|"<<endl; } void put_result2() //输出统计结果2 {int e,f; cout<<" 各课成绩分布及平均成绩 "<<endl; cout<<" _______________________________________________________________"<<endl; cout<<" |课 程| 100 |90~99|80~89|70~79|60~69|60以下|平均分|"<<endl; cout<<" |-----|------|------|------|------|------|------|------|"<<endl; cout<<" |";cout<<"数 学|";for(e=0,f=0;f<6;f++){cout<<setfill('\0')<<setw(4)<<setiosflags(ios::right)<<number[e][f]<<" "<<"|";}cout<<" "<<setfill('\0')<<setw(5)<<setiosflags(ios::left)<<setiosflags(ios::fixed)<<setprecision(1)<<eva[0]<<"|"<<endl; cout<<" |";cout<<"物 理|";for(e=1,f=0;f<6;f++){cout<<setfill('\0')<<setw(4)<<setiosflags(ios::right)<<number[e][f]<<" "<<"|";}cout<<" "<<setfill('\0')<<setw(5)<<setiosflags(ios::left)<<setiosflags(ios::fixed)<<setprecision(1)<<eva[1]<<"|"<<endl; cout<<" |";cout<<"化 学|";for(e=2,f=0;f<6;f++){cout<<setfill('\0')<<setw(4)<<setiosflags(ios::right)<<number[e][f]<<" "<<"|";}cout<<" "<<setfill('\0')<<setw(5)<<setiosflags(ios::left)<<setiosflags(ios::fixed)<<setprecision(1)<<eva[2]<<"|"<<endl; cout<<" |";cout<<"英 语|";for(e=3,f=0;f<6;f++){cout<<setfill('\0')<<setw(4)<<s
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服