湖南工程学院C语言课程设计报告工资管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

课程设计报告课程名称C语言课程设计课题名称工资管理系统专业汽车服务工程班级学号姓名指导教师王宁肖伟平郭芳2014年1月3日2湖南工程学院课程设计任务书课程名称C课程设计课题工资管理系统专业班级汽车服务1202班学生姓名学号指导老师王宁肖伟平郭芳审批任务书下达日期2013年12月27日任务完成日期2014年1月3日3一、设计内容与设计要求1.设计内容:设计与发开一个工资管理系统,对工号、姓名、编号、姓名、基本工资、扣款、应发工资、税金、实发工资等信息进行管理。主要完成以下功能:1).显示所有数据2).单条显示3).计算实发工资4).查找职工信息数据5).删除记录6).插入记录7).追加记录8).保存文件9).读取文件10).按实发工资升序排序2.设计要求:1).设计正确,方案合理。2).界面友好,使用方便。3).程序精炼,结构清晰。4).设计报告5000字以上,含程序设计说明、系统的功能框图、流程图、源程序清单等。5).实际操作过程中遇到的问题及解决方法:设计总结及心得体会.46).上机演示。二、进度安排第十七周周五上午8:00—12:00(查阅相关资料并开始编写源程序)第十七周周五晚上18:30—22:30(完成源程序编写调试运行课程设计报告)第十七周周六下午13:30—17:30(完成课程设计报告以及答辩)附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。5一、课题的主要功能主要实现对职工工资信息实现工资的显示,工资的追加,工资的查询,职工的删除,职工的插入,应发工资的计算等功能。工资管理系统具体提供以下功能:a、工资显示:完成全部职工工资信息的显示,以表格形式显示出来,并带有表头。b、工资追加:新增职工工资记录,在追加过程中有相应的提示信息并实现连续追加的功能。c、工资查询:对指定的姓名进行定位查询,并能显示出符合条件的查询结果。查询的信息不存在时,系统提示:Listno***SALARYd、删除职工:对指定的编号进行定位删除,删除成功时不显示任何信息。若此职工不存在时,系统显示:Notfound!e、添加职工:对指定的编号前进行定位插入,有相应的提示信息。f、计算应发工资:对相应的职工输入相应的扣款,系统将自行计算出相应职工的应发工资并以表格形式显示出来,并带有表头。6二、课题功能模块的划分本程序由八个模块构成,其中主模块是由系统函数搭建而成,其重要功能是显示出功能主菜单,由用户作出选择进入子菜单。在子菜单中操作完毕后,能够准确返回到功能主菜单。2.1系统主要模块流程图:2.2模块说明初始化模块init()将表格清零输入模块create()输入职工工资信息显示模块list()显示职工工资信息计算模块calc()计算职工的应发工资查找模块search()查询职工工资信息删除模块dele()删除职工工资信息插入模块insert()插入职工工资信息追加模块append()追加职工工资信息主函数初始化输入信息功能计算应发工资显示信息功能退出系统保存文件功能追加记录功能查找信息功能删除信息功能插入信息功能7保存模块save()保存信息退出模块Quit()退出系统三、主要功能的实现(下面以删除模块和查找模块为例)3.1删除模块的流程图3.2查找模块的流程图开始主菜单Deletearecord输入职工编号退出系统8四、程序调试4.1功能主菜单选择界面4.2初始化功能在主菜单中选择“Initlist”进行初始化。开始主菜单Searchrecordonname输入职工姓名显示相应信息退出系统94.3输入功能在主菜单中选择“Enterlist”进入输入界面。在no列输入‘@’表示完成输入,然后系统会提示按任意键进入主菜单。4.4显示功能在主菜单中选择“Listall”进入显示界面。这里的扣款、应发工资、税金、实发工资为零是因为还没有进行应发工资的计算。104.5计算应发工资在主菜单中选择“Calcthesalary”进入计算应发工资界面。输入相应的扣款后,系统会提示按任意键继续,然后会提示按任意键进入主菜单。4.6查找功能在主菜单中选择“Searchrecordonname”进入查找界面。根据系统提示按姓名查找职工工资信息,按任意键进入主菜单。114.7删除功能在主菜单中选择“Deletearecord”进入删除界面。根据系统提示按编号删除某一职工。若成功删除,系统显示下面的界面;若没有此编号的职工,则系统提示“Notfound!”。然后,按任意键进入主菜单。4.8插入功能在主菜单中选择“Insertrecordtolist”进入插入界面。要在某编号前插入一职12工,根据系统的提示先输入编号,再输入此职工的信息。然后按任意键进入主菜单。4.9追加功能在主菜单中选择“Appendrecordtofile”进入追加界面。输入一组需要追加的信息后,输入追加到哪个文件,系统显示追加成功。然后按任意键进入主菜单。4.10保存文件在主菜单中选择“Savedatatofile”进行保存文件操作。根据系统提示输入保存13的文件名,然后按任意键进入主菜单。4.11读取文件在主菜单中选择“Loaddatafromthefile”读取文件。根据系统提示输入需要读取的文件名,然后按任意键进入主菜单。4.12退出系统在主菜单中选择“Quit”退出系统。界面消失。14五、总结机械工程学院课程设计评分表课程名称:工资管理系统项目评价设计方案的合理性与创造性设计与调试结果设计说明书的质量答辩陈述与回答问题情况课程设计周表现情况综合成绩教师签名:日期:15六、附件源程序代码:/******头文件(.h)***********/#includestdio.h/*I/O函数*/#includebios.h/*ROM基本输入输出函数*/#includedos.h/*dos接口函数*/#includeconio.h/*屏幕操作函数*/#includestdlib.h/*其它说明*/#includestring.h/*字符串函数*/#includemem.h/*内存操作函数*/#includectype.h/*字符操作函数*/#includealloc.h/*动态地址分配函数*//****变量定义*******/typedefstructz1/*定义数据结构*/{charno[11];/*编号*/charname[15];/*姓名*/floatjbgz;/*基本工资*/floatkoukuan;/*扣款*/floatyfgz;/*应发工资*/floatshuijin;/*税金*/floatsfgz;/*实发工资*/structz1*next;/*后继指针*/}SALARY;/*结构体类型名*/structz1*head;/*链表头指针*//******函数原型*********/16voidinit();/*初始化*/voidcreate();/*创建链表*/voidcalc();/*计算应发工资*/voiddelete();/*删除*/voidsearch();/*查找*/voidsave();/*保存文件*/voidload();/*读取文件*/voidinsert();/*插入*/voidappend();/*追加*/voidlist();/*显示所有数据*/voidprint(SALARY*p);/*输出单条记录*/floatfax(floatx);/*计算税金*/intmenu_select();/*主菜单*//*******主函数开始**********/main(){inti;clrscr();for(;;){switch(menu_select())/*调用菜单函数返回一个整数值*/{case0:init();break;/*初始化*/case1:create();break;/*输入数据创建双链表*/case2:list();break;/*显示所有数据*/case3:calc();break;/*计算实发工资*/case4:search();break;/*查找职工信息数据*/case5:delete();break;/*删除记录*/case6:insert();break;/*插入记录*/case7:append();break;/*追加记录*/case8:save();break;/*保存文件*/17case9:load();break;/*读取文件*/case10:exit(0);/*退出*/}}}/*菜单函数,函数返回值为整型,代表所选的菜单项*/menu_select(){char*f[]={/*定义菜单字符串数组*/**************MENU*************,/*菜单的标题行*/0.initlist,/*初始化双链表*/1.Enterlist,/*输入数据,创建链表*/2.Listall\n,/*显示所有记录*/3.Calcthesalary,/*计算实发工资*/4.Searchrecordonname,/*查找记录*/5.Deletearecord,/*删除记录*/6.Insertrecordtolist,/*插入记录*/7.Appendrecordtofile,/*追加记录*/8.Savedatatothefile,/*保存文件*/9.Loaddatafromthefile,/*读取文件*/10.Quit};/*退出*/chars[80];inti;intkey=0;/*记录所压键值*/intc=0;gotoxy(1,25);/*移动光标*/printf(pressanykeyentermenu......\n);/*压任意键进入主菜单*/getch();clrscr();/*清屏*/textcolor(YELLOW);/*设置文本颜色为黄色*/textbackground(BLUE);/*设置背景颜色为兰色*/18gotoxy(10,2);putch(0xda);/*输出左上角边框┏*/for(i=1;i44;i++)putch(0xc4);/*输出上边框水平线*/putch(0xbf);/*输出右上角边框┓*/for(i=3;i22;i++)/*输出左右两边的垂直线*/{gotoxy(10,i);putch(0xb3);gotoxy(54,i);putch(0xb3);}gotoxy(10,22);putch(0xc0);/*输出左上角边框┗*/for(i=1;i44;i++)putch(0xc4);/*输出下边框水平线*/putch(0xd9);/*输出右下角边框┛*/window(11,3,53,21);/*制作显示菜单的窗口,大小根据菜单条数设计*/clrscr();/*清屏*/for(i=0;i12;i++){gotoxy(10,i+1);cprintf(%s,f[i]);/*输出菜单项数组*/}i=1;gotoxy(10,2);/*设置默认选项在第一项*/textbackground(LIGHTGREEN);/*设置背景颜色为浅绿*/cprintf(%s,f[1]);/*输出菜单项,表示选中*/gotoxy(10,2);/*移动光标到菜单的第一项*/while(key!=13)/*所压键不是回车键时*/{while(bioskey(1)==0);/*查询是否压下了一个键*/key=bioskey(0);/*返回下一个在键盘压下的键*/key=key&0xff?key&0xff:key8;/*对所压的键进行判断*/gotoxy(10,i+1);19textbackground(BLUE);/*设置背景颜色为蓝

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功