




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明书(论文)课程名称_c+程序设计实践_题 目_学生成绩管理系统_专 业_ _软件工程_班 级_1202_学 号_1211030210_姓 名_胡翔_起止日期_2013.12.23-2013.12.27_指导教师_赵新慧_成 绩_辽宁石油化工大学计算机与通信工程学院目录1 设计要求11.1题目介绍12.2设计目的13.3问题陈述12 实验原理及开发环境23 总体设计24 详细设计及实现:34.1 程序代码:34.2 执行结果:195 结束语31参考文献31摘要随着的电子技术的迅速发展,计算机的处理速度也飞快的增加,人们使用计算机越来越频繁,然后许多的操作信息都是在计算机上完成的,所以
2、用vc编辑一款学生成绩管理系统。为方便许多学校进行成绩的关系。 该系统采用vc+6.0作为开发环境,从而实现了对学生成绩的管理和查询。系统主要包含了参数设置(数学,英语语文成绩)、基本信息(学生信息、考试成绩)、系统查询(按学号查询、按姓名查询、按课程查询)和系统管理(用退出系统)AbstractThe rapid development of electronic technology, with the computer's processing speed is fast, the increase of al
3、l kinds of complicated, people use computer instead of human management activity is more and more urgent. While thewebsite plays more and more important, was called following the radio,newspapers, magazines。The system uses ASP as the development envi
4、ronment, ACCES as the database server, so as to realize the management and query of student achievement. The system mainly includes parameter setting (grade, class settings, test subjects and test categories), basic information (studen
5、t information, teacher information and test scores), system query (by student number query, query by class, query by name, according to the course of query) and system management (user maintenance and exit system)311 设计要求1.1题目介绍2、设计一个学生成绩排名
6、系统,该系统的主要功能如下:1) 具备对成绩的管理功能(添加、删除、排序)2) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等)3) 具备按学号、姓名、或课程名查询成绩的功能。4)学生成绩应该保存在文件中。备注:成绩记录以下信息:班级,学号,姓名,课程名,成绩(百分制)。可以用能表示学生成绩的结构体数组存储数据。2.2设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完C+程序设计课程后进行的一次全面的综合练习。本课程设计的目的和任务:(1)巩固和加深学生对C+课程的基本知识的理解和掌握;(2)掌握C+编程和程序调试的基本技能
7、;(3)利用C+进行简单软件设计的基本思路和方法;(4)提高运用C+解决实际问题的能力;(5)掌握书写程序设计说明文档的能力。3.3问题陈述1. 老师在进行学生信息统计,及考试以后学生成绩的管理,以及计算机的普及,为了更方便的让老师管理学生信息。所以决定开放一款学生成绩管理系统2 实验原理及开发环境实验是在vc+6.0的环境下编写的。通过对象数组,对象指针的使用。类的定义,模块的建立,以及多文件操作。3 总体设计其中有两个头文件,头文件中存储函数申明,类。然后cpp文件中现主函数中调用的相应的多个子函数的功能。通过文件的多模块设计。实现对学生成绩的管理。其中有主函数,等多个子模块。然后每个模块
8、分成相应的功能。如删除,查找,文件输入,文件读取,文件保存,输入到屏幕。Main函数中承载所有的函数选择功能,其中有draw,sort,creat ,Delete删除文件 search(信息查找 save(文件储存) 等功能,从而达到多文件的操作,不仅让程序方便阅读,而且程序的修改液比较方便。4 详细设计及实现:4.1 程序代码:Add.cpp#include<iostream>#include"student.h"#include"fundec.h"using namespace std;int Add(Student stu,int n)
9、 / /添加学生信息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<<"你输入的学号已存在"<<endl; /添加函数,如果存在则重新输入cout<<"请重新输入学号:"goto s;stui.setnum(a);cout<
10、<"请输入学生姓名:"cin>>stui.getname();cout<<"请输入学生班级:"cin>>a;stui.setclas(a);cout<<"请输入学生语文成绩:"cin>>a;stui.setchi(a);cout<<"请输入学生数学成绩:"cin>>a;stui.setmat(a);cout<<"请输入学生英语成绩:"cin>>a;stui.seteng(a);n+;
11、return n;Average.cpp /求学生成绩平均数#include<iostream>#include<string>using namespace std;#include"student.h"#include"fundec.h"int Student:Average()int average;average=(mat+chi+eng)/3;return average;Create.cpp /创建新的学生管理系统#include<iostream>#include<string>#includ
12、e<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;while(1) Cout<<”当你输入的学号为0时,终止输入。“cout<<"请输入学生学号:"cin>>a;if(a!=0) /该语句判断以学号0为结束标志stui.setnum(a);elseb
13、reak;cout<<"请输入学生姓名:"cin>>stui.getname();cout<<"请输入学生班级:"cin>>a;stui.setclas(a);cout<<"请输入学生语文成绩:"cin>>a;stui.setchi(a);cout<<"请输入学生数学成绩:"cin>>a;stui.setmat(a);cout<<"请输入学生英语成绩:"cin>>a;stui.
14、seteng(a);i+;n=i; /将输入的数据个数赋给学生信息计数器fstream ioFile; /文件操作ioFile.open("d:学生成绩管理系统.txt",ios:out);/ioFile<<setw(8)<<"学号"<<setw(8)<<"姓名"<<setw(8)<<"班级"<<setw(8)<<"语文"<<setw(8)<<"数学"<
15、;<setw(8)<<"英语"<<endl;for(i=0;i<n;i+) /将数据写入文件ioFile<<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&l
16、t;<setw(8)<<stui.geteng()<<endl;ioFile.close();return n;Delete.cpp /删除学生信息函数#include<iostream>#include"student.h"#include"fundec.h"using namespace std;int Del(Student stu,int n)cin.get();Student *p;p=stu;a:cout<<"请输入你所要删除的学生的学号:"int id;char se
17、lect;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-;cin.get();cin.get();break;elseif(j=n-1&&stuj.getnum()!=id) /当未找到时候,进行条件判断,提示是否继续输入cout<<j<<endl;cout<<"输入的学
18、号的学生信息不存在!"<<endl;cout<<"请检查输入的学号,是否需要继续输入(Y/N)"<<endl;cin>>select;if(select='Y'|select='y')goto a;break;return n;Draw.cpp /画图函数#include<iostream>#include<windows.h>using namespace std;void Draw()system("cls");cout<<&
19、quot;*欢迎使用学生成绩管理系统*"<<endl;cout<<" # 1:创建成绩管理系统 "cout<<" # 2:输出管理系统各学生信息 "<<endl;cout<<" # 3:删除学生信息 "cout<<" # 4:插入学生信息 "<<endl;cout<<" # 5:整理学生信息 "cout<<" # 6:查找学生信息 "<<endl;
20、cout<<" # 7:文件操作 "cout<<" # 8:成绩统计 "<<endl;cout<<" # 9:保存文件"cout<<" # 10:退出系统"<<endl;cout<<"*"<<endl;Foperate.cpp /文件操作,将文件的内容读取出来#include<iostream>#include<iomanip>#include<fstream>#i
21、nclude<windows.h>#include"student.h"#include"fundec.h"using namespace std;int Foperate(Student stu,int n)fstream ioFile; int num,clas,chi,mat,eng;ioFile.open("d:学生成绩管理系统.txt",ios:in|ios:binary);int i=0;cout<<setw(8)<<"学号"<<setw(8)<&l
22、t;"姓名"<<setw(8)<<"班级"<<setw(8)<<"语文"<<setw(8)<<"数学"<<setw(8)<<"英语"<<setw(8)<<"总分"<<setw(8)<<"平均分"<<endl;ioFile>>num;while(!ioFile.eof()ioFile>&
23、gt;stui.getname();ioFile>>clas;ioFile>>chi;ioFile>>mat;ioFile>>eng;stui.setnum(num);stui.setclas(clas);stui.setchi(chi);stui.setmat(eng);stui.seteng(mat);cout<<setw(8)<<stui.getnum();cout<<setw(8)<<stui.getname();cout<<setw(8)<<stui.getclas
24、();cout<<setw(8)<<stui.getchi();cout<<setw(8)<<stui.getmat();cout<<setw(8)<<stui.geteng();cout<<setw(8)<<stui.Total();cout<<setw(8)<<stui.Average()<<endl;i+;ioFile>>num;Sleep(100); n=i;cin.get();cin.get();return n;Main.cpp /主函数#
25、include<iostream>#include<fstream>using namespace std;#include<string>#include<windows.h>#include"student.h"#include"fundec.h"void main()Student stu10;int a,n;char s;Recordinterface(); / 系统登录界面控制函数while(1)h:Draw(); /系统美化界面控制寒素cout<<"请输入你的选择/&quo
26、t;cin>>a;switch(a)case 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:Sort(stu,n);break; /对学生进行排序case 6:Search(stu,n);break; /搜索学生信息case 7:n=Foperate(stu,n);break; /文件读取case 8:Statistic(stu,n);break; /对学生信
27、息进行整理,非文件操作case 9:Save(stu,n);break; /保存修改后的文件default: cout<<"你确定要退出系统?(y/n):" /判断你是否对出系统,比较人性化cin>>s;if(s='y'|s='Y');else goto h;for(int i=0;i<=9;i+)cout<<endl;cout<<"*谢谢使用学生成绩管理系统*"<<endl;Sleep(1000);exit(0);Print.cpp /输出到屏幕函数#in
28、clude<iostream>#include<iomanip>#include<windows.h>#include"student.h"#include"fundec.h"using namespace std;void Print(Student stu,int n)Student *p;p=stu;int i=0;cout<<setw(8)<<"学号"<<setw(8)<<"姓名"<<setw(8)<<
29、;"班级"<<setw(8)<<"语文"<<setw(8)<<"数学"<<setw(8)<<"英语"<<setw(8)<<"总分"<<setw(8)<<"平均分"<<endl;while(i<n)cout<<setw(8)<<stui.getnum();cout<<setw(8)<<stui.
30、getname();cout<<setw(8)<<stui.getclas();cout<<setw(8)<<stui.getchi();cout<<setw(8)<<stui.getmat();cout<<setw(8)<<stui.geteng();cout<<setw(8)<<stui.Total();cout<<setw(8)<<stui.Average()<<endl;i+;cin.get();cin.get();Recordin
31、terface.cpp /学生系统登录界面#include<iostream>#include<fstream>#include<string>#include<windows.h>using namespace std;void Recordinterface()cout<<"* *"<<endl;cout<<"* *"<<endl;cout<<"* *"<<endl;cout<<"* *&q
32、uot;<<endl;cout<<"* 学生成绩管理系统登陆界面 *"<<endl;cout<<"* *"<<endl;cout<<"* *"<<endl;cout<<"* *"<<endl;cout<<"* *"<<endl;cout<<"*"<<endl;/cout<<"1-已有用户名登陆 2-注
33、册新用户 3-管理员登陆 "<<endl;string c="huxiang"string a="123456789",d;char s24="正在进入系统中."cout<<" "<<"管理员登陆:"<<c<<endl;cout<<" "<<"密码:"cin>>d;for(int i=0;i<3;i+)if(a=d)cout<<&qu
34、ot;密码正确"<<endl;break;elsesystem("cls");cout<<"密码错误,请重新输入密码!"<<endl;system("cls");for(int j=0;j<3;j+)for(int h=0;h<9;h+)cout<<endl;for(i=0;i<24;i+)cout<<si;Sleep(100);system("cls");Save.cpp /文件保存操作#include<iostream
35、>#include<string>#include<iomanip>#include<fstream>#include"student.h"#include"fundec.h"using namespace std;void Save(Student stu,int n)fstream ioFile;ioFile.open("d:学生成绩管理系统.txt",ios:out);/ioFile<<setw(8)<<"学号"<<setw(8)&
36、lt;<"姓名"<<setw(8)<<"班级"<<setw(8)<<"语文"<<setw(8)<<"数学"<<setw(8)<<"英语"<<endl;for(int i=0;i<n;i+) / /将你的数据输入到文件保存ioFile<<setw(8)<<stui.getnum(); ioFile<<setw(8)<<stui.ge
37、tname();ioFile<<setw(8)<<stui.getclas();ioFile<<setw(8)<<stui.getchi();ioFile<<setw(8)<<stui.getmat();ioFile<<setw(8)<<stui.geteng()<<endl;ioFile.close();Search.cpp /查找学生信息.#include<iostream>#include<iomanip>#include<string>#inc
38、lude<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,select,i=0;cout<<"=欢迎使用学生成绩系统查找功能="<<endl;cout<<"按学号查找请输入1-,按姓名查找请输入2-,俺课程名查找输入3-"<&l
39、t;endl; /实现多种查找方式cout<<"请输入你的选择:"cin>>select;switch(select)case 1:i=0;cout<<"请输入学生学号:"cin>>id;for(i=0;i<=n;i+)if(stui.getnum()=id)cout<<setw(8)<<"学号"<<setw(8)<<"姓名"<<setw(8)<<"班级"<<
40、setw(8)<<"语文"<<setw(8)<<"数学"<<setw(8)<<"英语"<<setw(8)<<"总分"<<setw(8)<<"平均分"<<endl;cout<<setw(8)<<stui.getnum();cout<<setw(8)<<stui.getname();cout<<setw(8)<<
41、;stui.getclas();cout<<setw(8)<<stui.getchi();cout<<setw(8)<<stui.getmat();cout<<setw(8)<<stui.geteng()<<endl;cin.get();cin.get();break;if(i>=n)cout<<"没有查到符号要求的学生号!"<<endl;cin.get();cin.get();break;break;case 2:i=0;cout<<"请
42、输入学生姓名:"cin>>name;for(i=0;i<=n;i+)if(strcmp(name,stui.getname()=0)cout<<setw(8)<<"学号"<<setw(8)<<"姓名"<<setw(8)<<"班级"<<setw(8)<<"语文"<<setw(8)<<"数学"<<setw(8)<<"英语
43、"<<setw(8)<<"总分"<<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()
44、;cout<<setw(8)<<stui.geteng()<<endl;cin.get();break;if(i>n)cout<<"没有查到符合要求的学生姓名!"<<endl;cin.get();cin.get();break;break;case 3:cout<<"请输入课程名(语文,数学,英语):"cin>>sc_name;cout<<setw(8)<<"学号"<<setw(8)<<"
45、姓名"<<setw(8)<<"班级"<<setw(8)<<"语文"<<setw(8)<<"数学"<<setw(8)<<"英语"<<endl;for(i=0;i<n;i+)if(strcmp(sc_name,"语文")=0)cout<<setw(8)<<stui.getnum();cout<<setw(8)<<stui.getn
46、ame();cout<<setw(8)<<stui.getclas();cout<<setw(8)<<stui.getchi()<<endl;if(strcmp(sc_name,"数学")=0)cout<<setw(8)<<stui.getnum();cout<<setw(8)<<stui.getname();cout<<setw(8)<<stui.getclas();cout<<setw(16)<<stui.getma
47、t()<<endl;if(strcmp(sc_name,"英语")=0)cout<<setw(8)<<stui.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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 私人车位赠与协议书
- 深圳房屋转让协议书
- 委托处理硫酸协议书
- 商业店铺退租协议书
- 入股合伙协议书退出
- 兄弟购房协议书范本
- 学生托管转让协议书
- 社区施工协议书范本
- 债务履行协议书范本
- 旅游包车协议书范本
- 碘对比剂的安全管理-PPT
- 完整版老旧小区改造工程施工组织设计方案
- 北京邮电大学2016年自主招生申请报告-(完整)
- 盟史简介12.10.18课件
- 一夜长大【主持人尼格买提个人随笔集】
- 全过程造价咨询服务实施方案
- 2022年安徽省淮北市电焊工电焊工模拟考试(含答案)
- 有限空间作业安全培训
- 泰国落地签证申请表
- 神经内科住院医师规范化培训结业实践技能考核指导标准
- GB/T 26081-2022排水工程用球墨铸铁管、管件和附件
评论
0/150
提交评论