C#程序课程设计报告_第1页
C#程序课程设计报告_第2页
C#程序课程设计报告_第3页
C#程序课程设计报告_第4页
C#程序课程设计报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上课 程 设 计 报 告课程名称 C#程序设计 课题名称 教师工作量统计系统 专 业 信息管理与信息系统 班 级 信管1302 学 号 7 姓 名 陈静 指导教师 李峰 、赵锦元、谢雅 2015年 6 月 10 日湖南工程学院课 程 设 计 任 务 书课程名称 C#程序设计 课 题 教师工作量统计系统 专业班级 信管1302 学生姓名 陈静 学 号 7 指导老师 李峰 赵锦元 谢雅 审 批 任务书下达日期 2015 年 6 月 10 日任务完成日期 2015 年 6 月 27 日一、设计内容与设计要求1.课程设计目的:全面熟悉、掌握计算机系统与系统软件基本知识,增强对不

2、同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,增强面向对象程序设计概念,熟悉C+语言编程,养成提供文档资料的习惯和规范编程的思想,为后继课程的实验以及课程设计打下较扎实的基础。进一步提高上机动手能力,培养使用计算机解决实际问题的能力,为后继课程(数据结构、数据库和汇编语言等课程)的实验以及课程设计,特别是自学、毕业论文的完成打下扎实的基础。2.课题题目1、学生成绩管理系统 2、职工信息管理系统3、图书管理系统程序系统4、教师工作量统计系统3.设计要求:l 主要模块1、学生成绩管理系统 具有功能:1、显示统计

3、数据2、查找学生成绩3、修改学生成绩 4、删除学生成绩5、插入学生成绩6、按平均分降序排列7、显示全部学生成绩8、退出本系统2、职工信息管理 具有功能:1、添加信息2、显示统计数据3、查找学生成绩4、 修改信息5、删除信息6、插入信息 7、显示全部信息8、退出本系统3、图书管理系统程序具有功能:1、浏览书籍信息2、修改书籍信息3、统计书记情况4、查询书的基本信息5、录入新书信息4、教师工作量统计系统具有功能:1、输入教师信息 2、查看教师信息 3、清空记录 4、退出程序 课程设计报告规范1、完成系统需求分析:包括系统设计目的与意义;系统功能需求;输入输出的要求。2、完成系统概要设计:程序由哪些

4、模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能;课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。3、完成系统详细设计:包括采用C+语言定义相关的数据类型;写出各模块的类C+码算法;画出函数的调用关系图。4、调试分析、设计体会、测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果;程序调试中遇到的问题以及解决问题的方法;课程设计过程经验教训、心得体会。5、关键源程序(带注释)6、其他1)设计正确,方案合理。2)界面友好,使用方便。3)程序精炼,结构清晰。4)设计报告5000字以上,含程序设计说

5、明、系统的功能框图、流程图、源程序清单等。5)实际操作过程中遇到的问题及解决方法:设计总结及心得体会.6)上机演示。二、进度安排第 16 周 星期一 14时:00分星期二 14时:00分 星期四 14时:00分星期五 14时:00分第 17 周 星期二 8时:00分目 录1 系统需求分析利用C+语言和access数据库的相关知识设计与开发一个教师工作量统计系统,具有教师编号,姓名,工作学时的输入功能;可以在数据库中查询和删除所保存的记录:并具有退出该系统模块的功能。2 总体设计2.1总体设计图 教师工作量统计系统查找教师信息输出教师信息 输入教师信息统计教师信息 退出图2.12.2 各函数之间

6、的调用关系教师工作量统计系统定义存储结构主函数输入错误主要选择菜单是输入是否<0或>5?否统计函数查看教师信息输出教师信息输入教师信息图2.2图2.1 各函数的调用关系2.3 数据结构及数据库程序利用C+语言编写,数据保存到access数据库实现数据保存和查询以及数据库的更新。3 详细设计3.1 C+语言定义的相关数据类型class Person public: void display() cout<<"姓名:"cin>>name; cout<<"编号:"cin>>num; char name

7、20;/名字 int num;/编号 class Teacher:public Person/教师 public: Teacher(int s=800)score=s; void display1(); int score;/基本工资 int time;/月工作量;class Shiyanyuan:public Person/实验员 public: Shiyanyuan(int s=650,int b=150) score=s;buzu=b; void display1() cout<<"请输入实验员的" Person:display(); int score;

8、/基本工资 int buzu;/补助 ;class Jianzhi1:public Teacher,public Shiyanyuan/教师兼职实验员 public: Jianzhi1(int s=800,int b=150):Teacher(s=800),Shiyanyuan(b=150) void display1() cout<<"请输入教师兼职实验员的" Teacher:display(); cout<<"请输入教师兼职实验员的月工作量(小时): "cin>>time; ;Teacher t100;Shiyan

9、yuan s100;Jianzhi1 j100;3.2 各模块的类C码算法3.21 文件录入函数void wenjianluru()/文件录入int c;for(i=0;i+)show();cin>>c; if(c=4)cout<<"退出录入成功。"<<endl;break; else switch(c) case 1: jiaoshiluru(); break; case 2: shiyuanyuanluru();break; case 3:jianzhi1luru();break; default:cout<<"

10、上一次输入错误。"<<endl;break;3.22 文件录入函数void shuchu()/输出显示cout<<"输出顺序为:编号, 名字, 工资 "<<endl; jiaoshishuchu(); shiyanyuanshuchu(); jianzhi1shuchu();3.23 文件查询函数void wenjianchaxun()/文件查询int c; for(i=0;i+)show3();cin>>c; if(c=4)cout<<"退出查询成功。"<<endl;br

11、eak; else switch(c) case 1: jiaoshichaxun(); break; case 2: shiyanyuanchaxun();break; case 3:jianzhi1chaxun();break; default:cout<<"上一次输入错误。"<<endl;break;3.24 统计函数void tongji()/统计int c; for(i=0;i+)show4();cin>>c; if(c=4)cout<<"退出统计成功。"<<endl;break; e

12、lse switch(c) case 1: jiaoshitongji(); break; case 2: shiyanyuantongji();break; case 3:jianzhi1tongji();break; default:cout<<"上一次输入错误。"<<endl;break;4调试分析及设计体会4.1相关数据截图1) 菜单截图2) 文件录入截图3)文件显示截图4)查询截图4.2 程序调试中的问题 开始对<fstream>库不太熟悉,之前没有用过,所以在当使用再程序中始出现过语法错误,后来查询相关资料了解后发现其实所有&

13、lt;fstream>对象都能够把一个文件名当成构造函数的变量,并能够自动的打开文件,如: std:ofstream dictionary("myfile.txt"); 使用非常方便。5心得体会这次的课程设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们

14、学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。在有解决不了的问题时,我会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我们同学之间的友谊。为了增大信息的安全性,需要用文件来存储信息,由于我们在上课时不注重对文件的运用,所以在这方面有较大的困难。我先将书本认认真真地看了一遍,又做了一下课后习题来验证和增进自己的理解,终于,经过我们的不懈努力,我的程序有了突破,成功地实现了用文件来保存并查看学生的信息。这次设计中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。开始的时候,我画流程图很是困难,需要一个多小时才

15、能清楚的根据自己的想法画出图来,后来画多了,就更加了解它的功能,十分得心应手,能够比较快而准确的画出来。6.附录6.1 源代码. #include<fstream>#include<iostream>#include<stdlib.h>#include<string.h>using namespace std;int i;class Person public: void display() cout<<"姓名:"cin>>name; cout<<"编号:"cin>

16、>num; char name20;/名字 int num;/编号 class Teacher:public Person/教师 public: Teacher(int s=800)score=s; void display1(); int score;/基本工资 int time;/月工作量 ; void Teacher:display1() cout<<"请输入" Person:display(); cout<<"请输入教师的月工作量(小时): " cin>>time; class Shiyanyuan:pu

17、blic Person/实验员 public: Shiyanyuan(int s=650,int b=150) score=s;buzu=b; void display1() cout<<"请输入实验员的" Person:display(); int score;/基本工资 int buzu;/补助 ; class Jianzhi1:public Teacher,public Shiyanyuan/教师兼职实验员 public: Jianzhi1(int s=800,int b=150):Teacher(s=800),Shiyanyuan(b=150) void

18、 display1() cout<<"请输入教师兼职实验员的" Teacher:display(); cout<<"请输入教师兼职实验员的月工作量(小时): "cin>>time; ;Teacher t100;Shiyanyuan s100;Jianzhi1 j100;void show()cout<<"请输入你要录入的对象 :"<<endl; cout<<"1:教师"<<endl; cout<<"2:实验员&

19、quot;<<endl; cout<<"3:教师兼职实验员"<<endl; cout<<"4:退出录入"<<endl; cout<<"请选择: "void jiaoshiluru()/教师录入ofstream outfile("教师.txt",ios:app); if(!outfile)cerr<<"open error!"<<endl; exit(0);int b; cout<<&quo

20、t;请选择你要录入教师的个数:"cin>>b; for(i=0;i<b;i+)ti.display1(); outfile<<ti.num<<" "<<<<" "<<ti.score<<" "<<ti.time<<endl;outfile.close();void shiyuanyuanluru()/实验员录入ofstream outfile("实验员.txt",ios:app)

21、; if(!outfile)cerr<<"open error!"<<endl; exit(0);int b; cout<<"请输入你要录入实验员的个数:"cin>>b; for(i=0;i<b;i+)si.display1(); outfile<<si.num<<" "<<<<" "<<si.score<<" "<<si.buzu<<

22、;endl;outfile.close();void jianzhi1luru()/教师兼职实验员录入ofstream outfile("教师兼职实验员.txt",ios:app); if(!outfile)cerr<<"open error!"<<endl; exit(0);int b; cout<<" 请输入你要录入教师兼职实验员的个数:"cin>>b; for(i=0;i<b;i+)ji.display1(); outfile<<ji.Teacher:num<

23、;<" "<<ji.Teacher:name<<" "<<ji.Teacher:score<<" "<<ji.buzu<<" "<<ji.time<<endl;outfile.close();void wenjianluru()/文件录入int c;for(i=0;i+)show();cin>>c; if(c=4)cout<<"退出录入成功。"<<endl;b

24、reak; else switch(c) case 1: jiaoshiluru(); break; case 2: shiyuanyuanluru();break; case 3:jianzhi1luru();break; default:cout<<"上一次输入错误。"<<endl;break;void jiaoshishuchu()/教师输出显示ifstream infile("教师.txt",ios:in); int m; for(i=0;i<100;i+)infile>>ti.num>>ti

25、.name>>ti.score>>ti.time; if(ti.num=0)break; m=ti.score+(ti.time-24)*30; cout<<"教师: "<<ti.num<<" "<<<<" "<<m<<endl;infile.close();void shiyanyuanshuchu()/实验员输出fstream iofile("实验员.txt",ios:in); int m;

26、 for(i=0;i<100;i+)iofile>>si.num>>>>si.score>>si.buzu; if(si.num=0) break; m=si.score+si.buzu; cout<<"实验员: "<<si.num<<" "<<<<" "<<m<<endl;iofile.close();void jianzhi1shuchu()/教师兼职实验员输出fst

27、ream iofile("教师兼职实验员.txt",ios:in); int m; for(i=0;i<100;i+)iofile>>ji.Teacher:num>>ji.Teacher:name>>ji.Teacher:score>>ji.buzu>>ji.time; if(ji.Teacher:num=0) break; m=ji.Teacher:score+ji.buzu+(ji.time-12)*30; cout<<"教师兼职实验员:"<<ji.Teache

28、r:num<<" "<<ji.Teacher:name<<" "<<m<<endl;iofile.close();void shuchu()/输出显示cout<<"输出顺序为:编号, 名字, 工资 "<<endl; jiaoshishuchu(); shiyanyuanshuchu(); jianzhi1shuchu();void show3()cout<<"请输入你要查询的对象:"<<endl; cout&

29、lt;<" 1:教师查询"<<endl; cout<<" 2:实验员查询"<<endl; cout<<" 3:教师兼职实验员查询"<<endl; cout<<" 4:退出查询"<<endl; cout<<" 请选择一个操作:"void jiaoshichaxun()ifstream infile("教师.txt",ios:in); char nam20;int m,n; co

30、ut<<"请输入你要查询教师的名字: "cin>>nam; for(i=0,n=0;i<100;i+)infile>>ti.num>>>>ti.score>>ti.time; if(ti.num=0) break; if(strcmp(,nam)=0)n+; m=ti.score+(ti.time-24)*30; cout<<"教师: "<<ti.num<<" "<<&

31、lt;<" "<<m<<endl; if(n=0) cout<<"没有你要查询的教师。"<<endl;infile.close();void shiyanyuanchaxun()/实验员查询fstream iofile("实验员.txt",ios:in); int m,n;char nam20; cout<<"请输入你要查询实验员的名字:"cin>>nam; for(i=0,n=0;i<100;i+)iofile>>si

32、.num>>>>si.score>>si.buzu; if(ti.num=0) break; if(strcmp(,nam)=0)n+; m=si.score+si.buzu; cout<<"实验员: "<<si.num<<" "<<<<" "<<m<<endl; if(n=0)cout<<"没有你要查询的实验员。"<<endl;i

33、ofile.close();void jianzhi1chaxun()/教师兼职实验员查询fstream iofile("教师兼职实验员.txt",ios:in); int m,n;char nam20; cout<<"请输入你要查询的教师兼职实验员的名字: "cin>>nam; for(i=0,n=0;i<100;i+)iofile>>ji.Teacher:num>>ji.Teacher:name>>ji.Teacher:score>>ji.buzu>>ji.ti

34、me; if(ji.Teacher:num=0) break; if(strcmp(ji.Teacher:name,nam)=0)n+;m=ji.Teacher:score+ji.buzu+(ji.time-12)*30; cout<<"教师兼职实验员:"<<ji.Teacher:num<<" "<<ji.Teacher:name<<" "<<m<<endl; if(n=0)cout<<"没有你要查询的教师兼职实验员。"

35、<<endl;iofile.close();void wenjianchaxun()/文件查询int c; for(i=0;i+)show3();cin>>c; if(c=4)cout<<"退出查询成功。"<<endl;break; else switch(c) case 1: jiaoshichaxun(); break; case 2: shiyanyuanchaxun();break; case 3:jianzhi1chaxun();break; default:cout<<"上一次输入错误。&qu

36、ot;<<endl;break;void show4()cout<<"请输入你要统计的对象:"<<endl; cout<<" 1:教师统计"<<endl; cout<<" 2:实验员人数统计"<<endl; cout<<" 3:教师兼职实验员统计"<<endl; cout<<" 4:退出统计"<<endl; cout<<" 请选择一个操作:&q

37、uot;void jiaoshitongji()/教师统计ifstream infile("教师.txt",ios:in); int m, n,m1; cout<<"请输入你要统计教师的工资: "cin>>m1; for(i=0,n=0;i<100;i+)infile>>ti.num>>>>ti.score>>ti.time; if(ti.num=0) break; m=ti.score+(ti.time-24)*20; if(m=m1) n+; if(n=0)

38、cout<<"没有你要统计的教师。"<<endl; else cout<<"教师工资是"<<m1<<"的人数是:"<<n<<"人"<<endl;infile.close();void shiyanyuantongji()/实验员统计fstream iofile("实验员.txt",ios:in); int n; for(i=0,n=0;i<100;i+)iofile>>si.num&

39、gt;>>>si.score>>si.buzu; if(si.num=0) break;n+; if(n=0)cout<<"还没有实验员的录入。"<<endl; else cout<<"实验员的人数是"<<n<<"人。他们的工资是800元。"<<endl;iofile.close();void jianzhi1tongji()/教师兼职实验员统计fstream iofile("教师兼职实验员.txt"

40、,ios:in); int m,n,m1; cout<<"请输入你要统计的教师兼职实验员的工资: "cin>>m1; for(i=0,n=0;i<100;i+)iofile>>ji.Teacher:num>>ji.Teacher:name>>ji.Teacher:score>>ji.buzu>>ji.time; if(ji.Teacher:num=0) break; m=ji.Teacher:score+ji.buzu+(ji.time-12)*20; if(m=m1) n+; if(n=0)cout<<"没有你要统计的教师兼职实验员。"<<endl; else cout<<"教师兼职实验员的工资是"<<m1<&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论