C#程序课程设计报告

上传人:痛*** 文档编号:163468041 上传时间:2022-10-21 格式:DOC 页数:25 大小:607.50KB
返回 下载 相关 举报
C#程序课程设计报告_第1页
第1页 / 共25页
C#程序课程设计报告_第2页
第2页 / 共25页
C#程序课程设计报告_第3页
第3页 / 共25页
点击查看更多>>
资源描述
课 程 设 计 报 告课程名称 C#程序设计 课题名称 教师工作量统计系统 专 业 信息管理与信息系统 班 级 信管1302 学 号 7 姓 名 陈静 指导教师 李峰 、赵锦元、谢雅 2015年 6 月 10 日湖南工程学院课 程 设 计 任 务 书课程名称 C#程序设计 课 题 教师工作量统计系统 专业班级 信管1302 学生姓名 陈静 学 号 7 指导老师 李峰 赵锦元 谢雅 审 批 任务书下达日期 2015 年 6 月 10 日任务完成日期 2015 年 6 月 27 日一、设计内容与设计要求1.课程设计目的:全面熟悉、掌握计算机系统与系统软件基本知识,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,增强面向对象程序设计概念,熟悉C+语言编程,养成提供文档资料的习惯和规范编程的思想,为后继课程的实验以及课程设计打下较扎实的基础。进一步提高上机动手能力,培养使用计算机解决实际问题的能力,为后继课程(数据结构、数据库和汇编语言等课程)的实验以及课程设计,特别是自学、毕业论文的完成打下扎实的基础。2.课题题目1、学生成绩管理系统 2、职工信息管理系统3、图书管理系统程序系统4、教师工作量统计系统3.设计要求:l 主要模块1、学生成绩管理系统 具有功能:1、显示统计数据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、完成系统概要设计:程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能;课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。3、完成系统详细设计:包括采用C+语言定义相关的数据类型;写出各模块的类C+码算法;画出函数的调用关系图。4、调试分析、设计体会、测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果;程序调试中遇到的问题以及解决问题的方法;课程设计过程经验教训、心得体会。5、关键源程序(带注释)6、其他1)设计正确,方案合理。2)界面友好,使用方便。3)程序精炼,结构清晰。4)设计报告5000字以上,含程序设计说明、系统的功能框图、流程图、源程序清单等。5)实际操作过程中遇到的问题及解决方法:设计总结及心得体会.6)上机演示。二、进度安排第 16 周 星期一 14时:00分星期二 14时:00分 星期四 14时:00分星期五 14时:00分第 17 周 星期二 8时:00分目 录1 系统需求分析12 总体设计12.1总体设计图12.2 各函数之间的调用关系22.3 数据结构及数据库23 详细设计33.1 采用C+语言定义的相关数据类型33.2 各模块的类C码算法43.2.1 文件录入函数43.2.2 文件显示函数43.2.3 信息查询函数43.2.4 统计函数54 调试分析及设计体会54.1 程序运行结果64.1.1 菜单截图64.1.2 文件录入截图64.1.3 文件输出截图74.1.4查询结果截图74.2 程序调试中的问题85 心得体会86 附录96.1 源代码96.2 参考文献:187 评分表191 系统需求分析利用C+语言和access数据库的相关知识设计与开发一个教师工作量统计系统,具有教师编号,姓名,工作学时的输入功能;可以在数据库中查询和删除所保存的记录:并具有退出该系统模块的功能。2 总体设计2.1总体设计图 教师工作量统计系统查找教师信息输出教师信息 输入教师信息统计教师信息 退出图2.12.2 各函数之间的调用关系教师工作量统计系统定义存储结构主函数输入错误主要选择菜单是输入是否5?否统计函数查看教师信息输出教师信息输入教师信息图2.2图2.1 各函数的调用关系2.3 数据结构及数据库程序利用C+语言编写,数据保存到access数据库实现数据保存和查询以及数据库的更新。3 详细设计3.1 C+语言定义的相关数据类型class Person public: void display() coutname; coutnum; char name20;/名字 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;/基本工资 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(); couttime; ;Teacher t100;Shiyanyuan s100;Jianzhi1 j100;3.2 各模块的类C码算法3.21 文件录入函数void wenjianluru()/文件录入int c;for(i=0;i+)show();cinc; if(c=4)cout退出录入成功。endl;break; else switch(c) case 1: jiaoshiluru(); break; case 2: shiyuanyuanluru();break; case 3:jianzhi1luru();break; default:cout上一次输入错误。endl;break;3.22 文件录入函数void shuchu()/输出显示cout输出顺序为:编号, 名字, 工资 c; if(c=4)cout退出查询成功。endl;break; else switch(c) case 1: jiaoshichaxun(); break; case 2: shiyanyuanchaxun();break; case 3:jianzhi1chaxun();break; default:cout上一次输入错误。c; if(c=4)cout退出统计成功。endl;break; else 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 程序调试中的问题 开始对库不太熟悉,之前没有用过,所以在当使用再程序中始出现过语法错误,后来查询相关资料了解后发现其实所有对象都能够把一个文件名当成构造函数的变量,并能够自动的打开文件,如: std:ofstream dictionary(myfile.txt); 使用非常方便。5心得体会这次的课程设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。在有解决不了的问题时,我会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我们同学之间的友谊。为了增大信息的安全性,需要用文件来存储信息,由于我们在上课时不注重对文件的运用,所以在这方面有较大的困难。我先将书本认认真真地看了一遍,又做了一下课后习题来验证和增进自己的理解,终于,经过我们的不懈努力,我的程序有了突破,成功地实现了用文件来保存并查看学生的信息。这次设计中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。开始的时候,我画流程图很是困难,需要一个多小时才能清楚的根据自己的想法画出图来,后来画多了,就更加了解它的功能,十分得心应手,能够比较快而准确的画出来。6.附录6.1 源代码. #include#include#include#includeusing namespace std;int i;class Person public: void display() coutname; coutnum; 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(); couttime; class Shiyanyuan:public 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 display1() cout请输入教师兼职实验员的; Teacher:display(); couttime; ;Teacher t100;Shiyanyuan s100;Jianzhi1 j100;void show()cout请输入你要录入的对象 :endl; cout1:教师endl; cout2:实验员endl; cout3:教师兼职实验员endl; cout4:退出录入endl; cout请选择: ;void jiaoshiluru()/教师录入ofstream outfile(教师.txt,ios:app); if(!outfile)cerropen error!endl; exit(0);int b; coutb; for(i=0;ib;i+)ti.display1(); outfileti.num ti.name ti.score ti.timeendl;outfile.close();void shiyuanyuanluru()/实验员录入ofstream outfile(实验员.txt,ios:app); if(!outfile)cerropen error!endl; exit(0);int b; coutb; for(i=0;ib;i+)si.display1(); outfilesi.num si.name si.score si.buzuendl;outfile.close();void jianzhi1luru()/教师兼职实验员录入ofstream outfile(教师兼职实验员.txt,ios:app); if(!outfile)cerropen error!endl; exit(0);int b; coutb; for(i=0;ib;i+)ji.display1(); outfileji.Teacher:num ji.Teacher:name ji.Teacher:score ji.buzu ji.timec; if(c=4)cout退出录入成功。endl;break; 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;iti.numti.nameti.scoreti.time; if(ti.num=0)break; m=ti.score+(ti.time-24)*30; cout教师: ti.num ti.name mendl;infile.close();void shiyanyuanshuchu()/实验员输出fstream iofile(实验员.txt,ios:in); int m; for(i=0;isi.numsi.namesi.scoresi.buzu; if(si.num=0) break; m=si.score+si.buzu; cout实验员: si.num si.name mendl;iofile.close();void jianzhi1shuchu()/教师兼职实验员输出fstream iofile(教师兼职实验员.txt,ios:in); int m; for(i=0;iji.Teacher:numji.Teacher:nameji.Teacher:scoreji.buzuji.time; if(ji.Teacher:num=0) break; m=ji.Teacher:score+ji.buzu+(ji.time-12)*30; cout教师兼职实验员:ji.Teacher:num ji.Teacher:name mendl;iofile.close();void shuchu()/输出显示cout输出顺序为:编号, 名字, 工资 endl; jiaoshishuchu(); shiyanyuanshuchu(); jianzhi1shuchu();void show3()cout请输入你要查询的对象:endl; cout 1:教师查询endl; cout 2:实验员查询endl; cout 3:教师兼职实验员查询endl; cout 4:退出查询endl; cout 请选择一个操作:;void jiaoshichaxun()ifstream infile(教师.txt,ios:in); char nam20;int m,n; coutnam; for(i=0,n=0;iti.numti.nameti.scoreti.time; if(ti.num=0) break; if(strcmp(ti.name,nam)=0)n+; m=ti.score+(ti.time-24)*30; cout教师: ti.num ti.name mendl; if(n=0) cout没有你要查询的教师。endl;infile.close();void shiyanyuanchaxun()/实验员查询fstream iofile(实验员.txt,ios:in); int m,n;char nam20; coutnam; for(i=0,n=0;isi.numsi.namesi.scoresi.buzu; if(ti.num=0) break; if(strcmp(si.name,nam)=0)n+; m=si.score+si.buzu; cout实验员: si.num si.name mendl; if(n=0)cout没有你要查询的实验员。endl;iofile.close();void jianzhi1chaxun()/教师兼职实验员查询fstream iofile(教师兼职实验员.txt,ios:in); int m,n;char nam20; coutnam; for(i=0,n=0;iji.Teacher:numji.Teacher:nameji.Teacher:scoreji.buzuji.time; 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 mendl; if(n=0)cout没有你要查询的教师兼职实验员。c; if(c=4)cout退出查询成功。endl;break; else switch(c) case 1: jiaoshichaxun(); break; case 2: shiyanyuanchaxun();break; case 3:jianzhi1chaxun();break; default:cout上一次输入错误。endl;break;void show4()cout请输入你要统计的对象:endl; cout 1:教师统计endl; cout 2:实验员人数统计endl; cout 3:教师兼职实验员统计endl; cout 4:退出统计endl; cout 请选择一个操作:;void jiaoshitongji()/教师统计ifstream infile(教师.txt,ios:in); int m, n,m1; coutm1; for(i=0,n=0;iti.numti.nameti.scoreti.time; if(ti.num=0) break; m=ti.score+(ti.time-24)*20; if(m=m1) n+; if(n=0) cout没有你要统计的教师。endl; else cout教师工资是m1的人数是:n人endl;infile.close();void shiyanyuantongji()/实验员统计fstream iofile(实验员.txt,ios:in); int n; for(i=0,n=0;isi.numsi.namesi.scoresi.buzu; if(si.num=0) break;n+; if(n=0)cout还没有实验员的录入。endl; else cout实验员的人数是n人。他们的工资是800元。endl;iofile.close();void jianzhi1tongji()/教师兼职实验员统计fstream iofile(教师兼职实验员.txt,ios:in); int m,n,m1; coutm1; for(i=0,n=0;iji.Teacher:numji.Teacher:nameji.Teacher:scoreji.buzuji.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的人数为n人。c; if(c=4)cout退出统计成功。endl;break; else switch(c) case 1: jiaoshitongji(); break; case 2: shiyanyuantongji();break; case 3:jianzhi1tongji();break; default:cout上一次输入错误。endl;break;void show5()cout*高校工资管理系统* endl; cout * 1:文件录入 * endl; cout * 2:文件输出显示 * endl; cout * 3:统计 * endl; cout * 4:查询 * endl; cout * 5:退出 * endl; coutc; if(c=5)cout 退出成功。endl;break; else switch(c) case 1: wenjianluru(); break; case 2: shuchu();break; case 3:tongji();break; case 4:wenjianchaxun();break; default:cout上一次输入错误。endl;break;return 0;6.2 参考文献1谭浩强编著.C+程序设计.北京:清华大学出版社.20042(美)戴特尔(Deitel,H.M.)等编著.张引等译.C+大学基础教程(第五版).北京电子工业出版社.2006.63夏云庆编著.VisualC+6.0数据库高级编程.北京希望电子出版社.20024伍俊良编著.VisualC+6.0课程设计与系统开发案例.北京清华大学出版社.2002.117 评分表计算机与通信学院课程设计评分表课程名称: 项 目评 价设计方案的合理性与创造性设计与调试结果设计说明书的质量答辩陈述与回答问题情况课程设计周表现情况综合成绩 教师签名: 日 期:
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!