C语言课程设计职工工资管理系统

合集下载

c课程设计工资管理系统

c课程设计工资管理系统

c 课程设计工资管理系统一、教学目标本课程旨在通过学习工资管理系统的设计与实现,使学生掌握以下知识目标:1.理解工资管理的基本概念和流程。

2.掌握常用的编程语言和数据库管理系统。

3.学习软件工程的基本原则和方法。

学生将具备以下技能目标:1.能够使用编程语言实现简单的工资管理功能。

2.能够使用数据库管理系统进行工资数据的存储和管理。

3.能够运用软件工程的方法进行工资管理系统的开发和维护。

通过本课程的学习,学生将培养以下情感态度价值观目标:1.培养对计算机科学和软件工程的兴趣和热情。

2.培养解决问题的能力和团队合作精神。

3.培养对工作的敬业精神和对工资管理的重视。

二、教学内容本课程的教学内容将按照以下大纲进行和安排:1.工资管理系统的概述:介绍工资管理的基本概念和流程。

2.编程语言和数据库管理系统的学习:学习常用的编程语言和数据库管理系统,并进行相关的实践操作。

3.软件工程的原则和方法:学习软件工程的基本原则和方法,并将其应用到工资管理系统的设计和实现中。

4.工资管理系统的实现:通过编程实践,实现工资管理系统的基本功能。

5.工资管理系统的测试和优化:对实现的工资管理系统进行测试和优化,以确保其正确性和效率。

三、教学方法为了激发学生的学习兴趣和主动性,将采用多种教学方法进行教学,包括:1.讲授法:通过讲解和演示,向学生传授工资管理系统的相关知识和技能。

2.讨论法:学生进行小组讨论,促进学生之间的交流和合作。

3.案例分析法:通过分析实际的工资管理案例,帮助学生理解和应用所学的知识和技能。

4.实验法:安排学生进行实验操作,实践和巩固所学的知识和技能。

四、教学资源为了支持教学内容和教学方法的实施,将选择和准备以下教学资源:1.教材:选择适合学生年级和知识水平的工资管理系统相关教材。

2.参考书:提供相关的参考书籍,供学生进行深入学习和参考。

3.多媒体资料:制作和收集与工资管理系统相关的多媒体资料,如演示文稿、视频等。

c语言工资管理系统课程设计

c语言工资管理系统课程设计

c语言工资管理系统课程设计一、课程目标知识目标:1. 掌握C语言中数据类型、变量、运算符、控制结构等基本知识;2. 学会使用数组、结构体等C语言高级特性;3. 理解文件操作在C语言中的应用;4. 掌握工资管理系统的基本功能模块及其实现方法。

技能目标:1. 能够运用C语言编写简单的工资管理系统程序;2. 学会分析工资管理系统的需求,设计合理的程序结构;3. 掌握调试程序、解决常见编译错误和逻辑错误的方法;4. 提高学生的编程实践能力和问题解决能力。

情感态度价值观目标:1. 培养学生对待编程的兴趣和热情,激发自主学习C语言的积极性;2. 培养学生的团队协作精神,提高沟通与协作能力;3. 增强学生的信息安全意识,注重保护用户隐私;4. 培养学生遵循编程规范,养成良好的编程习惯。

课程性质分析:本课程为C语言高级应用课程,以实现工资管理系统为项目驱动,结合实际应用场景,让学生在实践中掌握C语言编程技能。

学生特点分析:学生已具备C语言基础知识,具有一定的编程能力,但对复杂程序设计、模块化编程尚需进一步锻炼。

教学要求:结合课程性质和学生特点,注重实践操作,引导学生自主学习,培养编程思维和问题解决能力。

将课程目标分解为具体的学习成果,以便于教学设计和评估。

二、教学内容1. C语言基础回顾:数据类型、变量、常量、运算符、控制结构(条件语句、循环语句);2. 函数:函数定义、调用、参数传递、返回值;3. 数组与字符串:一维数组、二维数组、字符串操作;4. 指针:指针概念、指针运算、指针与数组、指针与函数;5. 结构体:结构体定义、结构体变量创建、结构体数组、结构体指针;6. 文件操作:文件打开与关闭、读写文件、文件定位;7. 工资管理系统功能模块设计:需求分析、模块划分、数据结构设计;8. 编程实践:编写工资管理系统各功能模块代码,如员工信息管理、工资计算、工资查询等;9. 系统调试与优化:编译错误处理、逻辑错误调试、性能优化;10. 代码规范与编程习惯:命名规范、代码组织、注释使用。

员工工资管理系统(c语言编程)

员工工资管理系统(c语言编程)

#include<stdio。

h>#include<string.h>#include<ctype。

h〉#include〈malloc.h>#define null 0typedef struct Info1{char num[10];char name[10];char depar[10];char yfsalary[10];char aband[10];char tax[10];char sfsalary[10];struct Info1 *next;}Info2;typedef struct Info1 *Info;Info head;void display();void find();void modify();void add();void del();void list();void listOne(Info s);Info isExists(char *num);void init();void init(){head=(Info)malloc(sizeof(Info2));head—〉next=null;}void main(){init();while(1){char c;display();scanf(”%c",&c);switch(c){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();}}}void display(){printf(”\n\t**欢迎使用员工信息管理系统**\n\n");printf(”\t请选(1—7):\n”);printf("\t============================================\n");printf("\t\t1。

c语言工资管理系统课程设计

c语言工资管理系统课程设计

c语言工资管理系统课程设计一、课程目标知识目标:1. 让学生掌握C语言中数组、结构体、文件操作等基本知识,并能将其应用于工资管理系统。

2. 使学生了解工资管理系统的基本功能需求,如员工信息录入、查询、修改和删除等。

3. 帮助学生理解工资计算方法,包括基本工资、加班工资、税金和实发工资等。

技能目标:1. 培养学生运用C语言设计、编写和调试工资管理系统的能力。

2. 提高学生分析问题、解决问题的能力,使其能够根据实际需求,优化系统功能。

3. 培养学生团队协作和沟通能力,通过分组完成任务,共同完成课程设计。

情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动学习和探究的精神。

2. 培养学生认真负责的态度,对待课程设计任务,养成良好的编程习惯。

3. 引导学生关注实际应用,理解计算机技术在企业管理中的重要性,提高职业素养。

分析课程性质、学生特点和教学要求:1. 课程性质:本课程为C语言课程设计,旨在帮助学生将所学知识应用于实际项目中,提高编程能力和解决实际问题的能力。

2. 学生特点:学生已经掌握了C语言的基本知识,具有一定的编程基础,但对实际项目开发尚缺乏经验。

3. 教学要求:结合教材内容,以实用性为导向,注重培养学生的实际操作能力和团队协作能力。

二、教学内容1. 教学大纲:a. C语言数组、结构体和文件操作复习b. 工资管理系统功能需求分析c. 工资计算方法及实现d. 系统设计、编码与调试e. 团队协作与项目展示2. 教学内容安排与进度:a. 第一周:复习C语言数组、结构体和文件操作相关知识,讲解工资管理系统项目背景和功能需求。

b. 第二周:分析工资计算方法,引导学生设计系统功能模块,编写系统设计文档。

c. 第三周:根据设计文档,分组进行编码,实现工资管理系统的基础功能。

d. 第四周:优化系统功能,进行系统调试,确保系统稳定运行。

e. 第五周:团队协作,整理项目文档,准备项目展示。

3. 教材章节与内容:a. 数组、结构体和文件操作:教材第3章、第4章、第6章b. 工资管理系统功能需求分析:教材第10章 实践项目案例c. 工资计算方法及实现:教材第7章 循环与分支结构d. 系统设计、编码与调试:教材第8章 函数与模块化编程e. 团队协作与项目展示:教材第12章 软件工程实践4. 教学内容列举:a. 数组、结构体和文件操作:数组的使用、结构体定义和操作、文件读写。

工资管理系统课程设计c语言

工资管理系统课程设计c语言

工资管理系统课程设计c语言一、课程目标知识目标:1. 学生能够理解工资管理系统的基本功能需求,掌握C语言实现工资管理系统所需的基本语法和结构;2. 学生能够运用结构体、数组、文件操作等C语言知识模块,实现工资管理系统中数据的存储、查询、修改和删除等功能;3. 学生了解并掌握C语言中的模块化编程思想,将工资管理系统划分为独立的功能模块,提高代码的可读性和可维护性。

技能目标:1. 学生能够运用所学知识,独立完成一个简单的工资管理系统的设计、编码和调试;2. 学生掌握利用C语言进行系统分析、设计和实现的基本方法,具备基本的编程实践能力;3. 学生能够运用调试工具和技巧,对程序进行调试和优化,提高程序运行的稳定性和效率。

情感态度价值观目标:1. 学生通过本课程的学习,培养对编程的兴趣,提高问题解决能力和创新意识;2. 学生在团队协作中,学会沟通、分享和合作,培养良好的团队精神和职业素养;3. 学生认识到编程在工资管理系统等实际应用中的重要性,激发其学习热情,培养积极的学习态度。

课程性质:本课程为高年级C语言程序设计课程的实践环节,旨在让学生通过实际项目的开发,巩固所学知识,提高编程能力。

学生特点:学生已经具备一定的C语言基础,了解基本语法和编程技巧,但实际项目经验不足。

教学要求:结合学生特点,课程设计应注重实践性、实用性和综合性,引导学生运用所学知识解决实际问题,提高编程实践能力。

在教学过程中,关注学生的个体差异,提供适当的指导和帮助,确保学生能够达到预定的学习目标。

通过课程目标的分解,为后续教学设计和评估提供明确的方向。

二、教学内容1. 工资管理系统需求分析:介绍工资管理系统的基本功能,如员工信息管理、工资计算、数据存储与查询等。

教材章节:《C语言程序设计》第十章——文件。

2. C语言基础知识回顾:回顾结构体、数组、指针等基本概念及其在工资管理系统中的应用。

教材章节:《C语言程序设计》第三章——结构体与联合;《C语言程序设计》第四章——数组与字符串;《C语言程序设计》第五章——指针。

员工工资管理系统(c语言编程)6页

员工工资管理系统(c语言编程)6页

员工工资管理系统(c语言编程)6页一、设计目标1、完成一个员工工资管理系统,包括对员工信息的添加、删除、修改和查询、员工工资管理和统计等功能。

2、程序必须具备易用性、可靠性、安全性和稳定性等特点。

二、程序结构设计员工工资管理系统是由若干模块构成的一个整体,它们之间相互联系,共同完成对员工信息的处理和管理。

程序分为主界面模块、添加模块、删除模块、修改模块、查询模块、统计模块、退出模块。

三、模块功能设计1、主界面模块主界面包括菜单栏和功能栏,菜单栏包括添加、删除、修改、查询、统计和退出功能,功能栏是对主界面菜单的补充,包括一些快捷操作按钮。

2、添加模块添加模块是用来录入员工信息的,可以录入的信息有员工编号、员工姓名、员工部门、员工工作年限、员工基本工资、员工奖金等。

添加模块会对信息进行一系列的校验,要求信息必须完整正确才能录入。

3、删除模块删除模块是用来删除员工信息的,输入员工编号就可以删除该员工的信息。

5、查询模块查询模块提供了多种查询方式,包括按部门查询、按姓名查询、按工作年限查询、按基本工资查询、按奖金查询等。

查询结果会按照员工编号的顺序进行排序。

6、统计模块统计模块会根据查询结果进行工资统计,包括总工资、平均工资、最高工资和最低工资等。

7、退出模块退出模块是用来关闭程序的,保证程序的安全性和稳定性。

四、程序流程设计1、主界面程序启动后,会显示主界面界面,包括菜单栏和功能栏。

2、录入信息点击添加功能或者添加按钮,会进入添加模块,要求用户输入员工信息,录入完成后数据将保存到文件中。

4、修改信息点击修改功能或者修改按钮,会进入修改模块,输入员工编号,然后修改员工信息。

5、查询信息点击查询功能或者查询按钮,会进入查询模块,选择查询方式,输入查询条件,系统将显示符合条件的员工信息。

6、工资统计当查询完成后,点击统计功能或者统计按钮,会进入统计模块,系统将根据查询结果进行统计。

7、程序退出当操作完成后,点击退出功能或者退出按钮,会关闭程序。

工资管理系统课程设计C语言

工资管理系统课程设计C语言

工资管理系统 课程设计 C语言一、课程目标知识目标:1. 理解工资管理系统的基本概念和功能需求;2. 掌握C语言中的基本数据类型、运算符、控制结构等编程知识点;3. 学会使用C语言设计并实现一个简单的工资管理系统。

技能目标:1. 能够运用C语言编写出结构清晰、逻辑合理的程序代码;2. 能够运用数组、结构体等数据结构存储和管理工资数据;3. 能够运用文件操作实现工资数据的持久化存储。

情感态度价值观目标:1. 培养学生解决问题的能力和团队协作精神,激发学生对编程的兴趣;2. 增强学生对信息技术的认识,使其意识到信息技术在现实生活中的应用价值;3. 培养学生严谨、认真的学习态度,提高学生的编程素养。

课程性质:本课程为C语言编程实践课,旨在让学生通过动手实践,掌握C语言编程的基本技能,并能够运用所学知识解决实际问题。

学生特点:学生为高年级学生,已具备一定的C语言基础,有较强的逻辑思维能力,但对实际应用场景的编程经验不足。

教学要求:结合学生特点,注重实践操作,引导学生从实际问题出发,逐步培养编程思维,提高编程能力。

课程目标分解为具体学习成果,便于教学设计和评估。

二、教学内容1. 工资管理系统概述- 系统需求分析- 功能模块划分2. C语言基础知识回顾- 数据类型- 运算符与表达式- 控制结构(顺序、分支、循环)3. 数据结构设计- 数组- 结构体4. 函数与模块化编程- 函数定义与调用- 模块化设计5. 文件操作- 文件打开与关闭- 文件读写操作6. 工资管理系统功能实现- 员工信息管理- 工资计算- 工资查询- 数据存储与读取7. 测试与调试- 功能测试- 性能测试- 代码调试教学内容安排与进度:第1周:工资管理系统概述及需求分析第2周:C语言基础知识回顾第3周:数据结构设计第4周:函数与模块化编程第5周:文件操作第6周:工资管理系统功能实现(1)第7周:工资管理系统功能实现(2)第8周:测试与调试教材章节及内容:《C语言程序设计》第3章:数据类型、运算符与表达式第4章:控制结构第6章:函数与模块化编程第7章:数组和字符串第8章:结构体与共同体第9章:文件操作教学内容紧密结合课程目标,注重科学性和系统性,通过以上教学内容,使学生能够掌握C语言编程的核心知识,并能够将其应用于工资管理系统的设计与实现。

C语言-课程设计-教师工资管理系统(职工工资管理系统)

C语言-课程设计-教师工资管理系统(职工工资管理系统)

课程设计教师工资管理系统运行平台:VC6.0(其他平台未经测试,不一定保证有效)制作者:弓箭中南大学信息科学与工程学院源代码如下:#include 〈stdio.h>#include 〈stdlib。

h〉#include 〈string.h>#include <conio。

h>#define LEN sizeof(struct teacher)struct teacher{int num;char name[20];char sex[20];char workplace[50];char address[50];long phone;double de_salary;double de_jintie;double de_shenghuobutie;double yingfa_salary;double cost_phone;double cost_water_elec;double cost_rent;double cost_tax;double cost_weisheng;double cost_gongjijin;double cost_all;double shifa_salary;struct teacher *next;};/***********************************读取函数************************************/struct teacher *load(){struct teacher *p1,*p2,*head;FILE *fp;int i=1;if((fp=fopen(”save",”rb"))==NULL){printf(" 文件不存在!按下任意键返回主菜单。

.。

”);getch();return (NULL);}else{head=NULL;p1=(struct teacher *)malloc(LEN);while (fread(p1,LEN—4,1,fp)==1){if(i==1){head=p1;p2=p1;i=2;}else{p2—〉next=p1;p2=p2->next;}p1=(struct teacher *)malloc(LEN);}p2->next=NULL;free(p1);fclose(fp);return(head);}}/**********************************欢迎菜单函数*************************************/void welcome(){printf(”\n\n\n 〉>>>>欢迎使用教师工资管理系统Beta1.2〈<<〈<\n”);printf(” *******************************************************\n”);printf(”* C语言课程设计教师工资管理系统*\n”);printf(”*班级: 电气信息类1001班学号:0909100119 *\n”);printf(”*姓名:弓箭*\n");printf(" *******************************************************\n”);printf(”\n\n 按下任意键进入系统..。

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语言工资管理系统课程设计

c语言工资管理系统课程设计一、教学目标本课程的目标是使学生掌握C语言在工资管理系统开发中的应用。

具体目标如下:1.理解C语言的基本语法和数据结构。

2.掌握函数的定义和调用。

3.学习模块化编程思想。

4.能够使用C语言编写简单的程序。

5.学会使用C语言进行文件操作。

6.能够独立完成工资管理系统的开发。

情感态度价值观目标:1.培养学生对计算机编程的兴趣。

2.培养学生解决问题的能力。

3.培养学生团队合作的意识。

二、教学内容教学内容以《C程序设计语言》为基础,结合实际情况进行调整。

教学大纲如下:1.C语言概述:介绍C语言的历史和发展,理解C语言的特点。

2.基本语法:学习数据类型、运算符、表达式等基本语法知识。

3.控制结构:学习顺序结构、分支结构和循环结构。

4.函数:学习函数的定义、调用和返回值。

5.数组和字符串:学习一维、二维数组的使用,字符串的基本操作。

6.指针:学习指针的概念和应用。

7.结构体和文件:学习结构体的定义和使用,文件的基本操作。

8.模块化编程:学习模块的划分和调用。

9.工资管理系统实例:以实际项目为例,讲解工资管理系统的开发过程。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解基本语法和理论知识。

2.案例分析法:分析实际项目,理解工资管理系统的开发过程。

3.实验法:动手编写程序,巩固所学知识。

4.讨论法:分组讨论问题,培养团队合作能力。

四、教学资源教学资源包括:1.教材:《C程序设计语言》。

2.参考书:提供相关的参考书籍,以便学生深入理解C语言。

3.多媒体资料:制作PPT等教学课件,辅助讲解。

4.实验设备:提供计算机实验室,方便学生动手实践。

五、教学评估教学评估是检验学生学习成果的重要手段。

本课程的评估方式包括以下几个方面:1.平时表现:评估学生的出勤、课堂表现、参与讨论等情况,占总评的20%。

2.作业:布置课后作业,评估学生的编程能力和理解程度,占总评的30%。

工资管理系统c语言课程设计

工资管理系统c语言课程设计

工资管理系统c语言课程设计工资管理系统C语言课程设计本设计主要包括以下几个部分:1. 员工信息管理:包括对员工信息的增加、删除、修改和查询功能。

2. 工资计算:根据员工的基本工资、加班工资和奖金等因素,计算员工的实际工资。

3. 工资发放:实现将已经计算好的工资发放给员工,并记录工资发放的日期和金额。

4. 统计报表:根据员工的部门、职位等信息,生成工资统计报表。

设计思路:1. 定义员工信息结构体,包括员工号、姓名、性别、部门、职位、基本工资等字段。

2. 定义全局数组保存所有员工的信息,可以设置一个全局变量表示员工数量,每次添加或删除员工时相应地更新该变量。

3. 实现菜单功能,用户可以选择增加、删除、修改和查询员工信息,以及进行工资计算和工资发放等操作。

4. 增加员工信息时,可以通过用户输入的员工信息创建新的员工结构体,并添加到数组中。

5. 删除员工信息时,可以根据员工号进行查找,找到对应的员工信息并从数组中删除。

6. 修改员工信息时,可以先根据员工号查找对应的员工信息,再让用户输入要修改的字段,然后更新相应的字段。

7. 查询员工信息时,可以根据员工号或姓名进行查找,找到对应的员工信息并输出。

8. 工资计算时,根据员工的基本工资、加班工资和奖金等因素,计算员工的实际工资,并将结果存入员工结构体中的工资字段。

9. 工资发放时,可以通过用户输入的员工号查找对应的员工信息,并将员工的工资发放日期和金额记录下来。

10. 统计报表时,可以根据员工的部门、职位等信息进行筛选,将符合条件的员工信息显示出来。

以上是一个简单的工资管理系统的设计思路,可以根据需要进行更详细的设计和代码编写。

职工工资管理系统c语言程序设计报告

职工工资管理系统c语言程序设计报告

职工工资管理系统1. 背景职工工资管理是企业管理中一个重要且复杂的环节。

合理进行工资管理可以激励员工的工作积极性,提高生产效率和企业的竞争力。

然而,在人工操作的情况下,计算工资涉及到复杂的计算过程和大量的数据处理,容易出现错误和繁琐。

因此,开发一个自动化的职工工资管理系统对于企业的工资管理具有重要意义。

2. 分析职工工资管理系统的核心目标是计算职工的工资,并提供工资查询和报表生成的功能。

为了实现此目标,我们需要设计一个合理的系统架构,并根据需求提供相应的功能模块。

2.1 系统架构职工工资管理系统的基本架构包括以下几个模块:•职工信息管理模块:用于管理职工的基本信息,包括姓名、职位、级别等。

•薪资标准管理模块:用于管理不同职位和级别的薪资标准,包括基本工资、绩效奖金等。

•工资计算模块:根据职工的基本信息和薪资标准,计算实际工资。

•工资查询模块:用于查询职工的工资信息。

•报表生成模块:用于生成各种工资相关的报表,如工资总额、平均工资等。

2.2 功能模块职工工资管理系统应当具备以下功能模块:1.职工信息管理:–添加职工信息–修改职工信息–删除职工信息–查询职工信息2.薪资标准管理:–添加薪资标准–修改薪资标准–删除薪资标准–查询薪资标准3.工资计算:–根据职工信息和薪资标准计算工资4.工资查询:–查询指定职工的工资信息5.报表生成:–生成工资总额报表–生成平均工资报表–生成各部门工资报表2.3 数据结构与算法为了实现上述功能,我们需要选择合适的数据结构和算法来支持系统的运行。

1.数据结构:对于职工信息的管理,我们可以使用链表或数组来存储职工的基本信息。

对于薪资标准的管理,可以使用哈希表或平衡二叉树来存储标准信息。

2.算法:在工资计算模块中,需要根据薪资标准和职工信息计算出实际工资。

可以使用算法来进行工资计算,如基本工资加上绩效奖金等。

3. 结果根据上述分析,我们可以设计并实现一个简单的职工工资管理系统。

C语言课程设计工资管理系统

C语言课程设计工资管理系统

界面布局:检查界面布局是否合理,是否符合用户习惯 功能测试:测试各个功能模块是否正常工作,是否有错误提示 性能测试:测试系统的响应速度和稳定性,是否有卡顿现象
兼容性测试:测试系统在不同操作系统和浏览器上的兼容性,是否有显示异常
员工信息录入:包括姓名、性别、年龄、 职位、薪资等信息
员工信息删除:删除不再需要的员工信 息
测试目的:验 证系统功能是 否符合设计要

测试内容:功 能测试、性能 测试、安全性
测试等
测试方法:黑 盒测试、白盒 测试、灰盒测
试等
测试结果:列 出测试过程中 发现的问题及
解决方案
测试结论:对 系统的整体性 能和稳定性进
行评估
测试建议:针 对测试中发现 的问题提出改
进建议
硬件要求:服务器、网络设备、存 储设备等
部署步骤:安装操作系统、安装数 据库管理系统、安装Web服务器、 部署工资管理系统等
添加标题
添加标题
添加标题
添加标题
软件要求:操作系统、数据库管理 系统、Web服务器等
维护方案:定期备份数据、定期检 查系统运行情况、定期更新系统软 件等
系统运行环境:Windows、Linux等操作系统 硬件要求:CPU、内存、硬盘等 软件安装:安装C语言编译器、数据库管理系统等 系统维护:定期备份数据、更新软件、修复漏洞等
升级方式:自动升级或手动升级 升级内容:功能升级、性能升级、安全升级等 扩展方式:插件扩展、模块扩展、功能扩展等 扩展内容:增加新功能、优化性能、提高安全性等
汇报人:
排序算法:快速排序、归并排序、 堆排序等
图算法:最短路径、最小生成树等
添加标题
添加标题
添加标题
添加标题

工资管理系统c语言课程设计

工资管理系统c语言课程设计

工资管理系统c语言课程设计一、引言工资管理系统是企业管理中的重要组成部分,它负责实现对员工工资数据的管理和计算。

本文将探讨在C语言课程设计中,如何设计和开发一个工资管理系统。

二、需求分析工资管理系统的主要功能要求如下: 1. 员工信息管理:包括添加员工、删除员工和修改员工信息。

2. 工资计算:根据员工的工作时长和工资标准计算当月工资。

3. 工资查询:根据员工姓名或编号查询某员工的基本信息和工资信息。

4. 工资统计:统计当月全体员工的工资总额和平均工资。

三、系统设计3.1 数据结构设计在设计工资管理系统时,我们需要定义适当的数据结构来存储员工信息和工资信息。

以下是一种可能的设计:typedef struct {char name[20];int id;float hours_worked;float hourly_wage;float salary;} Employee;在这个设计中,我们将每个员工的姓名、编号、工作时长、时薪和工资存储在一个结构体变量中。

3.2 功能模块设计基于需求分析,我们可以将工资管理系统分为以下几个功能模块: 1. 添加员工模块:实现向系统中添加新员工的功能。

2. 删除员工模块:实现从系统中删除某员工的功能。

3. 修改员工信息模块:实现修改某员工信息的功能。

4. 工资计算模块:根据员工的工作时长和工资标准计算当月工资。

5. 工资查询模块:根据员工姓名或编号查询某员工的基本信息和工资信息。

6. 工资统计模块:统计当月全体员工的工资总额和平均工资。

四、系统实现4.1 添加员工模块添加员工模块实现员工信息的录入。

void addEmployee(Employee *employee_list, int *num_employees) { // 输入员工信息// 将员工信息添加到employee_list中// 员工数量加一(*num_employees)++;}4.2 删除员工模块删除员工模块实现对某员工信息的删除。

C课程设计《工资管理系统》

C课程设计《工资管理系统》

C 课程设计《工资管理系统》一、教学目标本课程的教学目标是使学生掌握工资管理系统的核心概念、设计和实现方法。

通过本课程的学习,学生应能够理解工资管理的基本流程,熟悉工资管理系统的关键组成部分,如员工信息管理、工资计算、税款扣除等,并能够运用面向对象的设计方法,独立设计和实现一个简单的工资管理系统。

具体来说,知识目标包括:掌握工资管理的基本概念和流程;了解工资管理系统的主要组成部分及其功能;熟悉面向对象的设计方法和原则。

技能目标包括:能够使用面向对象的语言进行编程;能够根据实际需求设计和实现一个简单的工资管理系统。

情感态度价值观目标包括:培养学生的团队协作意识,使其能够积极参与团队项目;培养学生的问题解决能力,使其能够通过分析和设计解决实际问题。

二、教学内容本课程的教学内容主要包括工资管理系统的核心概念、设计和实现方法。

具体包括以下几个部分:1.工资管理的基本概念和流程:介绍工资管理的基本概念,如工资、奖金、扣款等,以及工资管理的基本流程,如员工信息管理、工资计算、税款扣除等。

2.工资管理系统的主要组成部分及其功能:介绍工资管理系统的主要组成部分,如员工信息管理模块、工资计算模块、税款扣除模块等,以及各部分的功能和作用。

3.面向对象的设计方法:介绍面向对象的设计方法,包括类的设计、对象的创建和使用、继承和多态等概念和方法。

4.工资管理系统的实现:通过实际案例,引导学生运用面向对象的设计方法,独立设计和实现一个简单的工资管理系统。

三、教学方法为了达到本课程的教学目标,我们将采用多种教学方法,如讲授法、案例分析法、实验法等。

具体来说:1.讲授法:通过讲解工资管理的基本概念、流程和面向对象的设计方法,使学生掌握相关知识。

2.案例分析法:通过分析实际案例,使学生了解工资管理系统的设计和实现过程,提高学生的实际操作能力。

3.实验法:让学生亲自动手设计和实现一个简单的工资管理系统,培养学生的实际编程能力和问题解决能力。

C语言课程设计报告-工资管理系统

C语言课程设计报告-工资管理系统

C语言课‎程设计报告‎-工资管理‎系统一.‎系统功能‎设计一‎个职工工资‎管理系统,‎其功能包括‎:(1‎)‎职工‎基本工资信‎息录入‎包括工号,‎姓名,应发‎工资,奖金‎,扣款,应‎发工资,扣‎税,实发工‎资。

(‎2)‎职‎工基本工资‎信息保存‎(3)‎‎职工基本‎工资信息查‎询按照‎工号查询‎按照姓名‎查询(‎4)‎职‎工基本工资‎信息显示‎在屏幕上‎显示所有的‎职工基本工‎资信息。

‎(5)‎‎职工基本‎工资信息更‎新能够‎实现修改,‎删除,插入‎,排序功能‎。

(6‎)‎职工‎基本工资信‎息统计‎统计公司员‎工工资在各‎等级的人数‎主界面‎系统主界面‎应有如下功‎能选项‎录入职工基‎本工资信息‎查询职‎工基本工资‎信息保‎存职工基本‎工资信息‎删除职工‎基本工资信‎息插入‎职工基本工‎资信息‎修改职工基‎本工资信息‎统计职‎工基本工资‎信息排‎序职工基本‎工资信息‎显示职工‎基本工资信‎息退出‎代‎码如下:‎#inc‎l ude ‎<stdi‎o.h>‎type‎d ef s‎t ruct‎empl‎o yee‎{‎‎ cha‎r num‎[10];‎ /‎/保存职工‎编号‎‎ cha‎r nam‎e[15]‎; /‎/保存职工‎姓名‎‎ flo‎a t jb‎g z; ‎‎//保存职‎工基本工资‎‎‎f loat‎jj; ‎‎ //保‎存职工奖金‎‎‎f loat‎kk; ‎‎ //‎保存职工扣‎款‎‎floa‎t yfg‎z; ‎ /‎/保存职工‎应发工资‎‎ f‎l oat ‎s k; ‎‎ //保‎存职工税款‎‎‎f loat‎sfgz‎;‎ //‎保存职工实‎发工资‎‎‎‎‎}Z‎G GZ;‎void‎menu‎(){‎‎ p‎r intf‎(" ‎‎‎‎Empo‎y ee S‎y stem‎\n");‎‎ p‎r intf‎("--<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎--<‎-<-<@‎\n");‎‎ p‎r intf‎(" ‎ *1 ‎i nput‎‎r ecor‎d‎ *‎2 del‎e te ‎reco‎r d\n"‎);‎‎prin‎t f(" ‎ *‎3 sea‎r ch ‎ rec‎o rd ‎‎*4 m‎o dify‎ re‎c ord\‎n");‎‎ pr‎i ntf(‎"‎*5 i‎n sert‎ r‎e cord‎‎ *6‎coun‎t‎r ecor‎d\n")‎;‎‎p rint‎f(" ‎ *7‎sort‎‎reco‎r d ‎‎*8 sa‎v e ‎ rec‎o rd\n‎");‎‎ pri‎n tf("‎‎*9 di‎s play‎ re‎c ord ‎‎ *0 ‎q uit ‎ r‎e cord‎\n");‎‎ p‎r intf‎("--<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎ --<‎-<-<@‎--<‎-<-<@‎\n");‎‎ p‎r intf‎("Ple‎a se e‎n ter ‎y ou c‎h oice‎(0-9)‎\n");‎}‎i nt i‎n put(‎Z GGZ ‎a[],i‎n t k)‎{‎‎ int‎j,x;‎‎ c‎h ar s‎t r[10‎];‎‎j=x=‎0;‎‎whil‎e(1)‎‎ {‎‎‎‎p rint‎f("--‎-----‎-----‎-----‎-----‎-----‎-\n")‎;‎‎‎ pri‎n tf("‎请输入职工‎的编号:(‎按0返回主‎菜单)")‎;‎‎‎‎ s‎c anf(‎"%s",‎s tr);‎‎‎‎‎ st‎r cpy(‎a[k].‎n um,s‎t r);‎‎‎‎f or(j‎=0;j<‎k;j++‎)‎‎‎‎ {‎‎‎‎‎if(s‎t rcmp‎(a[j]‎.num,‎s tr)=‎=0)‎‎‎‎‎{‎‎‎‎‎‎ pri‎n tf("‎已经有工号‎为%s的员‎工信息!请‎重新输入员‎工号。

职工工资管理系统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语言课程设计

职工工资管理系统设计--C语言课程设计

《C语言程序设计》课程设计实习报告实验题目职工工资管理1.问题描述:添加模块:添加职工或工资的信息删除模块:能通过姓名或者工号删除职工信息修改模块:修改职工信息查询模块:能通过姓名或者工号查询职工信息显示模块:显示全部职工信息文件管理模块:负责源数据文件的管理,包括新建、读取和保存源数据2.概要设计职工工资管理添加模块删除模块修改模块查询模块显示模块文件管理模块按姓名按工号按姓名按工号新建记录数据文件读取记录数据文件保存记录数据文件在各模块处用指针函数来使用后面的保存记录数据文件进行保存。

3.详细设计include <stdio.h># include <stdlib.h># include <string.h>/*宏定义*/# define N 100 /*假设工人个数是100*/# define HEADER1 "----------------------------------------------------------------------\n"# define HEADER2 " | Number | Name | Psex | Age | Time | Ywage | Ykou | Pwage |\n"# define HEADER3 " |--------|--------|--------|-------|------|-------|------|-------|\n"# define FORMAT " |%-8d|%-8s|%-8s|%-7d|%-6d|%-7d|%-6d|%-7d|\n"# define DATA p->num ,p->name,p->sex,p->age,p->time,p->ywage,p->ykou,p->pwage# define END "-----------------------------------------------------------------------\n"/**/typedef struct work{int num; /**/char name[10];char sex[10];int age; /**/int time; /**/int ywage; /**/int ykou; /**/int pwage; /**/}WORK;/**/typedef struct pointer_info{WORK*pHead; /**/int count; /**/char fname[10]; /**/int saveflag; /**/}PI;/**/void Menu();void Add(PI*);void Del(PI*);void Save(PI*pi);void Modify(PI*pi);void Qur(PI*pi);void Load(PI*pi);void New(PI*pi);void Disp(PI*);void Wrong();void printheader();void main(){int sel;WORK *pwork;PI pi;pwork = (WORK*)malloc(N * sizeof(WORK));pi.pHead = pwork;pi.count = 0;pi.fname[0] = '\0';pi.saveflag = 0;/*显示主函数*/Menu();printf("Please input your choice [0~5]:");do{scanf("%d",&sel);if (sel == 0){/*if (pi.saveflag ==1){if (strlen(pi.fname)){Save(&pi);}else{New(&pi);Save(&pi);}}*/break;}switch(sel){case 1:Add(&pi);break;case 2:Del(&pi);break;case 3:Modify(&pi);break;case 4:Qur(&pi);break;case 5:Disp(&pi);break;default:Wrong();break;}}while(1);pwork = pi.pHead;free(pwork);}void printheader(){printf(HEADER1);printf(HEADER2);printf(HEADER3);}void Menu(){system("cls");printf(" The Workers' Grade Wage System \n");printf("****************Menu*************************************\n");printf(" * 1 添加*\n");printf(" * 2 删除*\n");printf(" * 3 修改*\n");printf(" * 4 查询*\n");printf(" * 5 显示*\n");printf(" * 0 退出*\n");printf ("*********************************************************\n"); }void Wrong( ){printf("\n******Error :input has wrong ! press any key to continue******\n");}void Add(PI* pi ){int num;//char sex[10];int nSex;int i,flag=0;WORK * pwork,*p;do{pwork=pi->pHead+pi->count;p=pi->pHead;printf("please input the number:(press '0'return menu)");scanf("%d",&num);for(i=1;i< pi->count; i++){if(num==p->num){printf ("the number you input has exist,please input another one!\n");flag=1;break;}p++;}if(flag){flag=0;continue;}if (num != 0){pwork->num = num;}else{Menu();printf("please input your choice[0~5]:");break;}printf("please input the name:");scanf("%s",pwork->name);printf("please input the sex(0 is woman,1 is man):");scanf( "%d", &nSex );if( nSex == 0 )strcpy( pwork->sex,"woman");elsestrcpy( pwork->sex,"man");printf("please input the time:");scanf("%d", &pwork->time);printf("please input the age:");scanf("%d", &pwork->age);printf("please input the Ywage:");scanf("%d", &pwork->ywage);printf("please input the Ykou:");scanf("%d", &pwork->ykou);pwork->pwage = pwork->ywage-pwork->ykou;pi->count++;pi->saveflag=1;}while(1);}void Qur(PI * pi){int a,i,num;WORK *p;char name[10];p=pi->pHead;Menu();printf("1------search by number\n");printf("2------search by name\n");printf("3------return\n");printf("please input your choice:[1,2]?");scanf("%d",&a);if(a==3){return;}if(a==1){printf("please input the number for search:");scanf("%d",&num);for(i=1;i<= pi->count; i++){if(num==p->num){break;}p++;}if(i>pi->count){printf("no record found\n");return;}else{printheader();printf(FORMAT,DATA);printf(END);}}else if(a==2){printf("please input name to search:");scanf("%s",name);for(i=1;i<=pi->count;i++){if(strcmp(name,p->name) !=0){break;}p++;}if(i>pi->count){printf("no record found\n");return;}else{printheader();printf(FORMAT,DATA);printf(END);}}printf("Please input your choice[0~5]:");}void Modify(PI *pi){int num,i;WORK *p,*pwork;p = pi->pHead;Menu();Disp(pi);printf("please input the number of work to modify:");scanf("%d",&num);for (i = 1;i < pi->count;i++){if (num == p->num){break;}p++;}if (i > pi->count){printf("no record found\n");return;}else{printf("please input the number:(enter '0'return menu)");scanf("%d",&num);if (num!=0){p->num =num;}else{Menu();return;}printf("please input the name:");scanf("%s",p->name);printf("please input the sex:");scanf("%s",p->sex);printf("please input the age:");scanf("%d",&p->age);printf("please input the time:");scanf("%d",&p->time);printf("please input the ywage:");scanf("%d",&p->ywage);printf("please input the ykou:");scanf("%d",&p->ykou);pwork->pwage = pwork->ywage-pwork->ykou;pi->saveflag = 1;}}/*删除职工记录*/void Del(PI * pi){int sel,i,num;char name[10];WORK *p;/*指针函数*/p=pi->pHead;Menu();printf("1------delete by number\n");/*选择工号*/printf("2------delete by name\n");/*选择姓名*/printf("any key other------return\n");/*按别的键就返回*/ printf("please input your choice:[1,2]?\n");scanf("%d",&sel);if(sel!=1&&sel!=2)/*按别的键*/{return;}if( sel == 1 )/*选择工号*/{printf("Please input the number to delete:");scanf("%d",&num);for(i=1;i<=pi->count;i++)/*按学号搜索*/{if(num==p->num){break;}p++;}if(i>pi->count){printf("no record found\n");return;}else if(i==pi->count) /*删除中间某个记录,只需要将count减1*/ {pi->count--;pi->saveflag=1;printf("record delete successfully!\n");}else /*删除某个记录,只要将其后的数据前移覆盖即可*/{memcpy(p,p+1,(pi->pHead + pi->count - p)*sizeof(WORK));pi->count--;pi->saveflag = 1;printf("record delete successfully!\n");}}else if(sel == 2)/*选择姓名*/{printf("please input name to delete:");scanf("%s",name);for(i=1;i<=pi->count;i++){if(strcmp(name,p->name) != 0){break;}p++;}if(i>pi->count){printf("no record found\n");return;}else if(i==pi->count)/*删除中间某个记录,只需要将count减1*/ {pi->count--;pi->saveflag=1;printf("record delete successfully!\n");}else{ /*删除某个记录,只要将其后的数据前移覆盖即可*/ memcpy(p,p+1,(pi->pHead+pi->count-p)*sizeof(WORK) );pi->count--;pi->saveflag=1;printf("record delete successfully!\n");}}printf("please input your choice[0~5]:");}/*显示*/void Disp(PI * pi){int i;WORK *p = pi->pHead;if (pi->count==0){printf("no record found\n");printf("\nplease input your choice[0~5]:");return;}printheader();for(i=1;i<=pi->count;i++){printf(FORMAT,DATA);printf(END);p++;}}void New(PI *pi){FILE * fp;char name[10];char fname[10] =".\\";printf("please input the date file name foe create:");scanf("%s",fname);strcat(fname,name);strcat(fname,".dat");fp=fopen(fname,"wb");if(fp==NULL){printf("\n=====>open file error!\n");return;}strcpy(pi->fname,fname);fclose(fp);}void Load (PI *pi){FILE * fp;WORK * p=pi->pHead;char name [10];char fname [10]= ".\\";printf( "please input the data file name for load:");scanf( "%s",name);strcat(fname,name);fp=fopen(fname , "rb");if(fp==NULL){printf("\n====>open file error!\n");return;}pi->count = 0;pi->saveflag = 0;while(feof(fp)!=0){if(fread(p,sizeof(WORK),1,fp)){pi->count++;p++;}}strcpy(pi->fname,name);printf("load data file %s successfully!",name);fclose(fp);}void Save(PI * pi){FILE * fp;int numwriten;if (!strlen(pi->fname))New(pi);fp=fopen(pi->fname, "wb");if(fp==NULL){printf("\n====>open file error!\n");fclose(fp);return ;}if (pi->count){numwriten = fwrite(pi->pHead,1,pi->count * sizeof(WORK),fp);pi->saveflag = 0;printf("file save succesefully!");}elseprintf("no record for save !");fclose(fp);}4测试分析添加时Q1:性别通过输入0或1输出woman or man有if语句进行选择Q2:实得工资由应发工资减去应扣工资自动得到在程序中做减法添加后删除Q1:通过工号或姓名删除使用if语句进行选择,并用for语句对进行搜索Q2:删除中间摸个记录删除后修改查找Q1:要求通过工号或者姓名查找使用if语句Q2:如果找不到记录则要返回使用if –else语句找不到就输出源数据显示5.课程设计总结通过我们小组的共同努力终于完成任务,制作了职工工资管理系统。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include<stdio.h>#include<assert.h>#include<string.h>#include<stdlib.h>#include<conio.h>typedef struct worker{int ID;//员工工号char name[20];//员工姓名int moy1;//员工底工资int moy2;//奖金int moy3;//被扣金额int moy4;//实际工资}worker;int j=0,total;char k;FILE*fp;void Input();//void Add();//void Surf();//void Save();//保存数据void Change();//void Del();//worker wrk[50];int main()//主界面系统{char ch;system("cls");printf("\n\t\t\t\t职工工资系统\n\n");printf("\n\t\t\t\t班级:\n");printf("\n\n\t\t\t\t制作人:\n");printf("\n\n\t\t\t\t学号:n\n\n");system("pause");system("cls");do{printf("\n\t\t\t欢迎进入职工管理系统\n\n\n");printf("\n\t\t\t1.输入职工信息\n");printf("\n\t\t\t2.新增职工信息\n");printf("\n\t\t\t3.更改职工信息\n");printf("\n\t\t\t4.删除职工信息\n");printf("\n\t\t\t5.查询职工工资\n");printf("\n\t\t\t6.保存职工信息\n");printf("\n\t\t\t0.退出职工管理系统\n");printf("\n\n\n请输入你需要选项的数字:");scanf("%d",&ch);switch(ch){case1:system("cls");Input();break;case2:system("cls");Add();break;case3:system("cls");Change();break;case4:system("cls");Del();break;case5:system("cls");Surf();break;case6:system("cls");Save();break;case0:system("cls");printf("\t\t感谢使用职工管理系统\n");exit(0);default:printf("输入有误,请在数字0—6之间输入\n");}}while(1);fflush(stdin);return0;}void Input()//输入职工信息{do{printf("\n\t\t\t请输入职工的信息:\n");printf("\n\t\t\t职工工号:");scanf("%d",&wrk[j].ID);printf("\n\t\t\t职工姓名:");scanf("%s",wrk[j].name);printf("\n\t\t\t职工底工资:");scanf("%d",&wrk[j].moy1);printf("\n\t\t\t职工奖金:");scanf("%d",&wrk[j].moy2);printf("\n\t\t\t职工被扣金额:");scanf("%d",&wrk[j].moy3);wrk[j].moy4=wrk[j].moy1+wrk[j].moy2-wrk[j].moy3;printf("\n\t\t\t职工实际工资:%d\n",wrk[j].moy4);j++;total=j;printf("\n\n\n\n是否继续?\n是请按1;否请按0.\n\n请选择:");fflush(stdin);while(1){fflush(stdin);scanf("%c",&k);if(k=='0'||k=='1')break;printf("输入有误\n请重新输入:");}}while(k=='1');fflush(stdin);return;}void Save()//职工信息保存{fp=fopen("in.txt","a");assert(fp);for(j=0;j<total;j++){fprintf(fp,"%d%s%d%d%d%d\n",wrk[j].ID,wrk[j].name,wrk[j].moy1,wrk[j].moy2,wrk[j].moy3,wrk[j].moy4);}printf("职工信息保存成功\n");system("pause");fclose(fp);return;}void Add()//添加职工信息{do{printf("当前有%d个职工的信息\n",total);printf("请输入要增加的职工的信息:");printf("\n\t\t\t职工工号:");scanf("%d",&wrk[j].ID);fflush(stdin);printf("\n\t\t\t职工姓名:");scanf("%s",wrk[j].name);printf("\n\t\t\t职工底工资:");scanf("%d",&wrk[j].moy1);printf("\n\t\t\t职工奖金:");scanf("%d",&wrk[j].moy2);printf("\n\t\t\t职工被扣金额:");scanf("%d",&wrk[j].moy3);wrk[j].moy4=wrk[j].moy1+wrk[j].moy2-wrk[j].moy3;printf("\n\t\t\t职工实际工资:%d\n",wrk[j].moy4);j++;total+=j;printf("是否继续?\n是请按1;否请按0.\n\n请选择:");fflush(stdin);while(1){scanf("%c",&k);if(k=='0'||k=='1')break;printf("输入有误\n请重新输入:");}}while(k=='1');fflush(stdin);return;}void Change()//更改职工信息{char ch[10];fflush(stdin);printf("\n\t\t\t\t更改职工信息\n");printf("请输入职工的姓名:");do{scanf("%s",&ch);for(j=0;j<total;j++){if(!strcmp(wrk[j].name,ch)){printf("请输入职工工号:");fflush(stdin);scanf("%d",&wrk[j].ID);printf("请输入职工姓名:");fflush(stdin);gets(wrk[j].name);printf("请输入职工底工资:");scanf("%d",&wrk[j].moy1);printf("请输入职工奖金:");scanf("%d",&wrk[j].moy2);printf("请输职工被扣金额:");scanf("%d",&wrk[j].moy3);wrk[j].moy4=wrk[j].moy1+wrk[j].moy2-wrk[j].moy3;printf("职工实际工资:%d\n",wrk[j].moy4);printf("是否继续?\n是请按1;否请按0.\n\n请选择:");fflush(stdin);}while(1){scanf("%c",&k);if(k=='1'||k=='0')break;printf("输入有误\n请重新输入:");}}}while(k=='1');fflush(stdin);system("pause");system("cls");return;}void Del()//删除职工信息{char ch[10];do{printf("\n\t\t\t\t删除职工信息\n");printf("请输入职工姓名:");fflush(stdin);gets(ch);for(j=0;j<total;j++){if(!strcmp(wrk[j].name,ch)){for(j=j;j<total;j++){wrk[j]=wrk[j+1];}}}printf("是否继续?\n是请按1;否请按0.\n\n请选择:");fflush(stdin);while(1){scanf("%c",&k);if(k=='1'||k=='0'){break;}printf("输入有误\n请重新输入:");}}while(k=='1');fflush(stdin);return;}void Surf()//查询职工信息{char ch[4];fflush(stdin);do{printf("\n\t\t\t查询职工信息\n");printf("请输入职工姓名:");fflush(stdin);gets(ch);for(j=0;j<total;j++){if(!strcmp(wrk[j].name,ch)){printf("职工工号:%d\n",wrk[j].ID);printf("职工姓名:%s\n",wrk[j].name);printf("职工底工资:%d\n",wrk[j].moy1);printf("职工奖金:%d\n",wrk[j].moy2);printf("职工被扣工资:%d\n",wrk[j].moy3);printf("职工实际工资:%d\n",wrk[j].moy4);}printf("是否继续?\n是请按y;否请按n.\n\n请选择:");fflush(stdin);while(1){scanf("%c",&k);if(k=='y'||k=='n')break;printf("输入有误\n请重新输入:");}}}while(k=='y');fflush(stdin);system("pause");system("cls");return;}。

相关文档
最新文档