您好,欢迎访问三七文档
学号《c语言程序设计》课程设计报告题目:专业:计算机科学与技术班级:10级计科(2)姓名:指导教师:成绩:计算机与信息工程系2013年4月22日2013-2014学年第二学期计算机与信息工程系《高级语言程序设计》课程设计报告1目录1设计内容及要求.........................................21.1设计内容.....................................................21.2设计任务及具体要求...........................................22概要设计.........................................................32.1该系统的功能简介.............................................32.2总体程序框图.................................................32.3各个模块之间的主要关系........................................43设计过程或程序代码............................................53.1各个模块的程序流程图及运行界面................................53.2对关键代码加以分析说明.......................................154程序调试分析.....................................................235小结.............................................................25参考文献...........................................................27附:源程序..........................................................28计算机与信息工程系《高级语言程序设计》课程设计报告11设计内容及要求1.1设计内容《工资管理查询系统》主要根据课程设计要求进行设计,并了解了公司的职工的工资工作流程,该系统功能主要包括六大模块:1)职工个人说得税的计算模块,根据工资多余5000,在1000—5000之间,少余1000三种情况进行计算。2)添加职工的工资信息模块,用户根据输入职工编号后,对工资信息进行录入。3)职工工资查询模块,根据用户输入职工编号后,方可进行查询。4)职工工资修改模块,用户输入职工编号后,对以前的信息进行修改。5)数据输出模块,输出其相应的模块功能。6)职工工资统计模块,根据输入的职工信息进行统计。1.2设计任务及具体要求主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,至少具有如下功能:工资录入,按人名、基本工资、实发工资、个人所得税进行查询和按部门进行分类统计。操作界面要符合用户的一般习惯,图形或文本界面都可以。要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。计算机与信息工程系《高级语言程序设计》课程设计报告12概要设计2.1系统的功能简介该系统的主要功能是实现职工工资的录入,包括(录入职工的基本工资、实发工资、津贴、岗贴、补贴、房帖、交通补贴、储蓄、汇费)。对职工的工资信息进行删除、修改、个人所得税的计算。并统计职工的所有信息。2.2总体程序框图图2.2-A总体程序图2.2-B添加职工的工资信息2.2各个模块之间的主要关系该程序的功能主要是实现职工工资的录入,并对工资的相应信息进行个人所Main(职工工资管理系统)添加职工的工资信息计算个人所得税修改工人记录查询工资信息统计工资信息删除个人工资信息基本工资津贴补贴交通补贴房租储蓄汇费实发工资岗贴房帖添加职工的工资信息计算机与信息工程系《高级语言程序设计》课程设计报告1得税的计算。各个模块之间的关系是相互联系的。首先,主函数包含了所有的子函数。主函数是整个程序的核心。子函数之间也是有联系的,对个人所得税的计算、职工工资信息的修改、删除、查询、统计,必须是在职工工资录入的情况下进行的。因此对职工工资信息的录入是非常重要的。在职工工资的修改、删除、查询、统计与个人所得税所有的子函数之间是没有多大联系的。3设计过程或程序代码3.1各个模块的程序流程图1)①主函数程序(N-S)流程图及运行界面主函数程序(N-S)流程图(见图3.1-A)主函数main()定义变量charch;n=0;while(TRUE)ch=getche();switch(ch)case'1':addone();break;添加职工信息case'2':delone();break;删除个人记录case'3':modone();break;修改个人记录case'4':idone();break;查找职工记录case'5':listall();break;统计职工记录case'6':wfile();break;将信息写入文件当中case'7':rfile();break;从文件中读取信息case'8':exit(0);退出系统default:printf(对不起,请重新选择!\n);图3.1-A主函数程序简单说明:该功能主要显示的是给用户一个进入界面,它主要的是显示该程序主要能够执行的有哪些功能。下面是显示给用户的界面。(见图3.1-A)计算机与信息工程系《高级语言程序设计》课程设计报告1②主函数程序运行界面:图3.1B主函数界面2)职工个人所得税(N-S)流程图(见图3.1-B)图3.2-A职工个人所得税程序该程序主要根据职工的工资信息进行个人所得税的计算,当个人所得税m大于等于5000时,个人所得税tmp为(m-5000)*0.2;在1000=m5000时,个人所得税为(5000-1000)*0.1;当800=m1000时,个人所得税为(m-800)*0.5。3)①录入职工的工资信息(N-S)流程图及程序运行界面计算个人所得税floattgrsds(floatm)定义变量:floatsui1,sui2,sui3;floattmp;m=5000假真计算工资大于等于5000时的个人所得税1000=m5000?假真计算工资在1000-5000之间个人所得税800=m1000?假真计算工资在800-1000之间的个人所得税计算机与信息工程系《高级语言程序设计》课程设计报告1录入职工的工资信息(N-S)流程图(见图3.3-A)printf(RecordNO.%d\n,n+1);输入月份输入职工基本信息输入职工的职工编号输入职工的基本工资输入职工的津贴输入职工的岗帖输入职工的补贴输入职工的房帖输入职工的交通补贴输入职工的房租输入职工的储蓄输入职工的汇费图3.3-A录入职工的工资信息程序该模块主要是对职工的工资进行录入,录入的主要有职工的津贴、岗贴、补贴、房帖、交通补贴,并把该五项统计为职工的实发工资。还录入职工的房租、储蓄、汇费。②录入职工的程序运行界面。(见图3.3-B)图3.3-B录入职工的工资信息程序界面计算机与信息工程系《高级语言程序设计》课程设计报告14)删除职工记录的(N-S)流程图及程序运行界面删除职工记录的(N-S)流程图(见图3.4-A)定义数据变量输入某职工的职工编号gets(numstr);zhigongid=atof(numstr);for(j=0;j=n;j++)zg[j].id==zhigongid?真假flagfind=1;tmp[k]=zg[j];k++;flagfind==1?真假for(j=0;j=(n-1);j++)没有你要删除的记录zg[j]=tmp[j];成功删除记录n=n-1;return(0);图3.4-A删除职工记录程序该模块主要通过已经输入的职工信息进行删除,如果你输入的信息存在或不存在,则分别显示以下运行界面。见图(3.4-B、C)图3.4-B删除职工记录程序界面计算机与信息工程系《高级语言程序设计》课程设计报告1图3.4-C删除职工记录程序界面5)修改个人记录的(N-S)流程图及运行界面修改个人记录的(N-S)流程图(见图3.5-A)定义数据变量输入职工的职工编号将所输职工编号转化为double型for(j=0;j=n;j++)zg[j].id==zhigongid?真假输入职工的新信息同时调用atof进行修改flagfind=0flagfind=1;flagfind!=0?真假return0图3.5-A修改个人记录程序修改个人记录是在原有的基础上对职工的工资信息进行修改,在修改的同时你可以看到该职工原来的工资信息。以下是修改职工工资信息过后的显示界面。(见图3.5-B)计算机与信息工程系《高级语言程序设计》课程设计报告1图3.5-B修改个人记录的运行界面6)查找职工记录的(N-S)流程图及运行界面查找职工记录的(N-S)流程图(见图3.6-A)定义数据变量输入职工的职工编号将所输职工编号转化为double型for(j=0;j=n;j++)zg[j].id==zhigongid?真假将查询到的程序一一输出flagfind=0flagfind=1flagfind!=0?计算机与信息工程系《高级语言程序设计》课程设计报告1真假您查找的记录不存在!return0图3.6-A查找职工记录的(N-S)流程图该功能是对已经录入的职工信息进行查寻,如果你输入的职工编号存在,则显示职工的工资信息,如果不存在,则提示为“您查找的记录不存在”。运行界面如下。(见图3.6-B)图3.6-B查找职工记录的运行界面7)统计出所有的职工信息的(N-S)流程图及运行界面统计出所有的职工信息的N-S流程图(见图3.7-A)intjn1?真假您查找的记录不存在for(j=0;jn;j++)printf(\nNO:%d|,j+1)输出全体职工相应的信息return(0)图3.7-A统计出所有的职工信息的(N-S)流程图计算机与信息工程系《高级语言程序设计》课程设计报告1在这个子模块程序中,主要是对输入的职工信息进行统计,统计过后并输出说有的职工工资信息。以下是程序的运行界面。(见图3.7-B)图3.7-B统计出所有的职工信息的运行界面3.2对关键代码加以分析说明1)/*结构体声明*/structzhigong{intmonth;doubleid;doublejbgz;doublejt;doublegt;doublebt;doubleft;doublejtbt;doublesfgz;doublefz;doublecx;doublehf;doublegrsds;计算机与信息工程系《高级语言程序设计》课程设计报告1doubleyks;doublesfs;};这是对职工工资信息录入的一个结构体的申明,申明该职工的工资信息有哪些。Id为职工编号,jbgz为职工的基本工资,jt为职工的津贴,gt为职工的岗帖,bt为职工的补贴,ft为职工的房帖,jtbt为职工的交通补贴,cx为职工的储蓄,hf为职工的汇费,grsds为职工的个人所得税,yks为职工的应扣数,sfs为职工的实发数,Sfgz为实发工资。/*建立50个元素的结构体数组*/structzhigongzg[50];/*建立结构体变量*/structzhigongzgone;/*职员列表中的数量*/intn=0;/*获得字符串*/charnumstr[50];这是对职工的工资录入的主要数据结构,zg[50]是可以录入50个职工的工资信息,charnumstr[50]为在录入职工的工资信息时,可输入的字符串的
本文标题:课程设计报告样板
链接地址:https://www.777doc.com/doc-4822799 .html