资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
重庆科技学院本科生课程设计 - 1 - 设计内容与要求11.11.1 设计内容设计内容在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、 增、删、改、统计、输出等操作。1.21.2 设计要求设计要求1、 设计一个能够记录公司员工工资的数据结构(包括:员工号、姓名、基 本工资、补贴金额、奖励金额、扣除金额、实发工资等) 、文件(文件作 为工资数据的保存介质) 。注:,其中实发工资=基本工资补贴金额 奖励金额-扣除金额 2、 应用文件保存工资管理数据。 3、 新增:能将所有输入的员工工资数据保存到文件中,并可选择继续输入 或退出。 4、 查找:输入员工的员工号,并在文件中查找 5、 若找到,则显示该员工的工资详情 否则提示未找到。 无论查找成功否,应还可选择继续查找或退出。 6、 删除:输入员工的员工号,并在文件中查找 若找到,提示是否确定删除 若选择是,则删除文件中该员工信息 若选择否,则取消, 否则提示无此员工信息 无论查找成功否,应还可选择继续查找或退出。 7、 修改:输入员工的员工号,并在文件中查找 若找到,显示该员工的所有信息,并可进行输入。完成后将现输入的内 容覆盖原内容保存到文件中。 否则提示无此员工信息 无论查找成功否,应还可选择继续查找或退出。统计:分类汇总并输出 所有员工的基本工资、补贴金额、奖励金额、扣除金额、实发工资的总 金额和平均金额。 如: 基本工资、补贴金额、奖励金额、扣除金额、实发工资总和 12000 1300 1400 1500 13200平均 1200 130 140 150 1320人数: 10重庆科技学院本科生课程设计 - 2 - 8、 退出:退出程序2 概要设计22.12.1 信息的存储信息的存储运行编写好的程序,通过提示,输入人员的员工号、姓名、基本工资、补 贴金额、奖励金额、扣除金额等等信息,再根据提示反复输入,并以文本文件 形式保存。 2.22.2 职工工资信息的设计职工工资信息的设计需定义一个结构体类型,用来表示职工的各种信息,如下:struct worker int gonghao; char name20; double jiben; double butie; double jiangli; double kouchu; double jieyu; ; /职工数据信息结构体2.32.3 主函数设计主函数设计其功能实现从屏幕输出 6 个选择: 1 新增职工信息 2. 查询职工信息 3. 删除职工信息 4.修改职工信息 5.浏览职工信息 0.退出程序,从中选择任一一 个来进行职工工资信息的管理。2.42.4 信息新增的设计信息新增的设计此模块通过 void xinzeng( );函数实现。从键盘输入职工工资信息,以文 本文件将这些信息写入文本。先建立一个文件指针(FILE *fp) ,打开文件,输 入信息,写入文件,关闭文件。重庆科技学院本科生课程设计 - 3 - 2.52.5 信息查询的设计信息查询的设计此模块通过 void chaxun()。程序将从文件中读出先前出入的个人通讯信 息,从键盘输入要查询的职工工号,再从屏幕上输出您要查找的信息。提示继 续与否。2.62.6 信息删除的设计信息删除的设计此模块通过 void shanchu( )函数实现。程序将从文件中读出先前出入的 个人通讯信息,从键盘输入要查询的职工工号,从屏幕上输出所要删除的职工 工号,根据操作提示,然后删除信息,返回保存。2.72.7 信息修改的设计信息修改的设计此模块通过 void xiugai( )函数实现。程序将从文件中读出先前出入的个 人通讯信息,从屏幕上输出:请输入您要修改的人职工工号,然后显示要修改 的职工工资信息,并根据提示继续输入需修改后的信息,这些信息将以文本形 式写入文本。再将修改后的所有职工工资信息一起写入文件并保存。2.82.8 信息统计的设计信息统计的设计此模块通过 void tongji( )函数实现。分类汇总并输出所有员工的基本工 资、补贴金额、奖励金额、扣除金额、实发工资的总金额和平均金额。2.92.9 信息浏览的设计信息浏览的设计此模块通过 void liulan( )函数实现,只需选择显示信息菜单即可显示全 部职工工资信息。重庆科技学院本科生课程设计 - 4 - 3 详细设计3.13.1 主函数主函数(1)函数说明先从屏幕上显示 7 个选项,以供选择。第一个选项调用了 xinzeng()函数、 第二个调用了 chaxun( )函数,第三个选项调用了 shanchu( )函数,第四个调 用了 xiugai( )函数,第五个选项调用 tonji( )函数,第六个选项调用 liulan( )函数从而实现学生信息的添加、查询、删除、修改、统计、浏览等功 能;最后一个选项实现退出的功能。(2)函数接口函数入口:从主函数 main()开始。 函数出口:从主函数 main()的 switch()开关结构进入,即 n 几个的值通过 break 跳出 for 循环进入主界面,然后退出主函数 main(),即退出主函数。 函数调用关系:主函数 main()不能被其他函数调用,但可以调用其他任意函数。(3)流程图重庆科技学院本科生课程设计 - 5 - startCase1Case2Case3Case4Case5Case6Case7输入n调用xinzeng() 函数调用chaxun() 函数调用shanchu() 函数调用xiugai()函 数调用tonji()函 数调用Liulan() 函数输入有误, 请重新输入 !Case8谢谢使用BreakBreakBreakBreakBreakBreakBreakEnd输入0主函数胡流程图(4)函数代码重庆科技学院本科生课程设计 - 6 - 见附录3.23.2 主菜单函数主菜单函数(1)函数说明此函数用于功能选择。 1.若文件不存在 用于创建文件并只能执行新增功能和存入文件,进入功能选择。2.若文件存在 用于打开文件读入数据,进入功能选择。(2)流程图if(fscanf(fp, “%c“,c)!=EOF)Xinzeng()文件worker.txt 不存在或无数据主菜单全部 功能选项文件worker.txt 有数据(3)函数代码:见附录3.33.3 新增信息新增信息(1)函数说明此函数用于输入职工工资信息并存入文件。先定义一个文件指针 FILE(*fp),然后用 fopen()函数打开文件,从键盘输入数据,用 fwrite 函数 将信息写入到文件中,最后用 fclose()函数关闭文件。屏幕上会显示“请输入 y 继续其他功能”您可以根据您的需要进行选择然后进行下面的操作。(2)流程图重庆科技学院本科生课程设计 - 7 - scanf(“%d“,if(n=wm.go nghao)printf(“该工号已 存在n“);input(工号已存在工号不存在scanf(“%d“,1继续2返回2返回1继续保存(3)函数代码见附录3.43.4 查询信息查询信息(1)函数说明此函数用于查找职工工资信息,屏幕上会显示“1.请输入您要查找的人员 姓名,2.返回” ,从键盘输入,屏幕上会显示您要查找的学生信息,最后用 fclose()函数关闭文件。 (2)流程图重庆科技学院本科生课程设计 - 8 - scanf(“%d“,显示职工 工资信息printf(“该工 不存在n“);scanf(“%d“,工号存在工号不存在scanf(“%d“,2返回2返回1继续1继续(3)函数代码见附录3.53.5 删除信息删除信息(1)函数说明此函数用于删除职工工资信息,从屏幕上输出提示“1.请输入要删除的职 工工号 0.返回保存”,输入后显示该职工工资信息,提示操作。用 finput()函 数将现在的信息写入到磁盘中,最后用 fclose()函数关闭文件。(2)流程图重庆科技学院本科生课程设计 - 9 - scanf(“%d“,fp=fopen(“worker .txt“,“w“); for(i=0;i #include #include struct worker int gonghao; char name20; double jiben; double butie; double jiangli; double kouchu; double jieyu; ; /职工数据信息结构体int input(struct worker *p,int j);/职工数据信息录入 int output_0(struct worker *p);/职工数据信息屏幕输出 int foutput(FILE *fp,struct worker *p);/职工数据信息存入文件 int finput(FILE *fp,struct worker *p);/职工数据信息读出文件 void menu();/主菜单 void xinzeng();/新增功能函数 void chaxun();/查询功能函数 void shanchu();/删除功能函数 void xiugai();/修改功能函数 void tongji();/统计功能函数 int liulan();/浏览功能函数 struct worker w10000; int i,n,j,m,k=0; char c5; FILE *fp; int main()/主函数 for(;) menu();/主菜单 switch(n) case 1:xinzeng();break;/新增功能 case 2:chaxun();break;/查询功能重庆科技学院本科生课程设计 - 23 - case 3:shanchu();break;/删除功能 case 4:xiugai();break;/修改功能 case 5:tongji();break;/统计功能 case 6:liulan();break;/浏览功能 case 0:return 0; default:/退出 printf(“t 输入有误?“); printf(“*按 0 返回 “); scanf(“%d“, if(!j) break; ;break; return 0; int input(struct worker *p,int m)/判断输入 m 做为工号形参输入 p-gonghao=m; printf(“n 姓名: “); scanf(“%s“,p-name); printf(“基本工资: “); scanf
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号