工人类包括薪水类多文件操作C++源程序
员工工资管理系统c语言编程
员⼯⼯资管理系统c语⾔编程#definenull0 typedefstructInfo1{charnum[10];charname[10];chardepar[10];charyfsalary[10];charaband[10];chartax[10];charsfsalary[10];structInfo1*next; }Info2;typedefstructInfo1*Info;Infohead;voiddisplay();voidfind();voidmodify();voidadd();voiddel();voidlist();voidlistOne(Infos);InfoisExists(char*num);voidinit();voidinit(){head=(Info)malloc(sizeof(Info2));head->next=null;}voidmain(){init();while(1){charc;{case'1':find();break;case'2':add();break;case'3':modify();break;case'4':del();break;case'5':list();break;case'6':printf("\t\t...退出系统!\n");return;default:printf("\t\t输⼊错误!请按任意键返回重新选择(1-7)\n");getchar();}}}voiddisplay(){printf("\n\t**欢迎使⽤员⼯信息管理系统**\n\n");printf("\t请选(1-7):\n");printf("\t============================================\n");printf("\t\t1.查询员⼯信息\n");printf("\t\t2.录⼊员⼯信息\n");printf("\t\t3.修改员⼯信息\n");printf("\t\t4.删除员⼯信息\n");printf("\t\t6.显⽰所有员⼯信息\n");printf("\t\t7.退出系统\n");printf("\t============================================\n");printf("\t您的选择是:");}voidlistOne(Infop){printf("\n该员⼯信息记录如下:");printf("\n==========================================================\n\n") ;printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n","员⼯编号","姓名","部门","应付⼯资","保险","税⾦","实付⼯资"); printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n",p->num,p->name,p->depar,p->y fsalary,p->aband,p->tax,p->sfsalary); }q=p->next;while(q!=null){if(strcmp(q->num,num)==0)returnp;p=q;q=p->next;}returnp;}voidadd(){Infop,q;charnum[10];q=(Info)malloc(sizeof(Info2));printf("\t\t请输⼊员⼯编号:");scanf("%s",num);p=isExists(num);if(p->next==null){strcpy(q->num,num);printf("\t\t请输⼊员⼯姓名:");scanf("%s",q->name);printf("\t\t请输⼊该员⼯的部门:");scanf("%s",q->depar);printf("\t\t请输⼊该员⼯的应付⼯资⾦额:"); scanf("%s",q->yfsalary);printf("\t\t请输⼊该员⼯的保险⾦额:"); scanf("%s",q->aband);printf("\t\t请输⼊该员⼯的税⾦⾦额:"); scanf("%s",q->tax);}elseprintf("\n\t\t您所输⼊的员⼯编号以存在!");printf("\n\t\t按任意键返回住菜单......");getchar();}voiddel(){Infop,q;charnum[10];if(head->next==null){printf("\n\t\t当前还没有员⼯信息记录,按任意键返回主菜单......");getchar();return;}printf("\t\t请输⼊员⼯编号:");scanf("%s",num);p=isExists(num);q=p->next;if(q!=null){q=q->next;p->next=q;printf("\n\t\t删除成功!");}elseprintf("\n\t\t您所输⼊的员⼯编号有误或不存在!"); printf("\n\t\t按任意键返回主菜单......"); getchar();}voidmodify()if(head->next==null){printf("\n\t\t当前还没有员⼯信息记录,按任意键返回主菜单......"); getchar();return;}printf("\t\t请输⼊员⼯编号:");scanf("%s",num);p=isExists(num);q=p->next;if(q!=null){listOne(q);printf("\t\t请输⼊该员⼯的新姓名:");scanf("%s",q->name);printf("\t\t请输⼊该员⼯的部门:");scanf("%s",q->depar);printf("\t\t请输⼊该员⼯的应付⼯资⾦额:");scanf("%s",q->yfsalary);printf("\t\t请输⼊该员⼯的保险:");scanf("%s",q->aband);printf("\t\t请输⼊该员⼯的新税⾦⾦额:");scanf("%s",q->tax);printf("\t\t请输⼊该员⼯的新实付⼯资:");scanf("%s",q->sfsalary);}elseprintf("\n\t\t您所输⼊的员⼯编号有误或不存在!");printf("\n\t\t按任意键返回主菜单......");getchar();}voidlist()if(head->next==null){printf("\n\t\t当前还没有员⼯信息记录,按任意键返回主菜单......");getchar();return;}printf("\n所有员⼯信息记录如下:");printf("\n================================================================ ========\n\n");printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n","员⼯编号","姓名","部门","应付⼯资","保险","税⾦","实付⾦额");p=head->next;while(p!=null){printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n",p->num,p->name,p->depar,p->y fsalary,p->aband,p->tax,p->sfsalary); p=p->next;}printf("\n\t\t按任意键返回主菜单......");getchar();}voidfind(){Infop;charnum[10];if(head->next==null){printf("\n\t\t当前还没有员⼯信息记录,按任意键返回主菜单......");getchar();return;}printf("\t\t输⼊员⼯编号:");scanf("%s",num);p=isExists(num);p=p->next;if(p!=null)printf("\n\t\t您所输⼊的员⼯信息有误或不存在!"); printf("\n\t\t按任意键返回主菜单......");getchar();}。
c语言课程实践《职工工资管理系统》源代码
fprintf(report,"\n\tAverage wage\t\t%.2f\t\t0.00\t\t%.2f",(float)(fsum/fn),(float)(fsum/fn));//如果男性人数是0,则只输出女性的平均工资
else
fprintf(report,"\n\tAverage wage\t\t%.2f\t\t%.2f\t\t%.2f",(float)(fsum/fn),(float)(msum/mn),(float)((fsum+msum)/(fn+mn)));//如果男女都不为0的话,那么则把平均工资都输出
p=temp;//temp指针变量往后移
temp=temp->next;//temp指针变量往后移
}
if(fnum==temp->num)//如果找到了,就执行下面的程序
{
find=1;//标记变量:find是1的时候说明找到,0则说明没找到
printf("\n");
unsigned int age; // 年龄
unsigned long telephone,wage,num; // 电话,工资,编号
struct workers *next; // 指向下一条记录的指针(链表使用)
};
struct workers *head,*bottom,*temp,*p;//定义指向结构体的指针变量
insert();//调用创建链表,录入信息的函数
}
getchar();//输入任意字符
return main();//返回主调函数
}
C#上机实验题
《.Net程序设计》上机实验题
一、定义员工类(Employee),要求:
1、该类包括工号(Id)、姓名(Name)、职务(Position)、薪水(Salary)四个属性,其中职位分为普通员工和经理两类。
2、定义一个含工号、姓名、职务三个参数的构造方法,完成对员工对象的初始化;
3、定义方法GetSalary(int daysOfWork),该方法通过传入的工作天数(daysOfWork)计算出员工的薪水。
其中,
普通员工薪水= 工作天数* 150元
经理薪水= 工作天数* 300元
编写窗体程序,实现员工信息的输入(包括:工号、姓名、职务、工作天数)和员工完整信息的输出(包括:工号、姓名、职位、工作天数,薪水)。
二、创建图书数据库(BookDB)和图书数据表(Book),图书数据表包括:书号(ISBN),书名(Name)、出版社(Publisher)、价格(Price)、作者(Author)、出版日期(PublicationDate)、语种(Language)七个字段,其中语种分为中文和英文两种。
编写窗体程序,实现对图书数据表的显示、添加、删除和修改操作。
员工工资管理系统(c语言编程)6页
员工工资管理系统(c语言编程)6页一、设计目标1、完成一个员工工资管理系统,包括对员工信息的添加、删除、修改和查询、员工工资管理和统计等功能。
2、程序必须具备易用性、可靠性、安全性和稳定性等特点。
二、程序结构设计员工工资管理系统是由若干模块构成的一个整体,它们之间相互联系,共同完成对员工信息的处理和管理。
程序分为主界面模块、添加模块、删除模块、修改模块、查询模块、统计模块、退出模块。
三、模块功能设计1、主界面模块主界面包括菜单栏和功能栏,菜单栏包括添加、删除、修改、查询、统计和退出功能,功能栏是对主界面菜单的补充,包括一些快捷操作按钮。
2、添加模块添加模块是用来录入员工信息的,可以录入的信息有员工编号、员工姓名、员工部门、员工工作年限、员工基本工资、员工奖金等。
添加模块会对信息进行一系列的校验,要求信息必须完整正确才能录入。
3、删除模块删除模块是用来删除员工信息的,输入员工编号就可以删除该员工的信息。
5、查询模块查询模块提供了多种查询方式,包括按部门查询、按姓名查询、按工作年限查询、按基本工资查询、按奖金查询等。
查询结果会按照员工编号的顺序进行排序。
6、统计模块统计模块会根据查询结果进行工资统计,包括总工资、平均工资、最高工资和最低工资等。
7、退出模块退出模块是用来关闭程序的,保证程序的安全性和稳定性。
四、程序流程设计1、主界面程序启动后,会显示主界面界面,包括菜单栏和功能栏。
2、录入信息点击添加功能或者添加按钮,会进入添加模块,要求用户输入员工信息,录入完成后数据将保存到文件中。
4、修改信息点击修改功能或者修改按钮,会进入修改模块,输入员工编号,然后修改员工信息。
5、查询信息点击查询功能或者查询按钮,会进入查询模块,选择查询方式,输入查询条件,系统将显示符合条件的员工信息。
6、工资统计当查询完成后,点击统计功能或者统计按钮,会进入统计模块,系统将根据查询结果进行统计。
7、程序退出当操作完成后,点击退出功能或者退出按钮,会关闭程序。
c语言职工工资管理系统代码
C语言职工工资管理系统代码简介职工工资管理是一项重要的任务,它涉及到工资计算、薪资发放、绩效评估等方面。
为了提高管理的有效性和准确性,许多公司和组织都开发了各种各样的工资管理系统。
本文将介绍一种基于C语言开发的职工工资管理系统代码。
代码功能及特点1. 基本功能•添加新员工信息•更新员工信息•计算员工工资•发放工资•查询员工信息•统计工资情况2. 特点•简单易懂:代码使用C语言编写,阅读和理解都相对简单。
•高效可靠:代码采用模块化设计,结构清晰,运行效率高,容错性强。
•跨平台支持:C语言是一种具有广泛应用的语言,可以在多个操作系统上运行。
代码实现1. 员工信息结构体定义struct Employee {int id; // 员工编号char name[20]; // 员工姓名float basicSalary; // 员工基本工资float performanceBonus; // 绩效奖金float salary; // 员工工资};2. 添加新员工信息函数void addEmployee(struct Employee *employee, int num) {printf("请输入员工编号:");scanf("%d", &(employee[num].id));// 输入其他员工信息...}3. 更新员工信息函数void updateEmployee(struct Employee *employee, int id) {int i;for (i = 0; i < num; i++) {if (employee[i].id == id) {// 更新员工信息...}}}4. 计算员工工资函数void calculateSalary(struct Employee *employee, int num) {int i;for (i = 0; i < num; i++) {employee[i].salary = employee[i].basicSalary + employee[i].performance Bonus;}}5. 发放工资函数void paySalary(struct Employee *employee, int num) {int i;for (i = 0; i < num; i++) {printf("员工编号:%d,工资:%.2f\n", employee[i].id, employee[i].salar y);}}6. 查询员工信息函数void searchEmployee(struct Employee *employee, int id) {int i;for (i = 0; i < num; i++) {if (employee[i].id == id) {// 输出员工信息...}}}7. 统计工资情况函数void statisticsSalary(struct Employee *employee, int num) { float totalSalary = 0;int i;for (i = 0; i < num; i++) {totalSalary += employee[i].salary;}printf("总工资:%f\n", totalSalary);}使用示例1. 添加员工信息struct Employee employees[100];int num = 0;addEmployee(employees, num);num++;2. 更新员工信息int id = 12345;updateEmployee(employees, id);3. 计算员工工资calculateSalary(employees, num);4. 发放工资paySalary(employees, num);5. 查询员工信息int id = 12345;searchEmployee(employees, id);6. 统计工资情况statisticsSalary(employees, num);总结本文介绍了一个基于C语言的职工工资管理系统代码。
c语言课程设计职工工资管理系统
一、概述随着社会的发展和进步,工资管理系统在企业管理中扮演着重要的角色。
为了提高工资管理的效率和准确性,许多企业都倾向于引入计算机系统来进行工资管理。
C语言是一种广泛应用于系统程序设计和应用程序开发的高级语言,具有跨评台性和高效性的特点。
设计一个基于C语言的职工工资管理系统将会成为一个有价值的课程设计。
二、系统功能需求1. 职工信息管理:系统需要能够记录、查看和修改职工的基本信息,包括尊称、工号、部门、入职日期等。
2. 薪资核算:系统应能根据职工的实际出勤、加班情况、请假情况等自动生成薪资,并能够灵活处理各类津贴和抠款。
3. 考勤管理:系统需要提供考勤记录的输入和查询功能,以便及时了解职工的工作情况。
4. 报表输出:系统需要能够生成各类工资报表,方便管理人员进行核对和统计。
5. 数据备份和恢复:系统应具备数据备份和恢复功能,以保证数据的安全性和完整性。
三、系统设计与技术选择在设计该系统时,应采用模块化、分层的设计思路,以便系统具有良好的可维护性和扩展性。
1. 界面设计:可以采用文本界面或图形界面进行设计,具体选择取决于系统的实际应用环境和用户需求。
2. 数据存储:可以选择采用文件系统或数据库来存储系统数据,常见的选择包括文本文件、CSV文件、SQLite数据库等。
3. 算法选择:需要根据系统的具体需求选择合适的算法来实现薪资核算和报表生成等功能。
4. 开发工具:可以选择C语言的集成开发环境(IDE)来进行开发,例如Visual Studio、Dev-C++等。
四、系统实现在进行系统开发时,需要按照设计要求逐步实现各个功能模块,同时进行严格的测试和调试工作,以确保系统的稳定性和准确性。
1. 职工信息管理模块:包括新增、修改、删除职工信息等功能。
2. 薪资核算模块:根据考勤情况自动生成薪资并进行津贴和抠款处理。
3. 考勤管理模块:提供考勤记录的输入和查询功能,确保数据的及时更新和准确性。
4. 报表输出模块:能够生成各类工资报表,包括月度工资表、年度工资统计表等。
职工工资管理系统C语言精编版
职工工资管理系统C语言精编版MQS system office room 【MQS16H-TTMS2A-MQSS8Q8-MQSH16898】1、设计内容设计一个工资管理程序存储的数据包括:姓名,职工号,所属部门,基本工资,奖励工资,补贴项目及金额和扣款项目及金额。
功能:1)加入一个人的记录2)删除一个人的记录3)显示所有人的记录4)查询(包括按人名查询工资和按工号查询)5)统计功能(包括统计某一工资范围的人数和统计各部门的工资总数)6)修改功能2、设计目的1.熟悉C语言程序的编辑、编译链接和运行的过程。
2.熟练运用if语句和switch语句以及嵌套应用。
3.学习并掌握C语言定义函数的基本方法、声明函数及调用函数的方法和过程。
4.掌握文件的概念以及文件的定义方法,认识文件打开、关闭、读、写等文件基本操作函数。
5.掌握结构体类型变量、数组的定义和使用。
6. 掌握数组的定义、引用以及输入输出的方法、通过字符数组存储字符串,进一步使用字符串。
3、设计思路(包括所用的函数)deldelame,wo[i].ID,wo[i].depa,wo[i].salary1,wo[i].salary2,wo[i].salar y3,wo[i].salary4,wo[i].salary1+wo[i].salary2+wo[i].salary3-wo[i].salary4);i++;}}ame)==0){printf("\t%s\t%s\t%s\t%d\t\t%d\t\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i]. ID,wo[i].depa,wo[i].salary1,wo[i].salary2,wo[i].salary3,wo[i].salary4 ,wo[i].salary1+wo[i].salary2+wo[i].salary3-wo[i].salary4);}}}void ghcz()D)==0){printf("\t%s\t%s\t%s\t%d\t\t%d\t\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i]. ID,wo[i].depa,wo[i].salary1,wo[i].salary2,wo[i].salary3,wo[i].salary4 ,wo[i].salary1+wo[i].salary2+wo[i].salary3-wo[i].salary4);}}}void bmcz()epa)==0){printf("\t%s\t%s\t%s\t%d\t\t%d\t\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i]. ID,wo[i].depa,wo[i].salary1,wo[i].salary2,wo[i].salary3,wo[i].salary4 ,wo[i].salary1+wo[i].salary2+wo[i].salary3-wo[i].salary4);}}}delame)==0){for (j=i;j<Number-1;j++){wo[j]=wo[j+1];}Number--;}}D)==0){for (j=i;j<Number-1;j++){wo[j]=wo[j+1];}Number--;}}alary1+wo[i].salary2+wo[i].salary3-wo[i].salary4;printf("%s的总工资为:%f\n",wo[i].name,sum[i]);}}void statistic()alary1+wo[i].salary2+wo[i].salary3-wo[i].salary4;}for(i=0;i<Number;i++){n=sum[i]/1000;if (n>9) n=10;switch(n){case 0:sl[0]++;break;case 1:sl[1]++;break;case 2:sl[2]++;break;case 3:sl[3]++;break;case 4:sl[4]++;break;case 5:sl[5]++;break;case 6:sl[6]++;break;case 7:sl[7]++;break;case 8:sl[8]++;break;case 9:sl[9]++;break;case 10:sl[10]++;break;}}m=sa1/1000;switch(m){case 0:printf("工资在1000以下的人数为%d\n",sl[0]);break;case 1:printf("工资在1000到2000之间的人数为%d\n",sl[1]);break;case 2:printf("工资在2000到3000之间的人数为%d\n",sl[2]);break;case 3:printf("工资在3000到4000之间的人数为%d\n",sl[3]);break;case 4:printf("工资在4000到5000之间的人数为%d\n",sl[4]);break;case 5:printf("工资在5000到6000之间的人数为%d\n",sl[5]);break; case 6:printf("工资在6000到7000之间的人数为%d\n",sl[6]);break;case 7:printf("工资在7000到8000之间的人数为%d\n",sl[7]);break;case 8:printf("工资在8000到9000之间的人数为%d\n",sl[8]);break;case 9:printf("工资在9000到10000之间的人数为%d\n",sl[9]);break;case 10:printf("工资在10000以上的人数为%d\n",sl[10]);break;}}void bmtj()epa)==0){printf("\t%s\t%s\t%s\t%d\t\t%d\t\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i]. ID,wo[i].depa,wo[i].salary1,wo[i].salary2,wo[i].salary3,wo[i].salary4 ,wo[i].salary1+wo[i].salary2+wo[i].salary3-wo[i].salary4);sum=sum+wo[i].salary1+wo[i].salary2+wo[i].salary3-wo[i].salary4; }}printf("该部门的总工资为:%f\n",sum);}ame));elsebreak;}printf("\t姓名\t工号\t所属部门\t基本工资\t奖励工资\t补贴项目及金额\t扣款项目及金额\t总工资\n");printf("\t%s\t%s\t%s\t%d\t\t%d\t\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i]. ID,wo[i].depa,wo[i].salary1,wo[i].salary2,wo[i].salary3,wo[i].salary4 ,wo[i].salary1+wo[i].salary2+wo[i].salary3-wo[i].salary4);printf("请重新输入该职工信息");printf("姓名:");scanf("%s", wo[i].name);printf("工号:");scanf("%s",wo[i].ID);printf("所属部门:");scanf("%s",wo[i].depa);printf("基本工资:");scanf("%d",wo[i].salary1);printf("奖励工资:");scanf("%d",wo[i].salary2);printf("补贴项目即金额:");scanf("%d", wo[i].salary3);printf("扣款项目及金额:");scanf("%d", wo[i].salary4);D));elsebreak;}printf("\t姓名\t工号\t所属部门\t基本工资\t奖励工资\t补贴项目及金额\t扣款项目及金额\t总工资\n");printf("\t%s\t%s\t%s\t%d\t\t%d\t\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i]. ID,wo[i].depa,wo[i].salary1,wo[i].salary2,wo[i].salary3,wo[i].salary4 ,wo[i].salary1+wo[i].salary2+wo[i].salary3-wo[i].salary4);printf("请重新输入该职工信息");printf("姓名:");scanf("%s", wo[i].name);printf("工号:");scanf("%s",wo[i].ID);printf("所属部门:");scanf("%s",wo[i].depa);printf("基本工资:");scanf("%d",wo[i].salary1);printf("奖励工资:");scanf("%d",wo[i].salary2);printf("补贴项目即金额:");scanf("%d", wo[i].salary3);printf("扣款项目及金额:");scanf("%d", wo[i].salary4);...\n");}void back(){printf("\t===>按Enter键返回主菜单\n");}5.、运行结果****************职工工资管理系统**************** *☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆* ^^^^^^^^^^^^^^^[1]添加职工信息^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^[2]查看职工信息^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^[3]查找职工信息^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^[4]删除职工信息^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^[5]个人工资统计^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^[6]统计职工工资^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^[7]修改职工信息^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^[8] 保存数据^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^[0] 退出系统^^^^^^^^^^^^^^^^^ *★★★★★★★★★★★★★★★★★★★★★★★* ====>请选择:输入一条记录信息:选择1,回车。
c语言职工工资管理系统代码
c语言职工工资管理系统代码随着社会的发展和经济的进步,职工工资管理成为了企业管理中的重要一环。
为了提高工资管理的效率和准确性,许多企业开始采用计算机软件来进行工资管理。
本文将介绍一个基于C语言的职工工资管理系统代码。
首先,我们需要定义一些基本的数据结构和变量。
在这个系统中,我们需要记录每个职工的姓名、工号、基本工资、津贴、扣款等信息。
我们可以使用结构体来定义这些信息,例如:```cstruct Employee {char name[20];int id;float basicSalary;float allowance;float deduction;};```接下来,我们可以定义一些函数来实现不同的功能。
例如,我们可以编写一个函数来添加新的职工信息:```cvoid addEmployee(struct Employee *employees, int *count) { printf("请输入职工姓名:");scanf("%s", employees[*count].name);printf("请输入职工工号:");scanf("%d", &employees[*count].id);printf("请输入职工基本工资:");scanf("%f", &employees[*count].basicSalary);printf("请输入职工津贴:");scanf("%f", &employees[*count].allowance);printf("请输入职工扣款:");scanf("%f", &employees[*count].deduction);(*count)++;}```我们还可以编写一个函数来计算每个职工的实际工资:```cfloat calculateSalary(struct Employee employee) {return employee.basicSalary + employee.allowance - employee.deduction;}```接下来,我们可以编写一个函数来显示所有职工的信息和实际工资:```cvoid displayEmployees(struct Employee *employees, int count) {printf("姓名\t工号\t基本工资\t津贴\t扣款\t实际工资\n");for (int i = 0; i < count; i++) {printf("%s\t%d\t%.2f\t\t%.2f\t%.2f\t%.2f\n", employees[i].name, employees[i].id, employees[i].basicSalary, employees[i].allowance, employees[i].deduction, calculateSalary(employees[i]));}}```最后,我们可以编写一个主函数来实现整个系统的流程:```cint main() {struct Employee employees[100];int count = 0;int choice;do {printf("请选择操作:\n");printf("1. 添加职工信息\n");printf("2. 显示职工信息\n");printf("3. 退出\n");scanf("%d", &choice);switch (choice) {case 1:addEmployee(employees, &count);break;case 2:displayEmployees(employees, count);break;case 3:printf("感谢使用职工工资管理系统!\n"); break;default:printf("无效的选择,请重新输入!\n");break;}} while (choice != 3);return 0;}```通过以上代码,我们可以实现一个简单的职工工资管理系统。
c语言职工工资管理系统代码
c语言职工工资管理系统代码C语言职工工资管理系统是一款可以帮助企业管理职工工资信息的软件。
它可以实现职工信息的录入、查询、修改和删除等功能,同时还可以计算出每个职工的工资和提供相应的统计报表,为企业的工资管理工作提供了便利。
首先,C语言职工工资管理系统需要职工信息的录入。
通过该系统,企业可以方便地将新聘职工的基本信息录入,包括姓名、部门、岗位、入职时间等。
录入信息的过程简单便捷,只需要输入相应的信息即可完成。
其次,该系统具备职工信息的查询功能。
企业可以通过系统快速准确地查询任意一位职工的相关信息,包括姓名、部门、岗位、入职时间等。
职工信息的查询非常方便,只需要输入相应的关键词即可找到相应的结果。
除此之外,C语言职工工资管理系统还支持职工信息的修改和删除。
当职工的个人信息发生变化时,企业可以通过该系统对职工信息进行修改,保证信息的及时更新。
而如果某位职工离职或换岗,企业也可以通过系统将其信息进行删除,做到数据库的动态管理。
另外,C语言职工工资管理系统还具备工资计算的功能。
系统可以根据职工的薪资方案和考勤情况,自动计算出每个职工的工资。
这不仅提高了工资计算的准确性和效率,也减轻了人力资源部门的工作压力。
同时,该系统还能为企业提供详尽的工资统计报表。
企业可以通过系统生成工资明细表、部门工资汇总表、岗位工资统计表等各种报表,方便了企业对工资情况的分析和统计。
这些报表可以提供给管理层,帮助他们做出更加科学合理的决策。
综上所述,C语言职工工资管理系统是一款功能全面、使用便捷的软件。
它不仅可以方便地管理企业的职工信息,还可以快速准确地计算出职工的工资,并生成相应的统计报表。
对于现代企业来说,这样一款工资管理系统无疑是一项非常重要的工具,它可以提高工资管理的效率和准确性,减轻企业管理层的负担,为企业的发展提供有力的支持。
c语言职工工资管理系统代码
c语言职工工资管理系统代码
(实用版)
目录
1.引言
2.系统功能介绍
3.系统设计与实现
4.系统测试与验证
5.总结
正文
一、引言
随着社会的快速发展,职工工资管理系统已经成为企事业单位不可或缺的一部分。
本文将介绍一个基于 C 语言编写的职工工资管理系统代码,以满足企事业单位对职工工资管理的需求。
二、系统功能介绍
该职工工资管理系统主要包括以下功能:
1.员工信息管理:用于添加、修改和删除员工的基本信息,如姓名、工号、性别、出生日期、职位、电话等。
2.工资信息管理:用于录入、修改和删除员工的工资信息,包括基本工资、绩效工资、奖金、扣款等。
3.查询功能:提供按工号、姓名、职位等多种条件查询员工信息及工资信息。
4.打印功能:支持打印员工工资单。
三、系统设计与实现
本系统采用 C 语言编写,利用结构体和文件操作实现员工信息和工资信息的存储和管理。
系统主要包括以下几个模块:
1.数据结构设计:定义员工结构体和工资结构体,用于存储员工信息和工资信息。
2.文件操作:实现员工信息和工资信息的存储和读取,采用文件存储数据,确保数据安全性。
3.功能模块:实现员工信息管理、工资信息管理、查询和打印功能。
四、系统测试与验证
为确保系统的正确性和可靠性,对系统进行了详细测试。
测试结果表明,本系统能够正确处理各种操作,满足用户需求。
五、总结
本文介绍了一个基于 C 语言编写的职工工资管理系统代码。
该系统具有简单易用、功能齐全、安全性高等特点,可满足企事业单位对职工工资管理的需求。
职工工资管理系统c语言程序设计
职工工资管理系统 C 语言程序设计简介职工工资管理系统是一个用于帮助企业管理职工工资的程序,它可以实现对职工的基本信息、工作时长、工资等进行管理。
本文将介绍如何使用 C 语言实现一个简单的职工工资管理系统。
功能设计1. 添加职工信息系统可以添加新的职工信息,包括职工编号、姓名、性别、职位等。
2. 修改职工信息已有职工信息可以进行修改,如姓名、性别、职位等。
3. 计算工资系统可以根据职工的工作时长和基础工资计算出实际工资。
4. 查询职工信息可以通过职工编号或姓名查询职工的详细信息。
5. 显示所有职工信息将所有职工的信息显示在界面上。
开发流程1. 定义数据结构首先,我们需要定义一个数据结构Employee来保存职工的信息,包括职工编号、姓名、性别、职位、基础工资等字段。
struct Employee {int id;char name[50];char gender[10];char position[50];float baseSalary;float hoursWorked;float totalSalary;};2. 编写主要函数添加职工信息void addEmployee(struct Employee emp) {// 将 emp 添加到员工列表中}修改职工信息void updateEmployee(struct Employee emp) {// 根据职工编号修改对应的员工信息}计算工资float calculateSalary(struct Employee emp) {// 计算职工的实际工资return emp.baseSalary + emp.hoursWorked * hourlyRate;}查询职工信息void searchEmployee(int id) {// 根据职工编号查询职工信息}显示所有职工信息void displayAllEmployees() {// 显示所有职工的信息}3. 用户界面交互为了方便用户操作,可以设计一个简单的用户界面,使用控制台打印实现信息展示和输入。
c语言课程设计职工工资管理系统源代码word文档
绝对可以完美运行,下面有运行图片#include<stdio.h> //调用库函数#include<string.h> //字符串处理#include<conio.h> //控制台输入输出#include<stdlib.h> //定义杂项函数及内存分配函数#define N 2 //宏定义以3代替N/******************************************************************************函数声明*******************************************************************************/ void enter();int menu();void input();void output();void search();void search_employeeid();void search_name();void edit();void array();void array_basesalary();void array_postwage();void array_totalwage();void statistics();void save();void load();/******************************************************************************职工类型定义*******************************************************************************/ struct employee{char employeeid[10];char name[10];char sex[10];int age;float basesalary;float postwage;float totalwage;};/******************************************************************************职工变量定义******************************************************************************/ struct employee emp[N];struct employee replace;struct employee *p=emp;/*****************************************************************************系统主函数******************************************************************************/ void main(){int c;while(1){printf(" \n\n\n\n"); printf(" 欢迎进入职工工资管理系统 \n\n\n");printf(" 1 进入管理系统 \n\n");printf(" 0 退出 \n\n");printf(" \n\n\n\n");printf(" 请输入你选择: \n");scanf("%d",&c);switch(c){case 1:enter();break;case 0:printf(" 谢谢使用!\n");exit(0);}}}/*****************************************************************************功能:登陆函数,进行密码验证*****************************************************************************/ void enter(){char q;char key[10],password[10]="china";int k=1,i;printf(" 请输入密码: \n");for(i=0;i<5;i++){q=getch();key[i]=q;printf("*");}while(k<=3){if(strncmp(key,password,5)==0){while(1){int a;//system("cls");a=menu();switch(a){case 1:input();break;case 2:output();break;case 3:search();break;case 4:edit();break;case 5:array();break;case 6:load();statistics();break;case 0:printf("\n\n 谢谢使用!\n\n\n\n");save();exit(0);}}}else{k++;printf(" 输入密码错误!请再次输入:");for(i=0;i<5;i++){q=getch();key[i]=q;printf("*");}if(k>2){if(strncmp(password,key,5)==0)continue;else{printf(" 输入密码错误三次,系统将自动退出!\n");exit(0);}}}}}/************************************************************************功能: 主菜单函数参数:a类型:int说明: 变量返回值: a************************************************************************/int menu(){int a ;printf("\n\n");printf("|*****************欢迎进入职工工资管理系统************************|\n");printf("| |\n");printf("| |\n");printf("| 1 职工信息输入|\n");printf("| |\n");printf("| 2 职工信息输出|\n");printf("| |\n");printf("| 3 职工信息查询|\n");printf("| |\n");printf("| 4 职工信息修改|\n");printf("||\n");printf("| 5 工资排序|\n");printf("||\n");printf("| 6 工资统计|\n");printf("||\n");printf("| 0 退出|\n");printf("||\n");printf("||\n");printf("|*****************************************************************|\n");printf("\n\n");printf(" 请输入你所选择的选项:");scanf("%d",&a);while(a>6||a<0){printf(" error!\n");printf(" 请重新输入你所选择的选项:");scanf("%d",&a);}return a;}/********************************************************************************* ***功能:职工信息输入********************************************************************************** ***/void input(){int c;p=emp;printf(" 进入职工信息输入模块 \n\n\n");for(c=0;c<N;c++,p++){p[c].totalwage=p[c].basesalary+p[c].postwage;printf(" 请输入第%d个职工信息:\n\n",c+1);printf(" 请输入职工号:\n");scanf("%s",p->employeeid);if(strcmp(p->employeeid,"0")!=0){printf(" 请输入职工姓名:\n");scanf("%s",p->name);printf(" 请输入职工性别: \n");scanf("%s",&p->sex);printf(" 请输入职工年龄: \n");scanf("%d",&p->age);printf(" 请输入职工基本工资:\n");scanf("%f",&p->basesalary);printf(" 请输入职工岗位工资:\n");scanf("%f",&p->postwage);printf(" 职工信息输入完成! \n\n");}elsereturn;}save();}/*******************************************************************************功能:职工信息输出********************************************************************************/ void output(){int j;load();p=emp;printf(" 进入职工信息输出模块 \n\n\n");printf("-------------------------------------------------------------------------------\n");printf("| 职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资|总工资 |\n");printf("-------------------------------------------------------------------------------\n");for(j=0;j<N;j++){p[j].totalwage=p[j].postwage+p[j].basesalary;printf("|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|\n",p[j].employeeid, p[j].name,p[j].sex,p[j].age,p[j].basesalary,p[j].postwage,p[j].totalwage);printf("-------------------------------------------------------------------------------\n");}printf("\n\n 职工信息输出完成! \n\n");getchar();}/******************************************************************************功能:职工信息查询******************************************************************************/ void search(){int j;while(1){printf("*********************职工信息查询*********************\n\n\n");printf(" 1 按职工号查询 \n");printf(" 2 按职工姓名查询 \n");printf(" 0 退出该项操作 \n");printf("\n\n");while(1){printf(" 请输入你的选择 \n");scanf("%d",&j);if(j>=0&&j<=2){switch(j){case 1:search_employeeid();break;case 2:search_name();break;case 0:return;}}else{printf(" 输入错误! \n\n");printf(" 请再次输入你的选择:\n\n");}}}}/*******************************************************************************功能:按职工号查询函数*******************************************************************************/ void search_employeeid(){char employeeid[10];int k,j;p=emp;printf("*********************按职工号查询职工信息*****************************\n\n\n\n");printf(" 请输入要查询职工的职工号:\n\n");scanf("%s",employeeid);for(k=0;k<N;k++){if(strcmp(employeeid,p->employeeid)==0){j=k;p[j].totalwage=p[j].postwage+p[j].basesalary;printf("-------------------------------------------------------------------------------\n");printf("| 职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资|总工资 |\n");printf("|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|\n",p[j].employeeid, p[j].name,p[j].sex,p[j].age,p[j].basesalary,p[j].postwage,p[j].totalwage);printf("-------------------------------------------------------------------------------\n");break;}else{printf(" not found\n");return;}}}/*****************************************************************************功能:按职工姓名查询函数*****************************************************************************/ void search_name(){char name[10];int flog=0;int f,j;p=emp;printf("******************************按职工姓名查询职工信息***********************\n\n\n");printf(" 请输入要查询职工的姓名:\n\n");scanf("%s",name);for(f=0;f<N;f++,p++){if(strcmp(name,p->name)==0){j=f;p[j].totalwage=p[j].postwage+p[j].basesalary;printf("-------------------------------------------------------------------------------\n");printf("| 职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资|总工资 |\n");printf("|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|\n",p[j].employeeid, p[j].name,p[j].sex,p[j].age,p[j].basesalary,p[j].postwage,p[j].totalwage);printf("-------------------------------------------------------------------------------\n");break;}else{printf(" not found \n\n");return;}}getchar();}/*******************************************************************************功能:职工信息修改函数*******************************************************************************/ void edit(){char e[10];int g=0,j;char flog;p=emp;printf(" 请输入你要修改职工的职工号: \n");scanf("%s",e);for(g=0;g<N;g++){// if(*e==p[g].employeeid)if(strcmp(e,p->employeeid)==0){j=g;p[j].totalwage=p[j].postwage+p[j].basesalary;printf("-------------------------------------------------------------------------------\n");printf("| 职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资 |总工资 |\n");printf("|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|\n",p[j].employeeid,p[j]. name,p[j].sex,p[j].age,p[j].basesalary,p[j].postwage,p[j].totalwage);printf("-------------------------------------------------------------------------------\n");printf(" 是否要修改该职工信息?y(是)or n(否)?\n\n");getchar();scanf("%c",&flog);if(flog == 'y'){printf(" 请输入新姓名:\n");scanf("%s",p->name);printf(" 请输入性别: \n");scanf("%s",&p->sex);printf(" 请输入年龄: \n");scanf("%d",&p->age);printf(" 请输入基本工资:\n");scanf("%f",&p->basesalary);printf(" 请输入岗位工资:\n");scanf("%f",&p->postwage);printf(" 修改职工信息成功! \n\n");}if(flog == 'n'){printf(" 退出该项操作! \n\n");return;}save();}if(g==N){printf(" not found \n\n\n");return;}}}/************************************************************************功能:职工工资排列函数************************************************************************/void array(){int j;while(1){printf("*************************工资排序*********************\n\n"); printf(" 1 按基本工资排序 \n\n");printf(" 2 按岗位工资排序 \n\n");printf(" 3 按总工资排列 \n\n");printf(" 0 退出 \n\n");printf("\n\n\n");while(1){printf(" 请输入你的选择: \n\n");scanf("%d",&j);if(j>=0&&j<=3){switch(j){case 1:array_basesalary();break;case 2:array_postwage();break;case 3:array_totalwage();break;case 0:return;}}else{printf(" 输入错误!\n\n\n");printf(" 请再次输入你的选择:\n\n");}}}}/**************************************************************************功能:按基本工资排列(选择法)***************************************************************************/ void array_basesalary(){int i,j,k;p=emp;for(i=0;i<N-1;i++){k=i;for(j=i+1;j<N;j++){if(p[k].basesalary<p[j].basesalary)k=j;}if(k!=i){replace=emp[k];emp[k]=emp[i];emp[i]=replace;}}for(j=0;j<N;j++){p[j].totalwage=p[j].postwage+p[j].basesalary;printf("-------------------------------------------------------------------------------\n");printf("| 职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资|总工资 |\n");printf("|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|\n",p[j].employeeid, p[j].name,p[j].sex,p[j].age,p[j].basesalary,p[j].postwage,p[j].totalwage);}printf("-------------------------------------------------------------------------------\n");}/************************************************************************功能:按岗位工资排列(冒泡法)*************************************************************************/void array_postwage(){int i,j;p=emp;for(i=0;i<N;i++){for(j=0;j<N-i;j++){if(p[j].postwage<p[j+1].postwage){replace=emp[j];emp[j]=emp[j+1];emp[j+1]=replace;}}}for(j=0;j<N;j++){p[j].totalwage=p[j].postwage+p[j].basesalary;printf("------------------------------------------------------------------------------\n");printf("| 职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资|总工资 |\n");printf("|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|\n",p[j].employeeid, p[j].name,p[j].sex,p[j].age,p[j].basesalary,p[j].postwage,p[j].totalwage);}printf("-------------------------------------------------------------------------------\n");}/************************************************************************功能:按总工资排列(插入法)************************************************************************/void array_totalwage(){int i,j;p=emp;for(i=1;i<N;i++){replace=emp[i];for(j=i-1;j>=0&&p[i].totalwage>p[i].totalwage;j--){emp[j+1]=emp[j];emp[j+1]=replace;}}for(j=N-1;j>=0;j--){p[j].totalwage=p[j].postwage+p[j].basesalary;printf("-------------------------------------------------------------------------------\n");printf("| 职工号 |姓名 |性别 | 年龄 |基本工资 |岗位工资|总工资 |\n");printf("|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|\n",p[j].employeeid, p[j].name,p[j].sex,p[j].age,p[j].basesalary,p[j].postwage,p[j].totalwage);}printf("-------------------------------------------------------------------------------\n");}/*************************************************************************功能:工资统计函数**************************************************************************/void statistics(){int z,a=0,b=0,c=0;p=emp;for(z=0;z<N;z++){if(p[z].totalwage>3000){a++;continue;}if(p[z].totalwage>=2000&&p[z].totalwage<=3000){b++;continue;}if(p[z].totalwage<=2000&&p[z].totalwage>0){c++;continue;}}printf(" 总工资在3000元以上的职工人数有: %d\n\n",a);printf(" 总工资在2000元至3000元的职工人数有:%d\n\n",b);printf(" 总工资在2000元以下的职工人数有: %d\n\n",c);getchar();}/***************************************************************************功能:导出函数***************************************************************************/ void save(){int k;FILE *fp;p=emp;if((fp=fopen("emp_list","wb"))==NULL){printf(" Create file error!\n");return;}for(k=0;k<N;k++,p++){if(fwrite(p,sizeof(struct employee),1,fp)!=1){printf(" file save error!\n\n");break;}elsecontinue;}getchar();fclose(fp);}/***********************************************************************功能:导入函数***********************************************************************/ void load(){int l;FILE *fp;p=emp;if((fp=fopen("emp_list","rb"))==NULL){printf(" Create file error!\n");exit(0);}for(l=0;l<N;l++,p++){if(fread(p,sizeof(struct employee),1,fp)!=1){printf(" file read error!\n\n");break;}elsecontinue;}getchar();fclose(fp);}下面是实验结果(注:素材和资料部分来自网络,供参考。
c语言职工工资管理系统代码
C语言职工工资管理系统代码1. 项目简介本项目是一个用C语言编写的职工工资管理系统。
该系统旨在帮助企业或组织更好地管理职工的工资信息,包括薪资计算、数据存储和查询等功能。
通过该系统,可以提高工资管理的效率和准确性,减少人力资源部门的负担。
2. 功能需求本系统需要实现以下功能:•添加新员工:输入员工姓名、基本工资、津贴等信息,并生成唯一的员工ID。
•删除员工:根据员工ID删除指定员工信息。
•修改员工信息:根据员工ID修改指定员工的基本信息。
•计算薪资:根据员工ID计算指定员工的实际薪资,并将结果保存到数据库中。
•查询薪资:根据员工ID查询指定员工的薪资信息。
3. 数据结构设计为了存储职工的基本信息和薪资数据,我们可以使用以下数据结构:3.1 员工结构体定义struct Employee {int id; // 员工IDchar name[50]; // 员工姓名float basicSalary; // 基本工资float allowance; // 津贴float actualSalary; // 实际薪资};3.2 员工数组定义struct Employee employees[100]; // 最多存储100个员工的信息int employeeCount = 0; // 当前员工数量4. 系统实现4.1 添加新员工void addEmployee() {struct Employee employee;printf("请输入员工姓名:");scanf("%s", );printf("请输入基本工资:");scanf("%f", &employee.basicSalary);printf("请输入津贴:");scanf("%f", &employee.allowance);employee.id = employeeCount + 1;employee.actualSalary = employee.basicSalary + employee.allowance;employees[employeeCount] = employee;employeeCount++;printf("添加成功!员工ID为:%d\n", employee.id);}4.2 删除员工void deleteEmployee() {int id;printf("请输入要删除的员工ID:");scanf("%d", &id);int index = findEmployeeIndex(id);if (index == -1) {printf("未找到对应的员工信息。
C语言 员工工资管理系统 codeblocks
记得自己创建一个名字为“employee data”的空白文件哦!!,然后放到新建的codeblocks 文件夹里面#include<stdio.h>#include<windows.h>#include<string.h>#include<conio.h>FILE*fp;void welcome();void search();void add();int login();void menu1();void menu2();void enroll(int);void changeword(int);void output();void input();void delete1();int load();void save(int);void xiugai();struct nameandword{char username[30]; //保存用户名char password[30]; //保存密码char newpassword[30];//保存新密码}a[10]={"manager","123","123"};struct employee{char num[10]; //职工工号char name[15]; //职工姓名float jbgz; //职工基本工资float jj; //职工奖金float kk; //职工扣款float sk; //职工税款float sfgz; //职工实发工资}b[100],b1[100];int main(){system("color 4E");int n,j,button;welcome();getchar();logo1:(j=login());if(j==0){logo4:menu1();do{printf("功能选择(1--9):");scanf("%d",&n);if(n>=1&&n<=9){button=1;break;}else{button=0;printf("您输入有误,请重新选择!\n");}}while(button==0);switch(n){case 1:system("cls");input();goto logo4;case 2:system("cls");output();goto logo4;case 3:system("cls");search();goto logo4;case 4:system("cls");add();goto logo4;case 5:system("cls");xiugai();goto logo4;case 6:system("cls");delete1();goto logo4;case 7:system("cls");changeword(j);goto logo4;case 8:system("cls");enroll(j);goto logo4;case 9:goto logo1;break;default:printf("功能暂无");}return 0;}else{logo5:menu2();do{printf("功能选择(1--3):");scanf("%d",&n);if(n>=1&&n<=3){button=1;break;}else{button=0;printf("您输入有误,请重新选择!\n");}}while(button==0);switch(n){case 1:system("cls");output();goto logo5;case 2:system("cls");changeword(j);goto logo5;case 3:goto logo1;break;default:printf("功能暂无");break;}return 0;}}void welcome() //欢迎界面{system("cls");system("color F9");printf("\n\n\n\n\n\n");printf("************************************************************************* *******");printf("*****************************欢迎使用工资管理系统*****************************");printf("************************************************************************* *********\n\n\n\n\n");printf("\t\t制作人: ");printf("黑狼\n\n\n\n\n\n");printf("\t\t\t ***按任意键进入***");}void menu1() //管理员菜单界面{system("cls");system("color 3B");printf("***菜单***\n\n");printf(">>>>>>>>>>>>>>>>>>>>>>>>> 1 输入\n\n");printf(">>>>>>>>>>>>>>>>>>>>>>>>> 2 显示\n\n");printf(">>>>>>>>>>>>>>>>>>>>>>>>> 3 查找\n\n");printf(">>>>>>>>>>>>>>>>>>>>>>>>> 4 添加\n\n");printf(">>>>>>>>>>>>>>>>>>>>>>>>> 5 修改\n\n");printf(">>>>>>>>>>>>>>>>>>>>>>>>> 6 删除\n\n");printf(">>>>>>>>>>>>>>>>>>>>>>>>> 7 修改密码\n\n");printf(">>>>>>>>>>>>>>>>>>>>>>>>> 8 注册员工账号\n\n");printf(">>>>>>>>>>>>>>>>>>>>>>>>> 9 退出\n\n");printf("说明:1.如首次使用尚未输入数据请先输入数据\n 2.输入的数据将自动保存\n 3.再次选择输入功能时原数据将被覆盖\n\n");}void menu2() //员工菜单界面{system("cls");system("color 3B");printf("***菜单***\n\n");printf("\n\n\n\n>>>>>>>>>>>>>>>>>>>>>>>>> 1 显示\n\n");printf(">>>>>>>>>>>>>>>>>>>>>>>>> 2 修改密码\n\n");printf(">>>>>>>>>>>>>>>>>>>>>>>>> 3 退出\n\n");}int login()//登陆界面{system("cls");system("color 80");char username[30]; //保存用户名char password[30]; //保存密码int i,count=0;printf("\n\t\t\t%c*******************************%c\n",1,1);printf("\t\t\t%c 1.以管理员身份进入系统\t%c",1,1);printf("\t\t\t\t\t\t%c\t\t\t\t%c\n",1,1);printf("\t\t\t%c 2.以员工身份进入系统\t%c\n\t\t\t",1,1);printf("%c\t\t\t\t%c",1,1);printf("\n\t\t\t%c*******************************%c\n\n\n",1,1);logo:printf("\n\t\t\t请输入账号:");//管理员账号:managerscanf("%s",username);printf("\t\t\t密码:");//密码:123scanf("%s",password);for(i=1;i<10;i++){if(strcmp(username,a[i].username)==0&&strcmp(password,a[i].password) == 0)return i;}if(strcmp(username,a[0].username)==0&&strcmp(password,a[0].password) == 0)return 0;else{printf("\t\t对不起,您输入的用户名或密码错误!");count++;if(count>=3){system("cls");printf("\n\n\n\n\n\t\t 提示:您输入错误的次数太多,请稍后再试!\n");exit(0);}goto logo;}return 0;}void enroll(j)//注册员工账号{int m;j++;logo2:printf("\n\n\n\n\t\t\t**********************************\n");printf("\t\t\t\t请输入用户名:");scanf("%s",a[j].username);getchar();printf("\t\t\t**********************************\n");printf("\t\t\t\t请输入密码:");scanf("%s",a[j].password);getchar();printf("\t\t\t**********************************\n");printf("\t\t\t\t请再次输入密码:");scanf("%s",a[j].newpassword);getchar();printf("\t\t\t**********************************\n");if(strcmp(a[j].password,a[j].newpassword)==0){printf("\t\t\t\t注册成功\n");printf("\t\t\t**********************************\n");}else{printf("\t\t\t\t注册失败\n");printf("\t\t\t**********************************\n");}printf("\n\t\t\t1.继续注册员工账号。
程序设计基础课程设计报告c语言实现附源码员工工资管理系统
《程序设计基础》课程设计报告题目:员工工资管理系统院(系):信息科学及工程学院专业班级:学生姓名:学号:指导教师:2016年12月12 日至2016年12 月23 日武昌首义学院制程序设计基础课程设计任务书目录1需求及总体设计 (1)2详细设计 (1)3编码实现 (4)4运行结果 (21)总结 (24)1需求及总体设计1.1需求描述设计一个利用文件处理方式实现对员工工资(包括员工编号、员工姓名、年月、岗位工资、奖金、扣款和实发)进行管理,具有增加数据、更新数据、查询数据、删除数据、列表显示数据以及重组文件的功能。
1.2总体设计先以登陆函数登陆,再进入主菜单,菜单中显示各个要实现的操作,以菜单将各个函数联系起来,对菜单操作以实现系统的目的。
1.3数据结构struct user //登陆者信息{char un[10];char up[10];}us[3] = { "aaa","111","bbb","222","ccc","333" };struct yg //员工结构体{short zt; //数据状态long bh; //编号char name[20]; //名字char time[11]; //时间long money; //基本工资long jj; //奖金long kk; //扣款long sf; //实发工资};整个程序只运用了结构体的数据结构,结构体运用于登陆者信息和员工信息,将员工信息封装在一个结构体里,再创建结构体数组,将多个员工信息储存在结构体数组中。
2详细设计2.1 系统功能设计主函数和子函数:系统包含一个主函数,和子函数,分别有登陆子函数,菜单子函数,增加数据子函数,更新数据子函数,查询数据子函数,删除数据子函数,统计数据子函数,重组文件子函数,排序数据子函数,最后两个分别是读取文件和写入文件子函数。
C++职工工资管理系统源代码
附录〈源程序〉#i nclude <stdio.h>#i nclude <stdlib.h>#in elude <stri ng.h>struct worker{char n ame[30];char ID[10];int salary1,salary2,salary3;};int dq(struct worker wo[]);void show();void bc(struct worker wo[]);void add();void see();void search();void ghcz();void xmcz();void del();void xmsc();void ghsc();void statistics();void modify。
;void ghxg();void xmxg();void reserve();void back();void author();struct worker wo[100]; // 保存所有的职工信息int Number=0; // 记录总的职工人数void mai n(){int choose=0;while(true){show();prin tf("\t\t====> 请选择:”);sca nf("%d",&choose);system("cls");switch(choose){case 0: exit(O);// 退出break;case 1: add();back();〃添加职工信息break;case 2: see();back();〃查看职工信息break;case 3: search();back();〃查找职工信息break;case 4: del();back();〃删除职工信息break;case 5: statistics。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Worker::~Worker()
{
number--;
}
int Worker::Getnumber()
{
return number;
}
void test(){
cout<<"现有工人:"<<Worker::Getnumber()<<"名。"<<endl;
Salary s1;
double getSubsidy();
double getRent();
double getWaterFee();
double getElecFee();
double RealSalary();
};
#endif
//薪水类的定义部分Salary.cpp源程序清单如下:
}
void Salary::setRent(double f)
{
Rent=f;
}
void Salary::setWaterFee(double f)
{
WaterFee=f;
}
void Salary::setElecFee(double f)
{
ElecFee=f;
}
double Salary::getWage()
}
Salary::Salary()
{
Wage=Subsidy=Rent=WaterFee=ElecFee;
}
void Salary::setWage(double f)
{
Wage=f;
}
void Salary::setSubsidy(double f)
{
Subsidy=f;
int age;
char dept[50];
Salary salary;
static int number;
public:
Worker(char *,int,char *,Salary);
Worker();
~Worker();
static int Getnumber();
};
int Worker::number=0;
Worker::Worker(char *n,int a,char *d,Salary s)
{
strcpy(name,n);
age=a;
strcpy(dept,d);
salary=s;
number++;
}
Worker::Worker()
//Salary.cpp
#include "Salary.h"
Salary::Salary(double a,double b,double c,double d,double e)
{
Wage=a;
Subsidy=b;
Rent=c;
WaterFee=d;
ElecFee=e;
Salary();
Hale Waihona Puke void setWage(double f);
void setSubsidy(double f);
void setRent(double f);
void setWaterFee(double f);
void setElecFee(double f);
double getWage();
}
void main()
{
test();
}
return Real_Salary;
}
//主程序Worker.cpp的清单如下:
//Worker.cpp
#include "Salary.cpp"
#include <iostream>
using namespace std;
class Worker
{
private:
char name[20];
{
return Wage;
}
double Salary::getSubsidy()
{
return Subsidy;
}
double Salary::getRent()
{
return Rent;
}
double Salary::getWaterFee()
{
return WaterFee;
Worker w1("黄春秀",38,"第二外国语学院",s1);
cout<<"现有工人:"<<Worker::Getnumber()<<"名。"<<endl;
Salary s2;
Worker w2("牛大海",23,"经贸学院",s2);
cout<<"现有工人:"<<Worker::Getnumber()<<"名。"<<endl;
//头文件Salary.h的源程序清单如下:
//Salary.h
#ifndef Salary_h
#define Salary_h
class Salary
{
private:
double Wage,Subsidy,Rent,WaterFee,ElecFee;
public:
Salary(double,double,double,double,double);
}
double Salary::getElecFee()
{
return ElecFee;
}
double Salary::RealSalary()
{
double Real_Salary;
Real_Salary=Wage+Subsidy-Rent-WaterFee-ElecFee;