



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明书(论文)课程名称 _c+ 程序设计实践 _题目_学生成绩管理系统_专业_软件工程 _班级_1202_学号_1211030210_姓名 _胡翔 _起止日期指导教师 _赵新慧 _成绩_1辽宁石油化工大学计算机与通信工程学院目录1 设计要求11.1 题目介绍12.2 设计目的13.3 问题陈述12 实验原理及开发环境. . 23 总体设计24 详细设计及实现: . . 24.1 程序代码:24.2 执行结果 :195 结束语31参考文献312摘要随着的电子技术的迅速发展,计算机的处理速度也飞快的增加,人们使用计算机越来越频繁,然后许多的操作信息都是在计算机上完成的,所以用 vc 编辑一
2、款学生成绩管理系统。为方便许多学校进行成绩的关系。该系统采用 vc+6.0 作为开发环境,从而实现了对学生成绩的管理和查询。系统主要包含了参数设置(数学,英语语文成绩)、基本信息(学生信息、考试成绩)、系统查询(按学号查询、按姓名查询、按课程查询)和系统管理(用退出系统)AbstractThe rapid development of electronic technology, with the computer'sprocessing speed is fast, the increase of all kinds of complicated, people use comput
3、er instead of human management activity is more and more urgent. While thewebsite plays more and more important, was called followingthe radio,newspapers, magazines。The system uses ASP as the development environment, ACCES as the database server, so as to realize the management and query of student
4、achievement. The system mainly includes parameter setting (grade, class settings, test subjects and test categories), basic information (student information, teacher information and test scores), system query (by student number query, query by class, query by name, according to the course of query)
5、and system management (user maintenance and exit system)31 设计要求1.1 题目介绍2、设计一个学生成绩排名系统,该系统的主要功能如下:1) 具备对成绩的管理功能(添加、删除、排序)2) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等)3) 具备按学号、姓名、或课程名查询成绩的功能。4)学生成绩应该保存在文件中。备注:成绩记录以下信息:班级,学号,姓名,课程名,成绩(百分制)。可以用能表示学生成绩的结构体数组存储数据。2.2 设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一, 是在学生学习完 C+程序设计课程后进行的
6、一次全面的综合练习。本课程设计的目的和任务:(1)巩固和加深学生对 C+课程的基本知识的理解和掌握;(2)掌握 C+编程和程序调试的基本技能; (3)利用 C+进行简单软件设计的基本思路和方法; ( 4)提高运用 C+解决实际问题的能力;(5)掌握书写程序设计说明文档的能力。3.3 问题陈述1. 老师在进行学生信息统计,及考试以后学生成绩的管理,以及计算机的普及,为了更方便的让老师管理学生信息。 。所以决定开放一款学生成绩管理系统12 实验原理及开发环境实验是在 vc+6.0 的环境下编写的。通过对象数组,对象指针的使用。类的定义,模块的建立,以及多文件操作 。3 总体设计其中有两个头文件,
7、头文件中存储函数申明,类。然后cpp 文件中现主函数中调用的相应的多个子函数的功能。通过文件的多模块设计。 实现对学生成绩的管理。其中有主函数,等多个子模块。然后每个模块分成相应的功能。如删除,查找,文件输入,文件读取,文件保存,输入到 屏 幕 。 Main函 数 中 承 载 所 有 的 函 数 选 择 功 能 , 其 中 有draw,sort,creat ,Delete 删除文件 search (信息查找 save (文件储存) 等功能,从而达到多文件的操作,不仅让程序方便阅读,而且程序的修改液比较方便。4 详细设计及实现 :4.1 程序代码 :Add.cpp2#include<ios
8、tream>#include"student.h"#include"fundec.h"using namespace std;int Add(Student stu,int n)/ /添加学生信息Student *p;p=stu;int i=n,a;cout<<" 请输入你所需要添加的学生信息 :"<<endl; cout<<" 请输入学生学号 :"s:cin>>a;for(int j=0;j<n;j+)if(a=stuj.getnum()cout<
9、<" 你输入的学号已存在 "<<endl;/添加函数,如果存在则重新输入cout<<" 请重新输入学号 :"goto s;stui.setnum(a);cout<<" 请输入学生姓名 :"cin>>stui.getname();cout<<" 请输入学生班级 :"cin>>a;stui.setclas(a);cout<<" 请输入学生语文成绩 :"cin>>a;stui.setchi(a);co
10、ut<<" 请输入学生数学成绩 :"cin>>a;stui.setmat(a);cout<<" 请输入学生英语成绩 :"cin>>a;stui.seteng(a);n+;3return n;Average.cpp/求学生成绩平均数#include<iostream>#include<string>using namespace std;#include"student.h"#include"fundec.h"int Student:Averag
11、e()int average;average=(mat+chi+eng)/3;return average;Create.cpp/创建新的学生管理系统#include<iostream>#include<string>#include<iomanip>#include<fstream>#include"student.h"#include"fundec.h"using namespace std;int Create(Student stu,int n)int a,i=0;Student *p;p=stu;
12、while(1)Cout<<”当你输入的学号为0 时,终止输入。“cout<<" 请输入学生学号 :"cin>>a;if(a!=0)/该语句判断以学号0 为结束标志4stui.setnum(a);elsebreak;cout<<" 请输入学生姓名 :"cin>>stui.getname();cout<<" 请输入学生班级 :"cin>>a;stui.setclas(a);cout<<" 请输入学生语文成绩 :"cin&g
13、t;>a;stui.setchi(a);cout<<" 请输入学生数学成绩 :"cin>>a;stui.setmat(a);cout<<" 请输入学生英语成绩 :"cin>>a;stui.seteng(a);i+;n=i; / 将输入的数据个数赋给学生信息计数器fstream ioFile;/ 文件操作学生成绩管理系统 .txt",ios:out);/ioFile<<setw(8)<<"学号 "<<setw(8)<<&quo
14、t; 姓名 "<<setw(8)<<"班级 "<<setw(8)<<" 语文 "<<setw(8)<<" 数学 "<<setw(8)<<" 英语 "<<endl;for(i=0;i<n;i+)/将数据写入文件ioFile<<setw(8)<<stui.getnum();ioFile<<setw(8)<<stui.getname();ioFile&
15、lt;<setw(8)<<stui.getclas();ioFile<<setw(8)<<stui.getchi();ioFile<<setw(8)<<stui.getmat();ioFile<<setw(8)<<stui.geteng()<<endl;5ioFile.close();return n;Delete.cpp/删除学生信息函数#include<iostream>#include"student.h"#include"fundec.h&qu
16、ot;using namespace std;int Del(Student stu,int n)cin.get();Student *p;p=stu;a: cout<<" 请输入你所要删除的学生的学号 :" int id;char select; cin>>id;for(int j=0;j<n;j+)if(stuj.getnum()=id)/如果找到了,则提示操作成功并覆盖删除cout<<" 操作成功 !"<<endl;for(int i=j;i<n-1;i+)stui=stui+1;n-;c
17、in.get();cin.get();break;elseif(j=n-1&&stuj.getnum()!=id)/当未找到时候,进行条件判断,提示是否继续输入6cout<<j<<endl;cout<<" 输入的学号的学生信息不存在!"<<endl;cout<<" 请 检查 输 入 的 学号 ,是 否需 要 继 续 输入(Y/N)"<<endl;cin>>select;if(select='Y'|select='y')got
18、o a;break;return n;Draw.cpp/画图函数#include<iostream>#include<windows.h>using namespace std;void Draw()system("cls");cout<<"*欢迎使用学生成绩管理系统*"<<endl;cout<<"# 1:创建成绩管理系统"cout<<"# 2:输出管理系统各学生信息"<<endl;cout<<"# 3:删除学
19、生信息"cout<<"# 4:插入学生信息"<<endl;cout<<"# 5:整理学生信息"cout<<"# 6:查找学生信息"<<endl;cout<<"# 7:文件操作"cout<<"# 8:成绩统计"<<endl;cout<<"# 9:保存文件 "cout<<"# 10:退出系统 "<<endl;cout&l
20、t;<"*"<<endl;7Foperate.cpp/文件操作 , 将文件的内容读取出来#include<iostream>#include<iomanip>#include<fstream>#include<windows.h>#include"student.h"#include"fundec.h"using namespace std;int Foperate(Student stu,int n)fstream ioFile;int num,clas,chi,ma
21、t,eng;学生成绩管理系统 .txt",ios:in|ios:binary); int i=0;cout<<setw(8)<<" 学 号 "<<setw(8)<<" 姓 名 "<<setw(8)<<" 班 级"<<setw(8)<<" 语 文 "<<setw(8)<<" 数 学 "<<setw(8)<<" 英 语 "<
22、;<setw(8)<<" 总分 "<<setw(8)<<" 平均分 "<<endl;ioFile>>num;while(!ioFile.eof()ioFile>>stui.getname();ioFile>>clas;ioFile>>chi;ioFile>>mat;ioFile>>eng;stui.setnum(num);stui.setclas(clas);stui.setchi(chi);stui.setmat(eng);st
23、ui.seteng(mat);cout<<setw(8)<<stui.getnum();cout<<setw(8)<<stui.getname();cout<<setw(8)<<stui.getclas();cout<<setw(8)<<stui.getchi();8cout<<setw(8)<<stui.getmat();cout<<setw(8)<<stui.geteng();cout<<setw(8)<<stui.Tota
24、l();cout<<setw(8)<<stui.Average()<<endl;i+;ioFile>>num;Sleep(100);n=i;cin.get();cin.get();return n;Main.cpp/主函数#include<iostream>#include<fstream>using namespace std;#include<string>#include<windows.h>#include"student.h"#include"fundec.h
25、"void main()Student stu10;int a,n;char s;Recordinterface();/系统登录界面控制函数while(1)h:Draw();/系统美化界面控制寒素cout<<" 请输入你的选择 /"cin>>a;switch(a)9case 1:n=Create(stu,n);break;/创建case 2:Print(stu,n);break;/输出到屏幕case 3:n=Del(stu,n);break;/删除学生信息case 4:n=Add(stu,n);break;/添加学生信息case 5:Sor
26、t(stu,n);break;/对学生进行排序case 6:Search(stu,n);break;/搜索学生信息case 7:n=Foperate(stu,n);break;/文件读取case 8:Statistic(stu,n);break;/对学生信息进行整理,非文件操作case 9:Save(stu,n);break;/保存修改后的文件default:cout<<" 你确定要退出系统?(y/n):"/判断你是否对出系统,比较人性化cin>>s;if(s='y'|s='Y');elsegoto h;for(int
27、 i=0;i<=9;i+)cout<<endl;cout<<"*谢谢使用学生成绩管理系统 *"<<endl;Sleep(1000);exit(0);Print.cpp/输出到屏幕函数10#include<iostream>#include<iomanip>#include<windows.h>#include"student.h"#include"fundec.h"using namespace std;void Print(Student stu,int
28、n)Student *p;p=stu;int i=0;cout<<setw(8)<<" 学 号 "<<setw(8)<<" 姓 名 "<<setw(8)<<" 班 级 "<<setw(8)<<" 语 文 "<<setw(8)<<" 数 学 "<<setw(8)<<" 英 语 "<<setw(8)<<"
29、 总分 "<<setw(8)<<" 平均分 "<<endl;while(i<n)cout<<setw(8)<<stui.getnum();cout<<setw(8)<<stui.getname();cout<<setw(8)<<stui.getclas();cout<<setw(8)<<stui.getchi();cout<<setw(8)<<stui.getmat();cout<<setw(
30、8)<<stui.geteng();cout<<setw(8)<<stui.Total();cout<<setw(8)<<stui.Average()<<endl;i+;cin.get();cin.get();Recordinterface.cpp/学生系统登录界面#include<iostream>#include<fstream>#include<string>#include<windows.h>11using namespace std;void Recordinte
31、rface()cout<<"*"<<endl;cout<<"*"<<endl;cout<<"*"<<endl;cout<<"*"<<endl;cout<<"*学生成绩管理系统登陆界面*"<<endl;cout<<"*"<<endl;cout<<"*"<<endl;cout<<&q
32、uot;*"<<endl;cout<<"*"<<endl;cout<<"*"<<endl;/cout<<"1-已有用户名登陆2-注册新用户 3-管理员登陆 "<<endl;string c="huxiang"string a="123456789",d;char s24="正在进入系统中 ."cout<<""<<"管理员登陆 :&
33、quot;<<c<<endl;cout<<""<<"密码 :"cin>>d;for(int i=0;i<3;i+)if(a=d) cout<<" 密码正确 "<<endl; break;else12system("cls");cout<<" 密码错误,请重新输入密码!"<<endl;system("cls");for(int j=0;j<3;j+)for(i
34、nt h=0;h<9;h+)cout<<endl;for(i=0;i<24;i+)cout<<si;Sleep(100);system("cls");Save.cpp/文件保存操作#include<iostream>#include<string>#include<iomanip>#include<fstream>#include"student.h"#include"fundec.h"using namespace std;void Save(Stu
35、dent stu,int n)fstream ioFile;学生成绩管理系统 .txt",ios:out);/ioFile<<setw(8)<<"学号 "<<setw(8)<<" 姓名 "<<setw(8)<<"班级 "<<setw(8)<<" 语文 "<<setw(8)<<" 数学 "<<setw(8)<<" 英语 "&l
36、t;<endl;for(int i=0;i<n;i+)/将你的数据输入到文件保存13ioFile<<setw(8)<<stui.getnum();ioFile<<setw(8)<<stui.getname();ioFile<<setw(8)<<stui.getclas();ioFile<<setw(8)<<stui.getchi();ioFile<<setw(8)<<stui.getmat();ioFile<<setw(8)<<stui.g
37、eteng()<<endl;ioFile.close();Search.cpp/查找学生信息 .#include<iostream>#include<iomanip>#include<string>#include<windows.h>#include"student.h"#include"fundec.h"using namespace std;void Search(Student stu,int n)Student *p;p=stu;char name20,sc_name20;int id
38、,select,i=0;cout<<"= 欢 迎 使 用 学 生 成 绩 系 统 查 找 功 能 ="<<endl;cout<<" 按学号查找请输入 1-,按姓名查找请输入2-, 俺课程名查找输入3-"<<endl;/ 实现多种查找方式cout<<" 请输入你的选择 :"cin>>select;switch(select)case 1:i=0;14cout<<" 请输入学生学号 :"cin>>id;for(i=0;i&l
39、t;=n;i+)if(stui.getnum()=id)cout<<setw(8)<<" 学 号 "<<setw(8)<<" 姓 名 "<<setw(8)<<" 班 级 "<<setw(8)<<" 语 文 "<<setw(8)<<" 数 学 "<<setw(8)<<" 英语 "<<setw(8)<<"
40、 总分 "<<setw(8)<<" 平均分 "<<endl;cout<<setw(8)<<stui.getnum();cout<<setw(8)<<stui.getname();cout<<setw(8)<<stui.getclas();cout<<setw(8)<<stui.getchi();cout<<setw(8)<<stui.getmat();cout<<setw(8)<<stu
41、i.geteng()<<endl;cin.get();cin.get();break;if(i>=n)cout<<" 没有查到符号要求的学生号!"<<endl;cin.get();cin.get();break;break;case 2:i=0;cout<<" 请输入学生姓名 :"cin>>name;for(i=0;i<=n;i+)if(strcmp(name,stui.getname()=0)cout<<setw(8)<<"学号"<
42、<setw(8)<<"姓名15"<<setw(8)<<" 班 级 "<<setw(8)<<" 语 文 "<<setw(8)<<" 数 学 "<<setw(8)<<" 英语 "<<setw(8)<<" 总分 "<<setw(8)<<" 平均分 "<<endl;cout<<se
43、tw(8)<<stui.getnum();cout<<setw(8)<<stui.getname();cout<<setw(8)<<stui.getclas();cout<<setw(8)<<stui.getchi();cout<<setw(8)<<stui.getmat();cout<<setw(8)<<stui.geteng()<<endl;cin.get();break;if(i>n)cout<<" 没有查到符合要求的
44、学生姓名!"<<endl;cin.get();cin.get();break;break;case 3:cout<<" 请输入课程名 ( 语文,数学,英语 ):" cin>>sc_name;cout<<setw(8)<<" 学号 "<<setw(8)<<" 姓名 "<<setw(8)<<" 班 级 "<<setw(8)<<" 语 文 "<<se
45、tw(8)<<" 数 学 "<<setw(8)<<" 英 语"<<endl;for(i=0;i<n;i+)if(strcmp(sc_name,"语文 ")=0)cout<<setw(8)<<stui.getnum();cout<<setw(8)<<stui.getname();cout<<setw(8)<<stui.getclas();cout<<setw(8)<<stui.getchi
46、()<<endl;if(strcmp(sc_name,"数学 ")=0)16cout<<setw(8)<<stui.getnum();cout<<setw(8)<<stui.getname();cout<<setw(8)<<stui.getclas();cout<<setw(16)<<stui.getmat()<<endl;if(strcmp(sc_name,"英语 ")=0)cout<<setw(8)<<stu
47、i.getnum();cout<<setw(8)<<stui.getname();cout<<setw(8)<<stui.getclas();cout<<setw(24)<<stui.geteng()<<endl;cin.get();cin.get();break;default:break;Sort.cpp/对学生信息进行排序#include<iostream>#include<iomanip>#include"student.h"#include"fundec.h"using namespace std;void Sort(Student stu,int n)Student *p,swap1;p=stu;for(int i=0;i<n-1;i+)for(int j=0;j<n-1-i;j+)if(stuj.getnum()>stuj+1.getnum()17swap0=stuj;stuj=stuj+1;stuj+1=swap0;cout<<" 操作成功 :"<&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西防城港市总工会招聘编外工作人员1人模拟试卷带答案详解
- 2025海南卫生健康职业学院考核招聘事业编人员10人备考考试题库附答案解析
- 2025年春季内蒙古包头铁道职业技术学院人才引进模拟试卷附答案详解(考试直接用)
- 2025湖南株洲市渌口区财政局招聘投资评审专业技术人员3人考试参考试题及答案解析
- 2025重庆市铜梁区土桥镇人民政府公益性岗位招聘1人备考考试题库附答案解析
- 粮油国企笔试题目及答案
- 2025年福建省福州市中医院招聘12人模拟试卷及答案详解(各地真题)
- 2025年广东佛山市南海区桂城街道公开招聘辅警1人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025广东佛山市南海区住房城乡建设和水务局下属事业单位招聘公益一类事业编制工作人员6人考试参考题库及答案解析
- 2025北京市第五十七中学招聘考前自测高频考点模拟试题及答案详解(新)
- 架线弧垂计算表(应力弧垂插值计算)
- 万夫一力天下无敌 课件-2023-2024学年高一上学期增强班级凝聚力主题班会
- 调试、试运行与移交管理方案
- GB/T 26655-2011蠕墨铸铁件
- 热镀锌钢管技术标准
- 周三多管理学第03章管理的基本原理
- 基础生态学第4章种群及其基本特征课件
- 虚拟现实与增强现实头戴显示关键技术及应用项目
- 《电力工业企业档案分类规则0大类》(1992年修订版)
- GB∕T 26520-2021 工业氯化钙-行业标准
- 温州医科大学《儿科学》支气管肺炎
评论
0/150
提交评论