C语言课程设计报告范文.docx
《C语言课程设计报告范文.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告范文.docx(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、优质文本目 录1课程设计目的与意义11.1目的与意义12 总体功能设计12.1 分析题意12.2 功能分配13 系统存储结构说明13.1 系统存储信息说明13.2 系统存储结构设计13.3 系统文件使用说明14系统功能分析24.1系统功能概述24.2系统模块25系统功能实现及代码描述35.1输入职工信息35.2输出职工信息35.3 职工工资排序35.4 删除职工信息45.5 修改职工信息55.6 增加职工人员55.7查询单个员工65.8寻找工资相同的员工66系统测试76.1输入模块76.2输出模块76.3职工排序86.4删除职工信息86.5修改职工信息86.6增加职工的人数96.7修改初始密码
2、96.8查询单个职工106.9寻找工资相同的职工107体会12参考文献12附录13优质文本1课程设计目的与意义1.1目的与意义随着社会的开展,越来越多的信息使人们在查找,修改,删除,增加信息变得额外困难,此时设计相关的系统就变得非常的重要,能使人们快速的解决问题。应选择职工管理系统,使管理者对职工的信息能够快速查看。2 总体功能设计2.1 分析题意院职工工资管理系统包含职工的全部信息。每个职工信息是一条记录,包括编号、姓名、性别、出生年月、年龄、婚姻状况、家庭住址、工资级别等情况。每个人的信息都存储在结构体数组中。2.2 功能分配系统以菜单的形式运行,职工的信息用文件保存,计算职工工资总额和平
3、均工资,且能对工资上下排序,从文件中找出工资相同的职工。3 系统存储结构说明3.1 系统存储信息说明院职工信息是一条记录,包括编号、姓名、性别、出生年月、年龄、婚姻状况、家庭住址、工资级别等情况。除了年龄,工资是整型,其他的信息名都定义为字符数组。3.2 系统存储结构设计为了方便使用,定义了一个结构体。将编号,姓名,性别,出生年月,婚姻状况以及家庭住址定义为字符串,年龄,工资定义为整型变量。其定义如下struct worker char num10;char name20;char sex5;char day20;char marry10;char address20;int money;in
4、t age; ;同时为了系统运算,定义一个结构体数组structworker pN;以及一个全局变量整型m去计算实际输入的职工人数。3.3 系统文件使用说明为了保存和使用在程序中输入的信息,故使用read()和write()两个函数来完成此功能,其代码如下:void read()system(cls);inti;FILE *fp;if(fp=fopen(职工工资管理,rb+)=NULL)printf(tt文件不存在!n);exit(0);i=0;while(!feof(fp)fread(&pi,sizeof(struct worker),1,fp);i+;m=i-1;fclose(fp);vo
5、id write()FILE *fp;inti;if(fp=fopen(职工工资管理,wb+)=NULL)printf(翻开文件不存在!);exit(0);i=0;while(im)fwrite(&pi,sizeof(struct worker),1,fp);i+;fclose(fp);4系统功能分析4.1系统功能概述以菜单形式运行,职工信息输入功能,职工信息输出功能,职工工资排序功能,修改职工信息功能,删除职工信息功能,修改密码功能。4.2系统模块第一个模块是输入模块,用户输入职工的根本信息,如假设输错可在修改模块里修改信息。第二个模块是输出模块,将用户输入的职工全部显示出来。第三个模块是查
6、询单个员工信息,输入员工的姓名便可找到。第四个模块是修改初始密码。第五个模块是输入职工姓名便可以删除此员工的信息。第六个模块是修改职工信息,输入正确选项可修改职工信息。第七个模块是增加员工,输入增加员工数量便可以输入信息。第八个模块是寻找相同工资的员工,输入工资便可得到与之相同工资的人。图4-1 系统功能模块图5系统功能实现及代码描述5.1输入职工信息首先定义一个整型变量i=0作为下标,根据提示输入实际人数n后,然后输入一条职工信息;输入完一条职工信息,判断i的大小。如果i小于实际输入人数n,那么i的值加1,将继续循环输入职工信息,同时全局变量m也随之增加。如假设i大于n,那么循环条件不成立,
7、那么输入结束,保存职工信息。图5-1输入职工信息5.2输出职工信息首先定义一个整型变量i=0做为下标,然后判断i是否小于实际输入人数,如果i小于m成立,那么输出职工信息,i增加,然后继续循环判断i是否小于n。如果i小于m不成立那么输出结束。图5-2输出职工信息5.3 职工工资排序首先定义两个整型变量i=0,j=1;j表示比拟的趟数,而i那么是数组元素的下标。在运行程序中,首先判断j是否小于实际输入人数m ,如果成立,那么继续判断i是否小于实际人数m减去j 的值,如果成立,那么判断pi.money=pi+1.money是否成立,如果成立那么交换以i为下标的姓名以及工资。如果不成立,那么i增加,继
8、续判断i是否小于m-j,如果不成立,那么j增加,判断j是否小于m,如果不成立,那么定义i为0,判断i是否小于实际人数m,成立,那么输出职工姓名以及工资。不成立,那么排序结束。图5-3职工工资排序5.4 删除职工信息首先定义三个整型变量i=0,b=0作为找到这一职工的记号,t作为找到该职工的下标,字符串 x20。然后输入要删除职工的姓名,判断i是否小于全局变量m,如果成立,那么判断strcmp(x,pi.name)=0是否成立,如果成立那么t=i;b=1;然后判断i小于m是否成立,如果不成立,那么判断b是否等于1,成立,那么没有此员工;不成立那么将以t+1为下标的职工信息复制给为以t为下标的职工
9、。删除职工成功。图5-4删除职工信息5.5 修改职工信息首先定义两个整型变量i=0,t,字符数组 x20。i为数组下标,t为修改成立的记号。输入要修改职工的姓名,然后判断i是否小于全局变量m,如果成立,那么判断strcmp(x,pi.name)=0是否成立,如果成立,t=1,输出员工信息,然后修改。如果不成立那么i增加,继续循环判断i是否小于m,如果不成立,那么判断t是否等于1,如果成立,那么没有该职工的姓名。如果不成立,那么信息修改成功。图5-5修改职工信息5.6 增加职工人员首先定义两个整型变量i=1,a为输入要增加的职工人数。然后判断i是否小于等于输入的人数,如果成立那么输入职工信息,此
10、时结构体数组的下标为m;输入结束后,然后i增加,m也增加。然后继续循环判断i是否小于输入人数a,不成立那么增加信息成功。图5-6增加职工人员5.7查询单个员工首先定义两个整型变量a,i=0;a为选择时的输入,i为数组的下标。然后选择1 姓名查找 2 编号查找。如果选择1,那么输入职工姓名,然后判断i是否小于全局变量m,如果成立,那么strcmp(x,pi.name)=0是否成立,如果成立那么输出员工信息,如果不成立,i增加,然后循环判断i是否小于m,如果不成立,那么输出没有此姓名的职员。如果选择2,那么输入职工编号,然后判断i是否小于全局变量m,如果成立,那么strcmp(x,pi.num)=
11、0是否成立,如果成立,那么输出职工信息,如果不成立,i增加,然后循环判断i是否小于m,如果不成立,那么输出没有此编号的职员。图5-9查询单个员工5.8寻找工资相同的员工首先定义两个整型变量i=0,a;输入想查找的工资,然后判断i小于m是否成立,如果成立,那么判断x=pi.money是否成立,如果成立,那么输出员工姓名以及工资,t=1;如果不成立,i增加,然后判断i小于m是否成立,如果不成立,那么判断t是否等于1,如果成立,那么输出没有员工的工资与之相同。图5-9寻找工资相同的员工6系统测试6.1输入模块在菜单界面选择1时,系统会要求输入实际输入人数。在输入完后,会进入输入模块版面,按输出的提示
12、输入职工的信息。输出界面如下:图6-1输入模块6.2输出模块在菜单界面选择2时,程序会将所有的职工信息输出来,包括职工工资,以及平均工资。输出界面如下:图6-2输出模块6.3职工排序在菜单界面选择8时,系统会输出员工工资排序然后换行,按行从大到小的输出职工姓名和工资。输出界面如下。图6-3职工排序6.4删除职工信息在菜单界面选择5时,系统会要求是按什么方式删除。如假设按姓名,那么系统会寻找与之匹配的员工姓名然后进行删除,如假设没有那么会提示没有该员工。如假设按编号,那么系统会寻找与之匹配的员工编号然后进行删除,如假设没有那么会提示没有该员工。运行界面如下:图6-4删除职工信息6.5修改职工信息
13、在菜单界面选择6,然后输入要修改员工的姓名,系统会寻找与之匹配的职工姓名,如假设有那么会输出该职工的信息,然后输入要修改的序号。如假设没有,那么会输出没有该职工。运行界面如下:图6-5修改职工信息6.6增加职工的人数在菜单界面选择7,系统会提示输入增加的人数。然后跟着提示输入职工的信息。运行界面如下:图6-6增加职工的人数6.7修改初始密码在菜单的页面上选择修改密码的选项然后输入新的密码,按快捷键保存,密码修改成功。图6-7修改初始密码6.8查询单个职工在菜单界面选择3,然后输入按什么方式查询,如果是1 按姓名查询,那么系统会提示请输入被查询员工的姓名,然后系统寻找与之匹配的姓名,成功那么输出
14、其信息,不成功那么输出没有该职工。如果是2 按编号查询,那么系统会提示请输入被查询员工的编号,然后系统寻找与之匹配的编号,成功那么输出其信息,不成功那么输出没有该职工。图6-8查询单个职工6.9寻找工资相同的职工在菜单页面选择9 系统会提示请输入您的工资,输入完毕后,系统会寻找工资与之相同的职工。寻找结束后输出结果。运行界面如下:图6-9寻找工资相同的职工7体会在这两个星期的课程设计中,我对C语言程序设计有了一个更加深入的认识,从刚开始的懵懂到有了比拟深入的了解,能够比拟灵活的运用它。所以我们可以在实践体验中,体会C语言的乐趣和好处。在这段时间里,我不仅学到了新的知识,同时也使我对以前学的知识
15、有了一个更深更透彻的理解。比方:能够灵活的运用双重循环冒泡法,switch语句,子函数的调用,结构体的定义、引用、使用。虽然对c语言编程还有许多不明白,但在课程设计的这段时间我真的获益匪浅。以前上c语言课,根本上没有深入理解自己所编的程序,就是仿照书本编一个程序,再运行几遍,没出现错误就过了,根本就没去理解它是如何去运行,为什么要这么写。但这次的课程设计就不一样,要对每个程序都有一个深入透彻的理解,不然在运行时就会出现系统崩溃,执行不了。C语言要求比拟严格,我们在编程的时候应该十分仔细,一个小小的错误都可能导致程序的无法编译。所以在面对这个课程时,受老师启发以及提醒,在编程时要想清楚自己有几个
16、模块要用,不要急着去写主函数,把子函数写好后再去写主函数,这样不仅缩短了编程的时间同时又提高了程序的可读性。后面用到c语言的地方还有很多,我将努力学习c语言,学好计算机。参考文献1 哈比森. C语言参考手册M.北京:机械工业出版社,2016:23-28.2 P.J.Plauger.C标准库M. 北京:人民邮电出版社,2016:41-48.3 Steve Maguire. 编程精粹M.北京:人民邮电出版社,2016:55-59.4 Peter Van Der Linden.C.专家编程M北京:人民邮电出版社,2016:61-68.5 凯尼格.C陷阱与缺陷M.北京:人民邮电出版社,2016:98-
17、114.6 Peter Prinz.语言核心技术M. 北京:机械工业出版社,2007:124-126. 7 王新,孙雷.C语言课程设计M. 北京:清华大学出版社, 2016:142-147.8 恰汗.合牧尔.计算机C语言程序设计M. 北京:中国铁道出版社,2010:34-45.9 王为青.C语言实战105列M. 北京:电子工业出版社.2003:56-57.10 谭明金.C语言程序设计实例精粹M. 北京:电子工业出版社.2002:50-52.附录:#include #include #include #define N 100struct worker char num10;char name2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 范文
限制150内