您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > C语言课设职工工资管理系统
山西大学软件学院程序设计基础课程设计报告书题目:职工工资管理系统指导教师:亢临生班级:软件工程1611姓名:李国栋学号:2016028*****课设时间:2017.6.20成绩二○一七年六月1课程设计任务书题目职工工资管理系统一、设计内容及要求一个职工的工资信息包含姓名、ID号、基本工资、职务工资、岗位津贴、医疗保险、公积金。编写程序实现对职工工资的录入、显示、修改、查询、保存等功能。参考数据ID号姓名基本工资职务工资津贴医疗保险-公积金-总工资01张望1286794198109135203402李明118562813594114174003王小民895438986473129404张效章13508682101161502162二、设计原始资料无三、设计完成后提交的成果及其相关资料。1.完整的源程序2.课程设计报告书电子版一份3.课程设计报告书纸质版一份四、主要参考资料1.Cprimerplus人民邮电出版社2.c程序设计清华大学出版社五、进程安排1.2017年6月13日:下达任务,指导老师做出必要讲解2.2017年6月13日-2017年6月22日,指导老师在机房定时辅导学生完成课程设计项目2目录第1章课程设计的目的与要求.....................错误!未定义书签。1.1课程设计目的..............................................31.2课程设计的实验环境........................................31.3课程设计的预备知识........................................31.4课程设计要求..............................................3第2章课程设计内容.............................................42.1程序功能介绍..............................................42.2程序整体设计说明..........................................42.2.1设计思路.............................................42.2.2数据结构设计及用法说明...............................52.2.3各模块的功能及程序说明...............................62.2.4程序结果.............................................72.3程序源代码及注释..........................................9第3章课程设计总结..............................错误!未定义书签。3第1章课程设计的目的与要求1.1课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》课程后进行的一次全面的综合练习。本课程设计的目的和任务:1.巩固和加深学生对C语言课程的基本知识的理解和掌握2.掌握C语言编程和程序调试的基本技能3.利用C语言进行基本的软件设计4.掌握书写程序设计说明文档的能力5.提高运用C语言解决实际问题的能力1.2课程设计的实验环境硬件要求能运行Windows2000/XP操作系统的微机系统。C语言程序设计及相应的开发环境。1.3课程设计的预备知识熟悉C语言及C语言开发工具。1.4课程设计要求1.分析课程设计题目的要求2.写出详细设计说明3.编写程序代码,调试程序使其能正确运行4.设计完成的软件要便于操作和使用5.设计完成后提交课程设计报告4第2章课程设计内容2.1程序功能介绍每一个职工的工资信息包含姓名、ID号、基本工资、职务工资、岗位津贴、医疗保险、公积金。编写程序实现对职工工资的录入、显示、修改、查询、保存等功能。参考数据ID号姓名基本工资职务工资津贴医疗保险-公积金-总工资01张望1286794198109135203402李明118562813594114174003王小民895438986473129404张效章1350868210116150216205彭山74539884616810982.2程序整体设计说明根据题目要求,应该把职工工资信息用结构体形式输入,再定义一个变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作。在程序中需实现职工工资浏览、查询、修改等功能的操作,所以要建立相应的功能模块来实现。在头文件中将所需包含的函数进行输入,再进行变量的定义,如:定义数据结构,有关职工工资管理需要输入的基本信息再用指针的方法将这些有关变量进行地址存储。再定义出工资管理整个程序中所需要的函数原型;然后进行主函数的书写,并显示所有数据。主函数无限循环,数据的录入、修改、查询等均是对内存中的链表进行操作,每次操作后将数据保存到文件。2.2.1设计思路首先利用while(1)对提示页面无限调用,帮助用户输入对应的正确数字编码,在输入职工信息时,运用voidimport()调用函数对文件的使用,首先定义一个指针文件,又以写的方式打开此文件,在打开的文件中输入要管理的职工人数,用一个for循环按照姓名、ID号、基本工资、职务工资、岗位津贴、医疗保险、公积金的格式循环获取职工的记录,使用fwrite()将职工记5录写入文件“word”中,并fclose关闭文件。在查询职工信息时,按职工号查询,首先是以只读(二进制)的方式打开文件“word”,然后输入要查询的职工号,用一个for循环来控制查询的人数,之后在显示器上显示某一个职工信息,然后关闭文件。在修改职工信息时,按职工号修改,首先是以读写的方式打开文件“word”。输入要修改的职工号,用一个for循环来控制输入的数量。然后对职工的信息进行修改,就可获得新的职工记录。之后文件指针指向该修改的记录开头,此时用fwrite覆盖当前记录,修改完成时系统会显示修改后的文件数据:姓名、ID号、基本工资、职务工资、岗位津贴、医疗保险、公积金然后关闭文件。在显示职工信息时,运用voidbrowse()调用函数对文件的使用。首先以只读的方式打开一个文本文件”word”。操作无误则用for循环输出正在查询职工的:记录号职工号姓名性别年龄工资。这些完成后用fclose(fp)函数关闭文件。2.2.2数据结构设计及用法说明数据结构:定义结构体people,用于存放职工的基本信息和工资信息.使用struct结构体编辑主菜单,定义全局变量,用于存放结构体数组。使用一维数组。用for语句编辑输入模块,用switch、for语句编辑查找职工数据,用if,for语句编辑修改职工信息。用法说明:启动后屏幕上会显示下面菜单:1录入信息2修改信息3显示所有4查询信息65退出执行者若要执行某一功能,就按下该功能所对应的数字即可。输入职工信息:在主菜单中输入1则系统会进入新界面并自动提示你输入职工号,输入完成后按回车键系统会逐一提示输入姓名、ID号、基本工资、职务工资、岗位津贴、医疗保险、公积金,输入完成后会继续提示输入下一个职工的职工号。修改职工信息:在主菜单中输2,系统会自动提示你输入要修改的职工号,然后进行修改。修改成功显示已修改后的文件数据;输入错职工号显示查无此人。显示职工信息:在主菜单中输入3系统界面是输出菜单界面,按照输入格式:姓名、ID号、基本工资、职务工资、岗位津贴、医疗保险、公积金,逐个的输出职工的信息,输出所有职工信息后系统自动退出。查询职工信息:主菜单中输入4则进入查询子菜单界面,输入职工号后会出现该职工的信息。输入错误职工号,显示查无此人。退出:在主菜单中输入5则退出系统。并显示“退出成功请关闭”。2.2.3各模块的功能及程序说明首先是定义了一个输入输出头文件,接着是一个宏定义,下面是函数声明部分,用结构体存储和录入该程序的所有数据,主函数部分包括设计的全部信息,之后是输出主菜单和调用函数,退出程序。此程序中包括:输入模块、查询模块、修改模块、显示模块。输入模块:该模块先是对姓名、ID号、基本工资、职务工资、岗位津贴、医7疗保险、公积金的录入并保存到文件“word”中。查询模块:实现按职工号查询每个职工的信息,查询显示姓名、ID号、基本工资、职务工资、岗位津贴、医疗保险、公积金修改模块:该模块实现按职工号对职工所有信息的修改。显示模块:该模块实现按职工号输出职工的所有信息。退出模块:保存并且关闭,用来退出while(1)的死循环2.2.4程序结果展示录入模块:修改模块:8查询模块:显示模块:退出模块:92.3程序源代码及注释/*每一个职工的工资信息包含姓名、ID号、基本工资、职务工资、岗位津贴、医疗保险、公积金。编写程序实现对职工工资的录入、显示、修改、查询、保存等功能。参考数据ID号姓名基本工资职务工资津贴医疗保险-公积金-总工资01张望1286794198109135203402李明118562813594114174003王小民895438986473129404张效章1350868210116150216205彭山7453988461681098*/源码:#includestdio.h#includestring.h#includestdlib.h#definemax30//定义voidmenu();//菜单voidimport();voidbrowse();//显示所有voidsearch_num();//查询信息voidrevise();//修改信息structpeople{//定义个人信息结构体charno[5];//编号charname[max];//名字intbasepay;//基本工资intwage;//职务工资intsubsidy;//津贴intsurance;//医疗保险10intfund;//公积金inttotal;//z总和};structpeoplenum[max];//定义人员信息数组voidmain(){//主函数menu();}voidmenu()//菜单{inta;inti=0;while(1){printf(\n**********************\n);printf(1.录入信息\n);printf(2.修改信息\n);printf(3.显示所有\n);printf(4.查询信息\n);printf(5.退出\n);printf(\n**********************\n);printf(请输入数字编码);scanf(%d,&a);switch(a){case1:{//录入数据import();break;}case2:{//修改信息revise();break;}case3:{//显示信息browse();break;}case4:{//查询信息search_num();break;}case5:{//退出printf(退出成功请关闭);exit(0);}11defaul:{//输入错误printtf(请重新输入);break;}}}}voidimport(){//录入信息FILE*fp;intn,i;//n用来存储职工数i用来存储第几个员工if((fp=fopen(word,wb))==NULL)//{//printf(不能建立word文件\n);//这四行用来判断是否可以正确打开exit(1);//}printf(输入职工人数:);scanf(%d,&n);for(i=0;in;i++){printf(请输入第%d个职工的编号,i+1);scanf(%s,&num[i].no);//职工号printf(请输入第%d姓名信息,i+1);scanf(%s,&num[i].name);//姓名printf(请输入第%d基本工资,i+1);
本文标题:C语言课设职工工资管理系统
链接地址:https://www.777doc.com/doc-5100243 .html