C语言职工信息管理报告电气LR
C语言职工信息管理报告电气LR

C语言实训报告职工信息管理系统班级:负责人:组员:指导教师:日期:C语言课程设计任务书一、题目:职工信息管理系统二、目的和要求目的:要求熟练掌握C语言的基本知识和编辑技能;基本掌握结构化程序设计的基本思路和方法。
2.1 基本功能和要求(1)系统必须是菜单操作方法,进入功能必须打开菜单,并且每个菜单都有相应的帮助,菜单之间能够灵活的切换。
用户分三种权限:一般的员工用户,员工工资管理员,系统管理员。
(2)根据登陆方式,选择相应的操作方式;如果是一般的员工用户(默认权限为r即只读),就只能按照各种方式查看数据,并且只能查看自己的信息和工资情况,并且可以网上修改自己的信息等等功能;如果是员工工资管理员,除了可以查看数据外还能编辑员工基本信息数据。
如果是系统管理员,他可以拥有员工工资管理员的所有功能,并且可以创建用户,并且可以修改员工的工资体系和大小。
(3)能够对员工基本信息、工资的基本信息、工资的扣除费用信息进行统计,统计的结果能够以表格的形式来表示。
(4)员工基本信息、工资的基本信息、工资的扣除费用信息存储在相应的文件中。
数据的组织形式要求必须使用链表或者二叉树来实现.(5) 登录的用户名和密码应该存储在单独的文件中,最好做一定的加密算法。
(6)系统要求界面友好,易操作.2。
2 统计功能(1)统计每个部门的员工工资、整个公司的员工工资、员工的信息等。
(2)统计全公司总金额、每个部门的员工工资、扣税信息、工资的扣除信息、奖金、特别奖金等等。
(3)统计全公司工资最高的人员前10名,并对它们进行排序。
(4)按部门统计工资最高的人员前10名,并对它们进行排序。
(5)统计扣除工资最多的10个人。
(6)工资信息其它方面的统计。
(7)按照技术职称统计工资信息。
(8)按照工龄职称统计工资信息。
2.3 查找功能(1)可以根据员工的姓名查找。
(2)可以根据工资卡号查找。
(3)可以根据身份证号查找。
(4)可以根据部门查找。
原创c语言职工管理系统课程设计报告

原创C语言职工管理系统课程设计报告1. 引言职工管理系统是一个可以对职工信息进行录入、查询、修改和删除的软件系统。
在这个项目中,我们将使用C语言来实现这个系统。
通过设计这个项目,我们旨在提高学生们对C语言的理解和应用能力。
2. 项目背景和目的职工管理系统是一个常见的实际应用场景,他在许多企事业单位中都有使用。
通过设计和实现这个系统,我们可以帮助管理人员更有效地管理职工信息,提高管理效率。
我们的目标是设计一个简单易用、功能完善的职工管理系统,可以实现以下功能:职工信息录入、职工信息查询、职工信息修改和职工信息删除。
3. 系统设计我们将使用C语言来实现职工管理系统。
系统设计主要包括以下几个方面的功能模块:3.1 菜单功能模块在这个模块中,我们将设计一个菜单来显示系统的功能选项。
用户可以通过输入相应的选项来进入不同的功能模块。
3.2 职工信息录入功能模块在这个模块中,用户可以输入职工的信息,包括职工编号、职工姓名、职工性别、职工年龄等。
系统将会将这些信息保存到一个文件中以后的查询和修改操作。
3.3 职工信息查询功能模块在这个模块中,用户可以输入职工的编号或者姓名来查询职工的信息。
系统将会根据用户输入的信息在文件中查找相应的职工信息并显示出来。
3.4 职工信息修改功能模块在这个模块中,用户可以输入职工的编号来修改职工的信息。
用户需要输入修改后的信息,并将更新后的信息保存到文件中。
3.5 职工信息删除功能模块在这个模块中,用户可以输入职工的编号来删除职工的信息。
系统将会在文件中查找相应的职工信息并删除。
4. 系统实现系统实现主要有以下几个步骤:4.1 设计程序结构首先,我们需要设计系统的程序结构。
我们将使用函数来实现不同功能模块,通过调用不同的函数来实现系统不同的功能。
4.2 实现菜单功能模块我们将使用printf函数来输出菜单,并使用scanf函数来获取用户的输入。
根据用户的输入,我们将使用switch语句来进入相应的功能模块。
c语言职工信息管理系统设计报告

c语言职工信息管理系统设计报告一、引言职工信息管理系统是一种常用的企业信息化系统,旨在帮助企业更好地管理员工信息,提高管理效率和信息安全性。
本文介绍的是一种基于C语言的职工信息管理系统的设计与实现。
二、系统需求分析1.系统功能(1)员工信息录入:可以录入员工的个人信息,包括姓名、性别、出生日期、身份证号码、联系电话、职务等信息。
(3)员工信息修改:可以修改员工的个人信息。
(5)员工信息统计:可以对员工的信息进行统计分析,统计人数、性别比例等。
2.系统开发环境本系统需要运行在Windows 7及以上操作系统上,开发工具使用Dev-C++。
三、系统设计与实现2.系统模块设计(1)员工信息录入模块:1)输入员工的各项信息;2)自动生成员工编号;3)将员工信息写入文件保存。
1)按照不同的条件进行查询;2)查询后输出符合条件的员工信息。
2)修改员工信息;1)对员工信息进行统计分析;2)输出统计结果。
(6)系统菜单模块:1)显示系统功能菜单;2)接收用户输入进行相应操作。
3.代码实现(1)主函数模块:{system("color 3f"); //设置控制台颜色menu(); //调用主菜单函数return 0;}void insert()employee emp;ofstream fout("employee.txt", ios::app);cout << "请输入员工姓名:";cin >> ;emp.no = rand() % 1000 + 1;fout << emp.no << " " << << " " << emp.gender << " " << emp.birthday << " " << emp.id << " " << emp.phone << " " << emp.job << endl;cout << "添加成功!" << endl;fout.close();int choice;cout << "请选择查询条件(1.姓名 2.性别 3.出生日期 4.身份证号码 5.联系电话 6.职务):";case 1:break;default:cout << "编号\t\t姓名\t性别\t出生日期\t身份证号码\t\t联系电话\t职务" << endl;if (choice == 1 && == ) //按照姓名查询if (no == emp.no)elseint manCount = 0;womanCount++;四、系统测试与评估我们采用黑盒测试,使用不同的测试用例进行测试。
C语言课程设计报告:职工信息管理系统程序设计

1.课程论文题目职工信息管理系统程序设计一、题目要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单的方式工作。
(2)职工信息录入功能(职工信息用文件保存)。
(3)职工浏览功能。
(4)职工信息查询功能,查询方式可按学历查询或者工号查询。
(5)职工信息的删除、修改功能(可选项)。
2.程序设计思路1、设计思路(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。
3.功能模块图5.算法设计1.主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。
2浏览模块【分析】该模块的功能是浏览职工的全部信息3排序模块4查询模块【分析】该模块的功能是根据输入的职工按照工号和学历查找对应的记录,找到以后,可进行继续查找或修改信息的操作。
流程图如下:5修改模块【分析】该模块的功能是显示所有职工的信息,考虑到记录较多,建议采用分屏显示。
显示完所有记录后,输入要修改的职工的工号,根据工号查到职工的记录,并提示用户修改该记录的哪部分信息,根据用户做的选择修改相应信息。
流程图如下:6.程序代码#include<stdio.h>#define N 50struct worker{char id[50];char name[20];char sex[10];char age[10];char edu[20];char salary[10];char address[20];char tel[20];}worker[N];void save(int n) //保存函数,保存n个记录{ FILE *fp;int i;if((fp=fopen("worker.txt","wb"))==NULL) //以只写方式为输出打开一个二进制文件{ printf("\nCannot open file\n");}for(i=0;i<n;i++)if(fwrite(&worker[i],sizeof(struct worker),1,fp)!=1)printf("file write error\n");fclose(fp);}int load() //加载函数{ FILE *fp;int i;if((fp=fopen("worker.txt","rb"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;!feof(fp);i++)fread(&worker[i],sizeof(struct worker),1,fp);fclose(fp);return(i-1);}void no_input(int i,int n) //工号输入函数,i表示第i个职工的信息,n 表示比较到第n个职工{ int j,k,w1;do{w1=0;printf("工号:");scanf("%s",worker[i].id);for(j=0;worker[i].id[j]!='\0';j++)if(worker[i].id[j]<'0'||worker[i].id[j]>'9') //判断工号是否为数字{puts("请重新输入!\n");w1=1;break;}if(w1!=1)for(k=0;k<n;k++) //比较到第N个职工if(k!=i&&strcmp(worker[k].id,worker[i].id)==0) //判断职工号是否有雷同{puts("请重新输入!\n");w1=1;break;}}while(w1==1);}void input(int i) //输入一个记录的函数{ no_input(i,i);printf("姓名:");scanf("%s",worker[i].name);printf("性别:");scanf(" %s",&worker[i].sex);printf("年龄:");scanf("%s",&worker[i].age);printf("工资:");scanf("%s",worker[i].salary);printf("学历:");scanf("%s",&worker[i].edu);printf("住址:");scanf("%s",worker[i].address);printf("电话:");scanf("%s",worker[i].tel);}void printf_one(int i) //显示一个记录的函数{printf("%10s %10s %5s %5s %8s %6s %10s %10s\n",worker[i].id,worker[i].name,worker[i].sex,worker[i].age,worker[i].salary,worker[i].edu,worker[i].address,worker[i].tel); }void printf_back() //一个任务结束后选择是好似浏览还是返回{ int k,w;printf("\n\n\tSuccessful^-^.\n\n");printf("接下来做什么?\n\n\t1).浏览全部\t2).返回: [ ]\b\b");scanf("%d",&w);if(w==1)browse();else menu();}modify_data(int i,int n) //修改函数{ int c,w1;do{puts("\nmodify by=>\n\n 1).工号 2).姓名 3).性别 4).年龄 5).工资6).学历 7).地址 8).电话 9).取消");printf("请选择?:[ ]\b\b");scanf("%d",&c);if(c>9||c<1){puts("\nChoice error!please again!");getchar();}}while(c>9||c<1);do{switch(c){case 1:no_input(i,n);break;case 2:printf("name:");scanf("%s",worker[i].name);break;case 3:printf("sex:");scanf("%s",worker[i].sex);break;case 4:printf("age:");scanf("%s",worker[i].age);break;case 5:printf("salary:");scanf("%s",worker[i].salary);break;case 6:printf("edu:");scanf("%s",worker[i].edu);break;case 7:printf("address:");scanf("%s",worker[i].address);break;case 8:printf("tel:");scanf("%s",worker[i].tel);break;case 9:menu();break;}puts("\nNow:\n");printf_face();printf_one(i);printf("\n确定?\n\n\t1).是2).否,重新修改3).不保存退出[ ]\b\b");scanf("%d",&w1);if(w1==1)save(n);}while(w1==2);return(w1);}printf_face() //显示数据结构项目{ printf("\n\t工号姓名性别年龄工资学历地址电话号码\n"); }void enter() //输入模块{ int i,n;printf("输入多少个职工信息(0-%d):",N-1);scanf("%d",&n);printf("\n 请输入职工信息\n\n");for(i=0;i<n;i++)input(i);if(i!=0)save(n);printf_back();}browse() //浏览模块{ int i,j,n;n=load();printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)){printf("\n\n按任意键显示下一页...");getch();puts("\n\n");}printf_one(i);}printf("\t这里有 %d 条记录.\n",n);printf("\n按任意键返回...");getch();menu();}modify() //修改模块{struct worker s;FILE *fp;int i,n,k,w0=1,w1,w2=0;n=load();do{k=-1;printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)) //目的是分屏显示{printf("\n\n记住要修改的工号.按任意键显示下一页");getch();puts("\n\n");}printf_one(i); //调用显示一个记录的函数}do{printf("\n\n输入要修改的职工工号! 工号:");scanf("%s",s.id); //输入要修改的IDfor(i=0;i<n;i++) //查找要修改的数据if(strcmp(s.id,worker[i].id)==0){k=i; //找到要修改的记录s=worker[i]; //把worker[i]备份,以便恢复}if(k==-1)printf("\n\n未找到请重输");}while(k==-1); //当k=-1表示没有找到printf_face(); //调用显示数据结构项目的函数printf_one(k); //调用显示一个记录的函数w1=modify_data(k,n); //修改记录并返回保存控制值w1,w1=1表示用户已确认修改if(w1==1){printf("\Successful^_^.\n\n修改另一个?\n\n\t1).是 2).否,保存退出\t[ ]\b\b");scanf("%d",&w0);w2=1; //用来控制保存,使w2=1是标记已有过修改}else{w0=0;if(w2==1)worker[k]=s;}if(w0!=1&&w2==1)save(n);}while(w0==1);menu();}search() //查询模块{ int c,w1;do{puts("\nsearch by=>\n\n1).工号 2}.学历 3).取消并返回"); printf("Which you needed?:[ ]\b\b");scanf("%d",&c);if(c>3||c<1){ puts("\nchoice error!please again!");getchar();}}while(c>3||c<1);{switch(c){case 1:search1();break;case 2:search2();break;case 3:menu();break;}}}search1() //按工号查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n输入要查询的工号! id:");scanf("%s",s.id);printf_face();for(i=0;i<n;i++)if(strcmp(s.id,worker[i].id)==0){k=i;printf_one(k);break;}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search1();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}search2() //按学历查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n请输入你要查询的学历:\n");scanf("%s",);printf_face();for(i=0;i<n;i++)if(strcmp(,worker[i].edu)==0){k=i;printf_one(k);}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search2();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}menu(){int n,w1;do{puts("\t\t*******************菜单*******************\n\n");puts("\t\t\t\t1.录入职工信息");puts("\t\t\t\t2.浏览职工信息");puts("\t\t\t\t3.查询职工信息");puts("\t\t\t\t4.修改职工信息");puts("\t\t\t\t5.退出");puts("\t\t****************************************\n\n");printf("请选择(1~5): [ ]\b\b");scanf("%d",&n);if(n<1||n>5) //对选择的数字作判断{w1=1;getchar();}else w1=0;} while(w1==1);switch(n){case 1:enter();break; //录入 case 2:browse();break; //浏览 case 3:search();break; //查询 case 4:modify();break; //修改 case 5:exit(0); //退出}}main(){menu();}7.程序运行结果下面是各个模块的的界面截图(1)、主菜单(2)、输入模块(3)、浏览模块(3)、查找模块(4)、修改模块8.编程中遇到的困难及解决方法温故而知新,可以为师矣。
职工信息管理系统c语言课程设计报告

职工信息管理系统c语言课程设计报告本职工信息管理系统的设计旨在提高职工信息管理的效率和准确度,方便企业对职工信息的管理和维护。
二、设计内容1. 系统结构本系统采用模块化设计,包括登录模块、职工信息模块、数据查询模块、数据修改模块、数据删除模块、数据添加模块和退出系统模块。
2. 系统实现(1) 登录模块本系统采用账号密码登录方式,用户需输入正确的账号和密码才能进入系统。
(2) 职工信息模块本模块主要功能是显示职工的基本信息,包括姓名、性别、年龄、工号、职位等。
(3) 数据查询模块本模块可以查询所有职工的基本信息,用户可以输入关键字进行模糊查询。
(4) 数据修改模块本模块可以修改已有职工的基本信息,包括姓名、性别、年龄、工号、职位等。
(5) 数据删除模块本模块可以删除已有职工的基本信息,用户需要输入正确的工号才能进行删除操作。
(6) 数据添加模块本模块可以添加新的职工信息,用户需要输入正确的信息进行添加操作。
(7) 退出系统模块本模块可以退出系统,返回到登录界面。
三、设计思路本系统采用文件读写的方式进行数据存储,所有职工的信息都保存在一个文本文件中。
每次用户进行操作时,系统会先读取文件中的数据,进行相应的操作后再将数据重新写入文件,保证数据的正确性和完整性。
四、设计效果经测试,本职工信息管理系统可以准确地进行数据的增删改查操作,并且可以保持数据的一致性和完整性,提高了职工信息管理的效率和准确度。
五、总结本系统的设计和实现对于提高企业的职工信息管理效率和准确度具有重要意义,同时也为学生深入掌握c语言编程技术提供了一个很好的实践机会。
《c语言程序设计报告》-职工信息管理系统

《c语言程序设计报告》一、设计题目:职工信息管理系统二、设计任务:职工信息包括:职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之难提供以下功能:(1)系统以菜单方式工作。
任一功能能执行完毕后均要求返回主菜单。
(2)职工信息录入功能——输入。
(3)职工信息浏览功能——输出。
(4)查询或排序功能(至少一种查询方式)——算法(5)按工资查询(6)按学历查询等(7)职工信息删除、修改功能(任选项)(8)退出:包括返回主界面和退出系统等功能。
3.课程设计要求:模块化程序设计上机调试通过较好的完成程序的主体设计,界面友好,功能齐全:程序思路清晰易懂,充分利用所学工具实现各项操作。
4、应用程序的模块示意图及流程图流程图5、程序设计与调试的体会:在这二周里,我觉得我学到了书上没有的知识。
刚开始盒到《C语言程序设计》课程设计任务与指导书时发现该程序特别难。
没有一点头绪,根本不知道从那里开始。
之后仔细看了设计方法及步骤时总算有了一点发现。
在调试的过程中有很多的语法错误,自己根本看不懂,即使这样我也没有放弃还是努力寻找错误,最终还是被我找到了并改正。
最难的是函数的调用,程序大体上编译成功,但是在调用函数时总是无法连接。
这是我编程序的最大难点。
程序编译完全成功后,我发现了C语言的强大的功能,C语言语言简洁、紧凑、使用方便、灵活、远算符丰富、数据结构丰富、具有良好的结构化,符合现代编程风格。
语法限制不太严格,程序设计自由度大。
程序设计是一门实践性很强的课程不可能只靠听课和看书就掌握C语言程序设计,应当十分重视自己的动手写程序和上机远行程序。
6、主要故障;(1)、在一个函数调用结束完后回不到主菜单排除方法:在该函数调用后加上bioskey()函数(2)、缺少函数的声名排除方法:在主程序里声名调用函数(3)、在写主程序的时候发现光标定位不准确,排除方法:在老师的指点下完成了这项7、源程序:#include <graphics.h>#include <conio.h>#include <stdio.h>#include <ctype.h>struct zhigong{int zhigonghao;char xingming[50];char xingbie[2];long birthday;char xueli[50]; /*定义结构体*/char zhiwu[50];long gongzi;char address[50];long phone;} workers[30];int n;main(){void input();void browse();void sortwage();void sortxl(); /*函数声名*/void del();void zhigonghao();int k;textcolor(RED); /*字体颜色*/textbackground(GREEN); /*背景颜色*/clrscr();gotoxy(1,10);{do{clrscr();printf("\n\t\t ************************************ ");printf("\n\t\t * welcome to coming * ");printf("\n\t\t ************************************ ");printf("\n\t\t * (1) input information * \n");printf("\n\t\t * (2) print information *\n");printf("\n\t\t * (3) search information *\n");printf("\n\t\t * (4) sort-wage *\n");printf("\n\t\t * (5) sort-xl *\n");printf("\n\t\t * (6) delete information *\n");printf("\n\t\t * (0) exit *\n");gotoxy(77,50);printf("\n\t\t please choose the service: (0~6)");scanf("%d",&k);switch(k){case 1:input();break;case 2:browse();bioskey(0);break;case 3:zhigonghao();bioskey(0);break;case 4:sortwage();bioskey(0);break;case 5:sortxl();bioskey(0);break;case 6:del();bioskey(0);break;case 0:exit(0);} }while(1);}}void input() /*函数调用*/{ char c;do{clrscr();gotoxy(91,27);printf("\nnumber:");scanf("%d",&workers[n].zhigonghao);gotoxy(94,25);printf("\nname:");scanf("%s",workers[n].xingming);gotoxy(97,24);printf("\nsex:");scanf("%s",workers[n].xingbie);gotoxy(100,29);printf("\nbirthday:");scanf("%ld",&workers[n].birthday);gotoxy(103,26);printf("\nxueli:");scanf("%s",workers[n].xueli);gotoxy(106,28);printf("\nzhiwu:");scanf("%s",workers[n].zhiwu);gotoxy(109,26);printf("\nwage:");scanf("%ld",&workers[n].gongzi);gotoxy(112,28);printf("\naddress:");scanf("%s",workers[n].address);gotoxy(115,26);printf("\nphone:");scanf("%ld",&workers[n].phone);n=n+1;gotoxy(25,20);printf(" you have added %d work,go on? (Y/N)\n",n);do{gotoxy(60,20);scanf("%c",&c);if (c!='y'&&c!='Y'&&c!='N'&&c!='n'){gotoxy(64,20);printf(" ");gotoxy(1,21);continue;}else break;}while (1);}while (c=='Y'||c=='y');}void browse() /*输出函数调用*/{ int i;clrscr();gotoxy(10,1);printf("\n\t***********browse all workers'information************");printf("\n\n");printf("********************************************************************************");printf("zhigonghao xingming xingbie birthday xueli zhiwu gongzi adress phone");printf("********************************************************************** **********");for(i=0;i<n;i++){ printf("%d,%13s,%8s,%13ld,%6s, %5s, %3ld, %6s, %ld\n",workers[i].zhigon ghao,workers[i].xingming,workers[i].xingbie,workers[i].birthday,workers[i].xueli,workers[i].zh iwu,workers[i].gongzi,workers[i].address,workers[i].phone);}}void zhigonghao() /*函数调用————职工号查询*/{int i,zgh;char c;do{ clrscr();gotoxy(1,5);printf("\t\t\t*****************************\n");printf("\t\t\t welcome to coming\n");printf("\t\t\t*****************************\n");printf("\t\t\tinput the zgh:");scanf("%d",&zgh);for (i=0;i<=n;i++){if (workers[i].zhigonghao==zgh){clrscr();printf("number:%d\n",workers[i].zhigonghao);printf("name:%s\n",workers[i].xingming);printf("sex:%s\n",workers[i].xingbie);printf("birthday:%ld\n",workers[i].birthday);printf("xueli:%s\n",workers[i].xueli); /*输出查找出的职工*/ printf("zhiwu:%s\n",workers[i].zhiwu);printf("wage:%ld\n",workers[i].gongzi);printf("address:%s\n",workers[i].address);printf("phone:%ld\n",workers[i].phone);getchar();gotoxy(1,20);printf("\t\t return the mune? (Y/N)\n");break;}else{clrscr();gotoxy(1,5);printf("\n\t\t****************************************");printf("\n\t\t** welcome to coming **");printf("\n\t\t****************************************");gotoxy(25,16);printf("no information");gotoxy(3,20);printf("\t\treturn the mune? (Y/N)\n");}}do{gotoxy(45,20);scanf("%c",&c);if (c!='y'&&c!='Y'&&c!='N'&&c!='n'){gotoxy(45,20);printf(" ");gotoxy(1,21);continue;}else break;}while(1);}while(c=='N'||c=='n');}void sortwage( ) /*函数调用————工资查询*/{int i,gongzi,p=0;char c;{ clrscr();gotoxy(1,5);printf("\t\t\t*****************************\n");printf("\t\t\t welcome to coming\n");printf("\t\t\t*****************************\n");printf("\t\t\tinput the gongzi:");scanf("%d",&gongzi);printf("********************************************************************** **********");printf("zhigonghao xingming xingbie birthday xueli zhiwu gongzi adress phone");printf("********************************************************************** **********");for (i=0;i<n;i++)if (workers[i].gongzi==gongzi){printf("%d,%13s,%8s,%13ld,%6s, %5s, %3ld, %6s, %ld\n",workers[i].zhigonghao,wor kers[i].xingming,workers[i].xingbie,workers[i].birthday,workers[i].xueli,workers[i].zhiwu,wor kers[i].gongzi,workers[i].address,workers[i].phone);p=p+1;}if(p==0)printf("\t\t\tno information");}}void sortxl( ) /*函数调用————学历查询*/{int i,p=0;char c,xueli[30];{ clrscr( );gotoxy(1,5);printf("\t\t\t******************************\n");printf("\t\t\t welcome to coming \n");printf("\t\t\t******************************\n");printf("\t\t\tinput the xueli:");scanf("%s",xueli);printf("********************************************************************** **********");printf("zhigonghao xingming xingbie birthday xueli zhiwu gongzi adress phone");printf("********************************************************************** **********");for (i=0;i<n;i++)if (strcmp(workers[i].xueli,xueli)==0){printf("%d,%13s,%8s,%13ld,%6s, %5s, %3ld, %6s, %ld\n",workers[i].zhigonghao,work ers[i].xingming,workers[i].xingbie,workers[i].birthday,workers[i].xueli,workers[i].zhiwu,worke rs[i].gongzi,workers[i].address,workers[i].phone);p=p+1;}if(p==0)printf("\t\t\tno information"); } }void del() /*函数调用————删除*/{int i,zhigonghao,j;char c;do{ clrscr();gotoxy(1,5);printf("\t\t\t******************************\n");printf("\t\t\t welcome to coming \n");printf("\t\t\t******************************\n");printf("\t\t\t input the zhigonghao:");scanf("%d",&zhigonghao);for (i=0;i<n;i++)if (workers[i].zhigonghao==zhigonghao){for(j=i;j<n;j++){workers[j].zhigonghao=workers[j+1].zhigonghao;strcpy(workers[j].xingming,workers[j+1].xingming);strcpy(workers[j].xingbie,workers[j+1].xingbie);workers[j].birthday=workers[j+1].birthday;strcpy(workers[j].xueli,workers[j+1].xueli);strcpy(workers[j].zhiwu,workers[j+1].zhiwu);workers[j].gongzi=workers[j+1].gongzi;strcpy(workers[j].address,workers[i+1].address);workers[j].phone=workers[j+1].phone;}n=n-1;getchar();printf("\n\n\n\n");printf("\t\t\tyou have deleted worker");gotoxy(1,20);printf("\t\t\t return the mune? (Y/N)\n");break;}else{clrscr();gotoxy(1,5);printf("\n\t\t****************************************");printf("\n\t\t** welcome to comging **");printf("\n\t\t****************************************");gotoxy(25,16);printf("no information");gotoxy(3,20);printf("\t\t\treturn the mune? (Y/N)\n");}do{gotoxy(45,20);scanf("%c",&c);if (c!='y'&&c!='Y'&&c!='N'&&c!='n'){gotoxy(45,20);printf(" ");gotoxy(1,21);continue;}else break;}while(1);}while(c=='N'||c=='n');}2005-6-12。
C语言课程设计---职工管理系统设计报告
课程名称:程序设计语言课程设计设计题目:职工信息管理系统设计学院:应用技术学院专业:电子信息工程目录:摘要: (2)任务书: (2)总结与体会: (10)摘要:通过这次的短学期,在老师的辅导下,我完成了课程设计。
通过课程设计的完成对C和C++有更深的了解。
我做的课程设计题目是职工信息管理系统设计,我主要用到了结构体,结构体数组,指针,文件等等。
对函数的调用,和指针有了更深的理解。
但我做的这个课程设计,职工信息管理系统还存在不足,还希望老师的指点。
我的这个管理系统能处理的是对公司员工的信息存储,还有对职工的查找和排序,还有对职工的信息修改。
有不足的地方还请老师指点。
昆明理工大学课程设计任务书应用技术学院学院电子信息工程专业2009 级学生姓名(学号):袁瑞(200911513127)课程设计目的:通过设计一个较为简单的管理系统,进一步熟悉C++中类的概念、类的封装、继承的实现方式。
了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C++的理解与Visual C++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。
课程设计(论文)题目及具体内容:写程序题目:职工信息管理系统设计设计说明与要求:职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)职工信息录入功能(职工信息用文件保存)(3)职工信息浏览功能(4)查询和排序功能:按工资查询、按学历查询(5)职工信息删除、修改功能(4)各函数调用关系(流程图):(6)编码及调试:(注:此系统由三个人设计,本人只设计了其中的两个功能)功能二. 修改员工信息模块:此功能代码如下:modify() /*修改员工信息*/{struct people p;FILE *fp;int i,n,k,w0=1,w1,w2=0;n=load();do{k=-1;printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)){printf("\n\n请记住要修改的员工号.任意键继续...\n");getch();puts("\n\n");}printf_one(i);}do{printf("\n\n请输入要修改信息的员工号! 员工号:");scanf("%s",p.num);for(i=0;i<n;i++)if(strcmp(p.num,people[i].num)==0){k=i;p=people[i];}if(k==-1)printf("\n\n不存在,请重试");}while(k==-1);printf_face();printf_one(k);w1=modify_data(k,n);if(w1==1){printf("\n操作成功^_^.\n\n继续修改吗?\n\n\t 1).是2).保存并返回\t[ ]\b\b"); scanf("%d",&w0);w2=1;}else{w0=0;if(w2==1)people[k]=p;}if(w0!=1&&w2==1)save(n);}while(w0==1);system("cls");menu();}调试截图:功能三. 员工信息查询模块:此功能代码如下:search() /*查找功能*/ {int i,n,k,w1=1,w2,w3,w4,m,a;struct people p;n=load();{printf("\n\n以哪种方式查找? \n\t1).学历2).员工号[ ]\b\b"); scanf("%d",&m);switch(m){case 1:do{ k=-1;printf("\n\n请输入学历! 学历:");scanf("%s",p.xueli);printf_face();for(i=0;i<n;i++)if(strcmp(p.xueli,people[i].xueli)==0){ k=i;printf_one(k);break;}if(k==-1){ printf("\n\n没有该学历的员工");printf("\n\n重新查找吗?\n\t1).是2).否,返回[ ]\b\b"); scanf("%d",&w1);if(w1==2)printf_back();}}while(k==-1&&w1==1);break;case 2:do{k=-1;printf("\n\n输入您要查询的员工号! 员工号:");scanf("%s",p.num);printf_face();for(i=0;i<n;i++)if(strcmp(p.num,people[i].num)==0){k=i;printf_one(k);break;}if(k==-1){printf("\n\n该员工号不存在");printf("\n\n是否重新选择?\n\t1).是2).否,离开[ ]\b\b"); scanf("%d",&w1);if(w1==2)printf_back();}while(k==-1&&w1==1);break;}w4=0;w3=0;if(k!=-1){printf("\n\n请选择操作\n\t 1).继续查找2).修改3).删除4).返回菜单[ ]\b\b"); scanf("%d",&w2);switch(w2){case 2:w3=modify_data(k,n);break;case 3:{printf("\n确定吗?\n\t 1).确定2).返回[ ]\b\b");scanf("%d",&w4);if(w4==1)for(a=k;a<n;a++){strcpy(people[a].num,people[a+1].num);strcpy(people[a].name,people[a+1].name);strcpy(people[a].sex,people[a+1].sex);strcpy(people[a].age,people[a+1].age); /*删除所选员工信息*/ strcpy(people[a].xueli,people[a+1].xueli);strcpy(people[a].gongzi,people[a+1].gongzi);strcpy(people[a].address,people[a+1].address);strcpy(people[a].telephone,people[a+1].telephone);}break;}}if(w3==1||w4==1){save(n);printf("\n\n操作成功.^_^.");printf("\n\n请选择操作\n\t 1).继续查找2).返回[ ]\b\b" );scanf("%d",&w2);}}}while(w2==1);system("cls");menu();}此功能截图:员工信息是用用文本文件存储的,资料分别存储在这些文本文件中,具体如下:总结与体会:通过本次的课程设计,对C和C++又更一步的了解,了解了C上的结构体,并对结构体有了熟练的掌握,并且熟悉了指针,通过指针可以使程序很好的实现,结构体类型是一个很好的类型,在现实生活中,应用结构体可以使问题很好的解决。
C语言课程设计报告--职工信息管理系统设计
电气工程与自动化学院《C语言程序设计》课程设计报告课题名称:职工信息管理系统设计专业:__电气工程及其自自动化___班级:___电气(2)班____学号:____________ ____姓名:____ ______________成绩:________________________指导教师:____ _____________2011年 7 月 14 日目录1.目录 (2)2.本组课题及本人任务 (3)3. 程序功能简介 (4)4.主体内容 (4)(1)设计分析 (4)(2)程序结构(画流程图) (5)(3)各模块的功能及程序说明 (8)(5).源程序 (9)(6).操作方法(流程图) (23)(7).设计体会 (29)一.本组课题及本人任务1.本组课题:职工信息管理系统设计职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:(1).系统以文本菜单方式工作;(2).职工信息录入功能(职工信息用文件保存)--输入;(3).职工信息浏览功能--输出;(4).查询和排序功能:(至少一种查询方式) --算法,按工资查询、按学历查询等;(5).职工信息删除、修改功能(任选项)。
2.本人任务:在此先说明一下:程序中的定义结构体、函数声明、菜单函数、主函数我们组成员一起做的,这让我们在写后面的子函数时可以做到统一。
作为组长,我负责了我们组设计工作的协调和分工等。
然后,我的任务是编写查询功能和排序功能的的子函数,用以实现程序的查询功能和排序功能。
二.程序功能简介:1.本程序具有以下功能:(1).职工信息录入功能;(3).职工信息浏览功能;(4).查询功能:按工资查询、按学历查询;(5). 排序功能(按工资大小排序);(6).职工信息删除功能;(7)修改功能。
三.主体内容1.设计分析整个程序主要由主函数、菜单函数、录入函数、保存文件函数、导入函数、浏览函数、删除函数、查询函数、排序函数、修改函数构成。
职工信息管理C语言程序设计报告
目录一系统功能 (2)1系统需求分析 (2)2 系统功能总体设计 (2)3.输入输出功能 (2)4.总体设计流程图 (3)二概要设计 (4)1 抽象数据类型定义 (4)2 系统模块组成及其功能 (5)三详细设计 (6)1 用C语言定义相关数据 (6)2 各模块的类C码算法 (6)1 职工信息显示函数 (6)2 职工信息的追加函数 (6)3 职工信息修改函数 (7)4 职工信息删除函数 (9)5 职工信息查询函数 (10)6职工信息排序函数 (11)7退出函数 (11)3 函数的调用关系图 (11)四调试分析(包括流程图和截图) (12)1 显示模块N-S图 (12)2追加模块的流程图 (13)3.查询模块的流程图 (14)4.排序模块的流程图 (15)5.修改模块的流程图 (16)6删除模块流程图 (17)7.各个模块的截图及说明 (20)五总结 (26)六参考文献 (26)七程序原代码 (27)一系统功能1系统需求分析这是一个对职工信息管理的系统, 通过这个系统可以显示所有职工的信息并可以对职工信息进行追加、修改、删除、查询、排序等多种功能的操作.2 系统功能总体设计程序的功能: 随着计算机科学的发展, 现在我们不可能还是用手写的方式对职工的信息进行管理, 这就需要设计一个系统运用计算机来实现对职工信息的管理.该系统用数组实现对职工信息数据的存储, 且总体数据结构应用文件类型数据, 文件类型为结构体数组, 这就要建立数据库来存放职工的信息, 通过指针文件来实现对数据库里信息的读和写, 需要存储的职工信息包括职工号、职工姓名、性别、年龄、学历、工资、部门、职称等等, 最后通过函数的调用来实现对职工信息的管理.3.输入输出功能数据库中的数据全通过fread()函数来读取数据, 并且通过fwrite函数将修改过后的数据放到一个新的文件里去, 从而实现的系统的输入输出功能。
4.总体设计流程图二概要设计1 抽象数据类型定义Struct stu;{long int zgh; /*职工号*/Char name[10]; /*姓名*/Char xb[4]; /*性别*/Int nl; /*年龄*/Char xl[10]; /*学历*/Double gz; /*工资*/Char bm[15]; /*部门*/Char zc[10]; /*职称*/}s[40]2 系统模块组成及其功能主函数 void main()显示函数 void Disp()功能 : 显示数据库中职工的所有信息。
C语言课程设计报告范例(职工考勤信息管理系统)
HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYC语言程序设计课程设计报告课设题目:职工考勤信息管理系统专业:电气工程及其自动化班级: ************* 姓名: ***** 成绩:完成日期: 2012年12月28日-2013年1月11日指导教师: *********目录C语言程序设计 0课程设计报告 01.课程设计目的 (2)2.需求分析 (2)2.1要求 (2)2.2任务描述 (2)2.3运行环境 (3)2.4开发工具 (3)3.总体设计 (3)3.1系统流设计 (3)3.2系统模块设计 (5)4.详细设计 (5)4.1数据结构设计 (5)4.2模块接口设计 (7)4.3 以下是几个主要模块的流程图: (8)5.运行结果 (14)5.1欢迎界面: (14)5.2录入职工信息界面: (14)5.3主菜单界面: (15)5.4显示题目界面: (16)5. 5上午上班时间录入界面: (15)5.6上午下班时间录入界面: (17)5.7下午上班时间录入界面: (17)5.8下午下班时间录入界面: (18)5.9晚上上班时间录入界面: (18)5.10晚上下班时间录入界面: (19)5.11全部考勤信息的浏览界面: (19)5.12查询职工考勤信息界面: (20)5.13修改职工考勤信息界面: (20)5.14删除职工考勤信息界面: (21)5.15保存职工考勤记录界面: (21)5.16退出系统界面: (22)6.程序调试与测试 (22)6.1程序调试 (22)6.2程序测试 (24)7.问题与不足 (33)8.建议 (34)9.编程体会 (34)10.程序源代码: (34)11.参考文献 (57)12.用户使用手册 (57)1.课程设计目的1)通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。
2)通过课程设计,进一步掌握C语言中重要的数据结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言实训报告职工信息管理系统班级:负责人:组员:指导教师:日期:C语言课程设计任务书一、题目:职工信息管理系统二、目的和要求目的:要求熟练掌握C语言的基本知识和编辑技能;基本掌握结构化程序设计的基本思路和方法。
2.1 基本功能和要求(1) 系统必须是菜单操作方法,进入功能必须打开菜单,并且每个菜单都有相应的帮助,菜单之间能够灵活的切换。
用户分三种权限:一般的员工用户,员工工资管理员,系统管理员。
(2) 根据登陆方式,选择相应的操作方式;如果是一般的员工用户(默认权限为r即只读),就只能按照各种方式查看数据,并且只能查看自己的信息和工资情况,并且可以网上修改自己的信息等等功能;如果是员工工资管理员,除了可以查看数据外还能编辑员工基本信息数据。
如果是系统管理员,他可以拥有员工工资管理员的所有功能,并且可以创建用户,并且可以修改员工的工资体系和大小。
(3) 能够对员工基本信息、工资的基本信息、工资的扣除费用信息进行统计,统计的结果能够以表格的形式来表示。
(4) 员工基本信息、工资的基本信息、工资的扣除费用信息存储在相应的文件中。
数据的组织形式要求必须使用链表或者二叉树来实现。
(5) 登录的用户名和密码应该存储在单独的文件中,最好做一定的加密算法。
(6) 系统要求界面友好,易操作。
2.2 统计功能(1)统计每个部门的员工工资、整个公司的员工工资、员工的信息等。
(2)统计全公司总金额、每个部门的员工工资、扣税信息、工资的扣除信息、奖金、特别奖金等等。
(3)统计全公司工资最高的人员前10名,并对它们进行排序。
(4)按部门统计工资最高的人员前10名,并对它们进行排序。
(5)统计扣除工资最多的10个人。
(6)工资信息其它方面的统计。
(7) 按照技术职称统计工资信息。
(8) 按照工龄职称统计工资信息。
2.3 查找功能(1) 可以根据员工的姓名查找。
(2) 可以根据工资卡号查找。
(3) 可以根据身份证号查找。
(4) 可以根据部门查找。
(5) 可以根据技术职称查找。
(6) 可以根据员工的姓名来查找员工的信息,以及员工的工资组成和细节。
(7) 可以根据员工的身份证来查找员工的信息,以及员工的工资组成和细节。
(8) 可以根据员工的部门来查找员工的信息,以及员工的工资组成和细节。
2.4 排序功能(1) 可以根据员工的基本工资排序。
(2) 可以根据员工的职务工资排序。
(3) 可以根据员工的扣除工资排序。
(4) 可以根据员工的交税信息排序。
(5) 可以根据员工的扣除工资信息排序。
(6) 可以根据员工的姓名排序。
(7) 可以根据员工的职务排序。
2.5 系统的操作(1) 有文件的保存和另存为(2) 有文件的打开和载入(3) 系统在退出时,要有相应的提示三、信息描述·职工基本信息:如工资卡号、身份证号、姓名、性别、年龄、工龄、部门、技术职称、技术职称编号、家庭电话号码、手机号码等。
·工资基础信息:技术职称编号、技术职称、基本工资、职务工资、各种补助等。
·费用扣除信息:工资卡号、水费、电费、清洁费(5元/月)、闭路电视费(10元/月)等。
·工资单数据:工资卡号、姓名、应发工资、水费、电费、清洁费、闭路电视费、税金、实发工资、特别奖励。
四、解决方案1、首先进行需求分析,搞清楚系统功能和任务;2、然后在总体设计中确定模块结构、划分功能模块,将软件功能需求分配给所划分的最单元模块。
确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略;3、在详细设计中,为每个模块确定采用的算法,选择适当的工具表达算法的过程(流程图)来描述模块的详细过程。
4、根据分析编写C语言代码。
五、课程设计总结1、语言简练,条理清楚,图表规范2、程序设计组成框图、流程图3、模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的5、解决措施6、源程序清单和执行结果:清单中应有足够的注释七、参考资料《C程序设计》(第三版)谭浩强著清华大学出版社《C程序设计题解与上机指导》(第三版)谭浩强编著清华大学出版社第一章系统分析与系统设计一、目的和要求目的:要求熟练掌握C语言的基本知识和编辑技能;基本掌握结构化程序设计的基本思路和方法。
2.1 基本功能和要求(1) 系统必须是菜单操作方法,进入功能必须打开菜单,并且每个菜单都有相应的帮助,菜单之间能够灵活的切换。
用户分三种权限:一般的员工用户,员工工资管理员,系统管理员。
(2) 根据登陆方式,选择相应的操作方式;如果是一般的员工用户(默认权限为r即只读),就只能按照各种方式查看数据,并且只能查看自己的信息和工资情况,并且可以网上修改自己的信息等等功能;如果是员工工资管理员,除了可以查看数据外还能编辑员工基本信息数据。
如果是系统管理员,他可以拥有员工工资管理员的所有功能,并且可以创建用户,并且可以修改员工的工资体系和大小。
(3) 能够对员工基本信息、工资的基本信息、工资的扣除费用信息进行统计,统计的结果能够以表格的形式来表示。
(4) 员工基本信息、工资的基本信息、工资的扣除费用信息存储在相应的文件中。
数据的组织形式要求必须使用链表或者二叉树来实现。
(5) 登录的用户名和密码应该存储在单独的文件中,最好做一定的加密算法。
(6) 系统要求界面友好,易操作。
2.2 统计功能(1)统计每个部门的员工工资、整个公司的员工工资、员工的信息等。
(2)统计全公司总金额、每个部门的员工工资、扣税信息、工资的扣除信息、奖金、特别奖金等等。
(3)统计全公司工资最高的人员前10名,并对它们进行排序。
(4)按部门统计工资最高的人员前10名,并对它们进行排序。
(5)统计扣除工资最多的10个人。
(6)工资信息其它方面的统计。
(7) 按照技术职称统计工资信息。
(8) 按照工龄职称统计工资信息。
2.3 查找功能(1) 可以根据员工的姓名查找。
(2) 可以根据工资卡号查找。
(3) 可以根据身份证号查找。
(4) 可以根据部门查找。
(5) 可以根据技术职称查找。
(6) 可以根据员工的姓名来查找员工的信息,以及员工的工资组成和细节。
(7) 可以根据员工的身份证来查找员工的信息,以及员工的工资组成和细节。
(8) 可以根据员工的部门来查找员工的信息,以及员工的工资组成和细节。
2.4 排序功能(1) 可以根据员工的基本工资排序。
(2) 可以根据员工的职务工资排序。
(3) 可以根据员工的扣除工资排序。
(4) 可以根据员工的扣除工资信息排序。
(5) 可以根据员工的姓名排序。
(6) 可以根据员工的职务排序。
2.5 系统的操作(1) 有文件的保存和另存为(2) 有文件的打开和载入(3) 系统在退出时,要有相应的提示二、信息描述·职工基本信息:如工资卡号、身份证号、姓名、性别、年龄、工龄、部门、技术职称、技术职称编号、家庭电话号码、手机号码等。
·工资基础信息:技术职称编号、技术职称、基本工资、职务工资、各种补助等。
·费用扣除信息:工资卡号、水费、电费、清洁费(5元/月)、闭路电视费(10元/月)等。
·工资单数据:工资卡号、姓名、应发工资、水费、电费、清洁费、闭路电视费、税金、实发工资、特别奖励。
总体设计1)该系统可以按功能进行模块划分,其模块图如下系统模块图其中:职工工资信息管理系统共包含五大模块:登陆模块、创建用户模块、注销用户模块、修改密码模块和退出模块。
其中:(一)登陆模块:int login()1.录入员工的信息模块:void input()包括输入员工信息的个数、每个员工的工资卡号、身份证号码、姓名、性别、年龄、工龄、部门、技术职称、技术支撑编号、家庭电话号码、手机号码、基本工资、职务工资、各种补助、水费、电费、清洁费、闭路电视费。
2.查询员工的信息模块:void menu12()分别可根据员工的姓名、工资卡号、身份证号、部门、技术职称查找相应的员工单面信息以及所有相关信息。
3.统计员工的信息模块:void menu13()包括统计每个部门员工的工资信息、全公司的工资信息、全公司工资最高前10名、各部门工资最高前10名、扣除工资最多的10人、按照员工的技术职称和工龄统计工资信息、以及每个部门的工资详细信息。
4.员工信息排序模块:void menu14()分别根据员工的姓名排序、根据员工的技术职称编号排序、根据员工的基本工资排序、根据员工的职务工资排序、根据员工的扣除工资排序。
5.保存员工信息模块:void saveinfo()6.返回主菜单模块。
(二)创建用户模块:void input1()首先输入员工的用户名,若此用户名已经存在,则无法创建,若此用户名可以使用,继续输入密码。
(三)注销用户信息模块:void delUser()首先输入用户名和密码,若输入的用户名和密码正确,则继续输入要注销的用户名,否则无法注销。
(四)修改密码模块:void modify()首先登陆信息,若输入信息错误,则无法修改用户名和密码,若输入信息正确,则请求输入新的用户名和新的密码。
本系统中主要的数据结构就是职工的信息,包含如工资卡号、身份证号、姓名、性别、年龄、工龄、部门、技术职称、技术职称编号、家庭电话号码、手机号码等。
程序中所定义的数据结构体:struct wage //工资信息;struct Swage //费用扣除信息;struct WorkerInfostruct log //登陆结构体;struct WaP //工资单信息。
3)程序流程系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。
系统的流程图如下:程序流程图第二章主函数设计一、列出所有定义的函数及说明int login();//登陆函数int login1();//登陆函数void menu();//主菜单void modify();//修改密码void saveLog();//保存登陆的用户名和密码void loadLog();//加载登陆的用户名和密码void menu1();//登陆进入子菜单void input();//录入员工信息void menu12();//查询员工信息子菜单函数void menu13();//统计员工信息子菜单函数void menu14();//员工信息排序子菜单函数void saveinfo();//保存员工信息void loadinfo();//载入员工信息void browse();//浏览员工信息函数void addUser();//添加新用户void delUser();//注销用户void SearchName(); //* 按员工姓名查找员工信息函数*/void SearchID(); //* 按员工工资卡号查找员工信息函数*/void SearchPID(); /* 按员工身份证号码查找员工信息函数*/void SearchDep(); /* 按员工部门查找员工信息函数*/void SearchPre();/* 按员工技术职称查找员工信息函数*/void SearchNameW();/* 按照员工姓名查询员工工资信息信息函数*/ void SearchIDW(); /* 按照员工工资卡号查询员工工资信息函数*/ void SearchPIDW();/* 按照员工身份证号码查询员工工资信息函数*/ void DepInfo();/*统计每个部门员工的工资信息*/void ComInfo(); /* 统计整个公司的工资信息*/void DepDetInfo(); /* 统计每个部门的工资详细信息*/void TopComInfo(); /* 统计工资最高的前10名员工信息*/void TopDepInfo(); /* 按照部门统计最高的10名员工信息*/void SubComInfo(); /* 统计工资扣除最多的10个员工信息*/void PreInfo(); /* 按照员工的技术职称统计工资信息*/void ComAgeInfo(); /* 按照员工的工龄统计工资信息*/void SDep();/*加载现有的员工部门信息*/void SPre();/*加载现有员工的职称信息*/void SWage();/*加载现有员工的工龄信息*/void browse1();/*浏览信息函数2*/void OrdTax(); /* 根据员工的交税信息排序*/void OrdName();/*根据员工的姓名排序*/void OrdSub(); /* 根据员工的扣除工资排序*/void OrdPWage(); /* 根据员工的职务工资排序*/void OrdBWage();/* 根据员工的基本工资排序*/void OrdPre();/* 根据员工的职务排序*/三、系统调试调试是软件开发过程中最艰巨的脑力劳动,调试开始时,软件开发者仅仅面对着错误的征兆,然而在问题的外部现象和内在原因之间往往并没有明显的联系,在组成程序的密密麻麻的元素中,每一个都可能是错误的根源。