c语言工资管理系统课程设计
c语言课程设计__工资信息管理系统(修改版)
c语言课程设计__工资信息管理系统(修改版)计算机高级语言课程设计报告学生姓名:班学号:班级序号:指导教师:一、题目要求工资信息管理系统【要求】该系统能够实现工资信息管理。
系统包括录入、浏览、查询、统计等功能。
其中录入功能要求能够添加新的工资信息到文件;浏览功能要求能按照工资卡号、姓名分类浏览,提供分屏显示;有排序功能,排序后按照工资卡号升序或实发工资降序输出;查询功能要求能够按照工资卡号、姓名查询;统计功能要求能够按照月份累计统计某职工在某时间段实发工资总金额。
【提示】1.文件中一行数据对应一个职工工资信息2.工资信息的数据结构采用结构体数组,一个数组元素对应一条工资单记录3.工资单信息包括工资卡号、姓名、月份、应发工资、水费、电费、税金、实发工资等4.实发工资=应发工资-水费-电费-税金,其中税金的计算方法为a. 应发工资<800元,税金=0b. 800<应发工资<1400元,税金=(应发工资-800)*5%c. 应发工资>1400元,税金=(应发工资-1400)*10%另:课程实习报告的参考格式1.题目编号2.写出系统总设计的思路、功能模块划分。
给出合理的测试数据及运行结果,要求能够体现程序的正确性和完备性及对错误输入的处理。
总结算法或系统的优缺点,给出算法或系统进一步改进的设想。
在附录中给出源代码,3.附录二、需求分析根据题目要求,由于工资单信息是存放在文件中,所以应提供文件的输入、输出等操作;在程序中需要浏览学生的信息,应提供录入、浏览、查询、统计等操作;另外还应提供键盘式选择菜单实现功能选择。
三、总体设计根据上面的需求分析,可以将这个系统的设计分为以下几个模块:数据输入,数据添加,数据浏览,数据查询,数据统计。
录入职工工资信息模块添加职工工资信息模块浏览职工工资信息模块查询职工工资信息模块统计职工工资信息模块功能选择工资信息管理系统图一系统功能模块图四、详细设计1.主函数主函数提供输入、处理和输出部分的函数调用。
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语言课程设计一、课程目标知识目标:1. 掌握C语言中数据类型、运算符、控制流程等基本语法知识;2. 学会使用C语言进行结构体定义,实现工资管理系统中数据的结构化存储;3. 理解文件操作的基本方法,实现对工资数据的读写和存储;4. 掌握模块化编程思想,将工资管理系统拆分为多个功能模块,提高代码可读性和可维护性。
技能目标:1. 能够运用所学C语言知识,独立完成工资管理系统的设计与编码;2. 能够通过调试和修改代码,解决工资管理系统中出现的常见问题;3. 学会运用结构化分析和设计方法,对工资管理系统进行模块划分和功能设计;4. 培养良好的编程习惯,写出简洁、高效、可维护的代码。
情感态度价值观目标:1. 培养学生严谨、细心的编程态度,树立良好的编程习惯;2. 增强学生对C语言编程的兴趣,激发主动学习和探究的热情;3. 培养学生团队协作意识,提高沟通与协作能力;4. 使学生认识到编程在解决实际问题中的价值,增强实践操作能力。
本课程针对高年级学生,在已有C语言基础之上,通过工资管理系统的课程设计,让学生将理论知识与实践相结合,提高编程能力和解决实际问题的能力。
课程注重培养学生严谨的编程思维、良好的编程习惯和团队协作精神,使学生在完成课程学习的同时,具备一定的实际项目经验。
二、教学内容1. C语言基础知识复习:数据类型、变量、常量、运算符、控制流程(选择、循环);2. 结构体与共用体:工资管理系统中的员工信息结构定义,掌握结构体成员访问方法;3. 文件操作:文件读写、文件打开与关闭、文件定位,实现对工资数据的持久化存储;4. 函数与模块化编程:功能模块划分,掌握函数定义、调用、参数传递和返回值;5. 工资管理系统功能设计:需求分析,功能模块划分,模块间接口设计;6. 工资管理系统编码实现:根据设计,编写各模块代码,实现工资管理系统的各项功能;7. 系统测试与调试:编写测试用例,进行功能测试,发现问题并进行调试;8. 代码优化与维护:提高代码可读性、可维护性,培养良好的编程习惯。
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语言课程设计工资管理系统是一种用于管理和计算员工工资的软件系统。
对于企业而言,工资管理是一个重要的管理环节,直接关系到员工福利和企业的正常运行。
因此,开发一个功能完善、稳定可靠的工资管理系统对企业来说至关重要。
工资管理系统应具备以下基本功能:员工信息管理、工资计算、工资发放、报表生成等。
员工信息管理包括员工个人信息、职位信息、工资信息等的录入、修改、查询、删除等操作。
工资计算是根据员工的工作情况和薪资政策进行工资计算,包括基本工资的计算、加班工资的计算、奖金的计算等。
工资发放则是按照企业规定的发放时间和方式进行工资发放。
报表生成是将工资统计数据进行汇总和统计,并以表格、图形等形式生成相应的报表,以便管理人员进行分析和决策。
工资管理系统的实现需要采用结构化程序设计的方法。
首先,需要设计员工信息的数据结构,包括员工编号、姓名、性别、年龄、部门、职位、基本工资等字段。
然后,需要设计工资计算的算法,按照薪资政策进行计算,并将计算结果保存在员工的工资信息中。
接下来,需要设计工资发放的算法,根据发放时间和方式进行工资发放,并更新员工的工资信息。
最后,需要设计报表生成的算法,将工资统计数据汇总并以表格、图形等形式生成相应的报表。
在具体的实现过程中,可以采用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语言一、课程目标知识目标:1. 学生能够理解工资管理系统的基本功能需求,掌握C语言实现工资管理系统所需的基本语法和结构;2. 学生能够运用结构体、数组、文件操作等C语言知识模块,实现工资管理系统中数据的存储、查询、修改和删除等功能;3. 学生了解并掌握C语言中的模块化编程思想,将工资管理系统划分为独立的功能模块,提高代码的可读性和可维护性。
技能目标:1. 学生能够运用所学知识,独立完成一个简单的工资管理系统的设计、编码和调试;2. 学生掌握利用C语言进行系统分析、设计和实现的基本方法,具备基本的编程实践能力;3. 学生能够运用调试工具和技巧,对程序进行调试和优化,提高程序运行的稳定性和效率。
情感态度价值观目标:1. 学生通过本课程的学习,培养对编程的兴趣,提高问题解决能力和创新意识;2. 学生在团队协作中,学会沟通、分享和合作,培养良好的团队精神和职业素养;3. 学生认识到编程在工资管理系统等实际应用中的重要性,激发其学习热情,培养积极的学习态度。
课程性质:本课程为高年级C语言程序设计课程的实践环节,旨在让学生通过实际项目的开发,巩固所学知识,提高编程能力。
学生特点:学生已经具备一定的C语言基础,了解基本语法和编程技巧,但实际项目经验不足。
教学要求:结合学生特点,课程设计应注重实践性、实用性和综合性,引导学生运用所学知识解决实际问题,提高编程实践能力。
在教学过程中,关注学生的个体差异,提供适当的指导和帮助,确保学生能够达到预定的学习目标。
通过课程目标的分解,为后续教学设计和评估提供明确的方向。
二、教学内容1. 工资管理系统需求分析:介绍工资管理系统的基本功能,如员工信息管理、工资计算、数据存储与查询等。
教材章节:《C语言程序设计》第十章——文件。
2. C语言基础知识回顾:回顾结构体、数组、指针等基本概念及其在工资管理系统中的应用。
教材章节:《C语言程序设计》第三章——结构体与联合;《C语言程序设计》第四章——数组与字符串;《C语言程序设计》第五章——指针。
C课程设计《工资管理系统》
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语言是一种广泛应用于系统程序设计和应用程序开发的高级语言,具有跨评台性和高效性的特点。
设计一个基于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语言在工资管理系统开发中的应用。
具体目标如下: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工资管理系统课程设计一、课程目标知识目标:1. 让学生理解工资管理系统的基本概念、功能模块及其在实际企业中的应用。
2. 掌握工资管理系统中工资计算、税费扣除、工资发放等基本流程。
3. 学会运用数据库技术进行工资数据的存储、查询和更新。
技能目标:1. 培养学生运用所学知识设计并实现一个简单的工资管理系统的能力。
2. 提高学生分析实际问题时运用工资管理系统进行数据处理的技能。
3. 培养学生团队协作、沟通表达的能力。
情感态度价值观目标:1. 激发学生对信息技术在企业中的应用产生兴趣,提高其学习积极性。
2. 培养学生具备良好的信息素养,认识到信息安全、保护隐私的重要性。
3. 增强学生对于企业人力资源管理的认识,提高其职业素养。
课程性质分析:本课程为信息技术与学科整合的实践性课程,旨在让学生将所学知识应用于实际问题的解决,提高其信息技术素养。
学生特点分析:学生为高年级学生,具备一定的信息技术基础,具有较强的学习能力和实践操作能力。
教学要求:1. 结合实际案例,引导学生运用所学知识分析、解决工资管理系统相关问题。
2. 创设情境,鼓励学生进行自主学习、协作探究,培养学生的创新精神和实践能力。
3. 注重过程评价,关注学生的学习成果,提高教学质量。
二、教学内容1. 工资管理系统概述- 了解工资管理系统的定义、作用及其在企业中的应用。
- 分析工资管理系统的主要功能模块。
2. 工资管理系统的基本流程- 学习工资计算、税费扣除、工资发放等基本流程。
- 掌握工资管理系统中涉及的算法和业务规则。
3. 数据库技术在工资管理系统中的应用- 学习数据库的基本概念、设计方法及其在工资管理系统中的作用。
- 掌握工资管理系统中数据库的建立、查询、更新等操作。
4. 工资管理系统的设计与实现- 学习系统分析与设计的基本方法,明确工资管理系统的需求。
- 掌握运用编程语言和数据库技术实现工资管理系统功能。
5. 案例分析与实战演练- 分析典型工资管理系统案例,了解实际应用中的解决方案。
C语言课程设计工资管理系统
界面布局:检查界面布局是否合理,是否符合用户习惯 功能测试:测试各个功能模块是否正常工作,是否有错误提示 性能测试:测试系统的响应速度和稳定性,是否有卡顿现象
兼容性测试:测试系统在不同操作系统和浏览器上的兼容性,是否有显示异常
员工信息录入:包括姓名、性别、年龄、 职位、薪资等信息
员工信息删除:删除不再需要的员工信 息
测试目的:验 证系统功能是 否符合设计要
求
测试内容:功 能测试、性能 测试、安全性
测试等
测试方法:黑 盒测试、白盒 测试、灰盒测
试等
测试结果:列 出测试过程中 发现的问题及
解决方案
测试结论:对 系统的整体性 能和稳定性进
行评估
测试建议:针 对测试中发现 的问题提出改
进建议
硬件要求:服务器、网络设备、存 储设备等
部署步骤:安装操作系统、安装数 据库管理系统、安装Web服务器、 部署工资管理系统等
添加标题
添加标题
添加标题
添加标题
软件要求:操作系统、数据库管理 系统、Web服务器等
维护方案:定期备份数据、定期检 查系统运行情况、定期更新系统软 件等
系统运行环境:Windows、Linux等操作系统 硬件要求:CPU、内存、硬盘等 软件安装:安装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语言的基本概念、原理和方法,培养学生运用C语言进行工资管理的实际操作能力,提高学生在工资管理领域的科学素养。
具体分为以下三个部分:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,了解结构体、文件操作等相关概念,并能够运用这些知识解决工资管理中的实际问题。
2.技能目标:学生需要能够使用C语言编写工资管理系统,包括员工信息的增删改查、工资的计算和统计等功能,培养学生的编程能力和解决实际问题的能力。
3.情感态度价值观目标:通过本课程的学习,使学生认识到计算机技术在工资管理领域的重要性,增强学生对计算机技术的兴趣和信心,培养学生严谨的科学态度和良好的职业道德。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.C语言基础知识:介绍C语言的基本语法、数据类型、运算符、控制结构等,使学生掌握C语言编程的基本方法。
2.函数与模块化编程:讲解函数的定义、声明和调用,培养学生模块化编程的思想,提高代码的可读性和可维护性。
3.结构体与文件操作:介绍结构体的定义和使用,讲解文件的基本操作,如文件的打开、关闭、读写等,为工资管理系统的开发打下基础。
4.工资管理系统实现:通过实际案例,引导学生运用所学知识编写工资管理系统,包括员工信息的增删改查、工资的计算和统计等功能。
5.调试与优化:讲解调试工具的使用,培养学生发现和解决问题的能力,并对代码进行优化,提高程序的性能。
三、教学方法为了达到本课程的教学目标,我们将采用以下教学方法:1.讲授法:讲解C语言的基本语法、数据类型、运算符、控制结构等知识,使学生掌握基本概念。
2.案例分析法:通过分析实际案例,使学生了解结构体、文件操作在工资管理中的应用,培养学生解决实际问题的能力。
3.实验法:让学生动手编写工资管理系统,培养学生的编程能力和团队协作能力。
4.讨论法:学生进行课堂讨论,分享学习心得和解决问题的方法,提高学生的沟通能力和合作精神。
C语言课程设计报告—工资信息管理系统
C 语言程序设计编程实践是学习C语言程序设计的一重要环节,为提高学生程序设计能力,通过课堂和上机实践练习使学生的程序设计能力上一台阶。
通过前四单元温顾而知新、庖丁解牛、举一反三、熟能生巧等过程的练习设计下面一个完整的程序。
1、题目要求设计“工资信息管理系统”要求:该系统能够实现工资信息管理。
系统包括录入,浏览,查询,统计等功能。
录入功能要求:能够添加新的工资信息到文件;浏览功能要求:能够按照工资卡号,姓名分类浏览,提供分屏显示;有排序功能,排序后按照工资卡号升序或实发工资降序输出;查询功能要求:能够按照工资卡号,姓名查询;统计功能要求:能够按照月份累计统计某职工在某时间段发工资总金额。
职工数据如下:姓名银行卡号月份应发工资水费电费税金实发工资wanglei 05507101 6 5000.00 25.00 35.00 360.00 4580.00wanglei 05507101 7 5100.00 20.00 40.00 370.00 4670.002、分析:根据题目要求,应当把职工工资信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;在程序中需实现职工工资浏览,查询,统计等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。
3、总体设计:根据题目要求,可以将系统分为六个模块:1)职工工资信息浏览模块;2)添加工工资信息模块;3)统计职工工资总合模块;4)按名字查询职工工资信息模块;5)按卡号查询职工工资信息模块;6)功能选择4、详细设计:#include<iostream.h>#include<stdio.h>#include<stdlib.h>#include<string.h>//头函数名/*********职员工资信息结构体*********//***包括职工的姓名、银行卡好、工作月份、应发工资、实发工资、水费、电费、税***/ struct staff//职员工资信息结构体{char Name[10];char CardNumber[10];int Month;float APWages; float Water; float Electrical; float Tax; };FILE *fp;//定义文件指针===全局变量 struct staff temp;void printf_face()//输出函数 { printf("\n 姓名 银行卡号 月份 应发工资 水费 电费 税 实发工资 \n ");printf("%s %s %d %.2f %.2f %.2f %.2f %.2f\n",,temp.CardNumber,temp.Month,temp.SPWages,temp.Water,temp.Electrical,temp.Tax,temp.APWages);}一、/**********浏览职工工资信息==模块*********/void PrintInformation()//浏览职工工资信息{struct staff temp;if((fp=fopen("wages","rb"))==NULL) { printf("cannot open the file!"); exit(0);}while(fread(&temp,sizeof(struct staff),1,fp)==1) fclose(fp); }二、/**********添加职工工资信息==模块void Increase()//添加职工工资信息 {if((fp=fopen("wages","ab+"))==NULL) { printf("cannot open the file!"); exit(0);}printf("\n 请输入要==添加的工资信息: \n");printf("\n 姓名 银行卡号 月份 应发工资&temp.Electrical); if(temp.SPWages<=800) temp.Tax=0;if((temp.SPWages>800.0)&&(temp.SPWages<1400.0))temp.Tax=(temp.SPWages-800)*0.05;if(temp.SPWages>1400){temp.Tax=(temp.SPWages-1400)*0.1;} fwrite(&temp,sizeof(struct staff),1,fp); fclose(fp);}/***计算税金并添加到文件相应结构体中***/三、/*********统计某职工工资总合==模块void Statistics()//统计某职工工资总合 {struct staff temp; char tempname[10]; float sum=0;int monthstart=0,monthover=0;printf("\n 输入姓名 起始月份 终止月份 if((fp=fopen("wages","rb"))==NULL) {printf("cannot open the file!")}while(fread(&temp,sizeof(struct staff),1,fp)==1) { if(strcmp(,tempname)==0)/******判断是否是该职工******/ { if(temp.Month>=monthstart&&temp.Month<=monthover) { sum+=temp.APWages;}}}printf("%d 月到 %d 月的工资总和fclose(fp); }四、/*********按名字查询某职工工资信息==模块void NameSearch()//按名字查询某职工工资信息 {char tempname[10]; struct staff temp;printf("\n 输入姓名:"); scanf("%s",tempname);if((fp=fopen("wages","rb"))==NULL) {printf("cannot open the file!"); exit(0); }while(fread(&temp,sizeof(struct staff),1,fp)==1) /*** { if(strcmp(,tempname)==0) /** { printf_face();}}fclose(fp);}五、/********按卡号查询某职工工资信息==模块void CardNumberSearch()//按卡号查询某职工工资信息 {char tempCardNumber[10];printf("\n 输入卡号:");scanf("%s",tempCardNumber);if((fp=fopen("wages","rb"))==NULL){printf("cannot open the file!");exit(0);}while(fread(&temp,sizeof(struct staff),1,fp)==1) /***读文件中资料**/{if(strcmp(temp.CardNumber,tempCardNumber)==0) /**判断是否是该卡号**/{printf_face();}}fclose(fp);六、/**********职工工资信息查询==模块int Search(){int n;while(1){printf("\n1. 按照卡号查询: \n ");printf("\n2. 按照姓名查询: \n ");printf("\n0. 返回上级目录: \n");scanf("%d",&n);switch(n){case 1:CardNumberSearch();break;case 2:NameSearch();break;case 0:return 0;break;}}}七、/***************功能选择==模块***********/void ShowMenu(){while(1){ Array printf("1. 添加工资信息: \n");printf("2. 浏览工资信息: \n" );printf("3. 统计工资信息: \n" );printf("4. 查询工资信息: \n");printf("0. 退出系统: " );scanf("%d",&n);switch(n){case 1:Increase();break;case 2:PrintInformation();break;case 3:Statistics();break;case 4:Search();break;case 0:exit(0);break;}}}/***************主函数*************/ void main(){ShowMenu();}运行结果可以达到要求的目的。
C课程设计《工资管理系统》
C 课程设计《工资管理系统》一、教学目标本课程的教学目标是使学生掌握工资管理系统的核心概念、设计和实现方法。
通过本课程的学习,学生应能够理解工资管理的基本流程,熟悉工资管理系统的关键组成部分,如员工信息管理、工资计算、税款扣除等,并能够运用面向对象的设计方法,独立设计和实现一个简单的工资管理系统。
具体来说,知识目标包括:掌握工资管理的基本概念和流程;了解工资管理系统的主要组成部分及其功能;熟悉面向对象的设计方法和原则。
技能目标包括:能够使用面向对象的语言进行编程;能够根据实际需求设计和实现一个简单的工资管理系统。
情感态度价值观目标包括:培养学生的团队协作意识,使其能够积极参与团队项目;培养学生的问题解决能力,使其能够通过分析和设计解决实际问题。
二、教学内容本课程的教学内容主要包括工资管理系统的核心概念、设计和实现方法。
具体包括以下几个部分:1.工资管理的基本概念和流程:介绍工资管理的基本概念,如工资、奖金、扣款等,以及工资管理的基本流程,如员工信息管理、工资计算、税款扣除等。
2.工资管理系统的主要组成部分及其功能:介绍工资管理系统的主要组成部分,如员工信息管理模块、工资计算模块、税款扣除模块等,以及各部分的功能和作用。
3.面向对象的设计方法:介绍面向对象的设计方法,包括类的设计、对象的创建和使用、继承和多态等概念和方法。
4.工资管理系统的实现:通过实际案例,引导学生运用面向对象的设计方法,独立设计和实现一个简单的工资管理系统。
三、教学方法为了达到本课程的教学目标,我们将采用多种教学方法,如讲授法、案例分析法、实验法等。
具体来说:1.讲授法:通过讲解工资管理的基本概念、流程和面向对象的设计方法,使学生掌握相关知识。
2.案例分析法:通过分析实际案例,使学生了解工资管理系统的设计和实现过程,提高学生的实际操作能力。
3.实验法:让学生亲自动手设计和实现一个简单的工资管理系统,培养学生的实际编程能力和问题解决能力。
C语言课程设计报告-工资管理系统
C语言课程设计报告-工资管理系统一.系统功能设计一个职工工资管理系统,其功能包括:(1)职工基本工资信息录入包括工号,姓名,应发工资,奖金,扣款,应发工资,扣税,实发工资。
(2)职工基本工资信息保存(3)职工基本工资信息查询按照工号查询按照姓名查询(4)职工基本工资信息显示在屏幕上显示所有的职工基本工资信息。
(5)职工基本工资信息更新能够实现修改,删除,插入,排序功能。
(6)职工基本工资信息统计统计公司员工工资在各等级的人数主界面系统主界面应有如下功能选项录入职工基本工资信息查询职工基本工资信息保存职工基本工资信息删除职工基本工资信息插入职工基本工资信息修改职工基本工资信息统计职工基本工资信息排序职工基本工资信息显示职工基本工资信息退出代码如下:#incl ude <stdio.h>typed ef st ructemplo yee{ char num[10]; //保存职工编号 char name[15]; //保存职工姓名 floa t jbg z; //保存职工基本工资f loatjj; //保存职工奖金f loatkk; //保存职工扣款float yfgz; //保存职工应发工资 fl oat s k; //保存职工税款f loatsfgz; //保存职工实发工资}ZG GZ;voidmenu(){ pr intf(" Empoy ee Sy stem\n"); pr intf("--<-<-<@ --<-<-<@ --<-<-<@ --<-<-<@ --<-<-<@ --<-<-<@ --<-<-<@--<-<-<@\n"); pr intf(" *1 i nputr ecord *2 dele te recor d\n");print f(" *3 sear ch reco rd *4 mo dify rec ord\n"); pri ntf("*5 in sert re cord *6countr ecord\n");p rintf(" *7sortrecor d *8 sav e reco rd\n"); prin tf("*9 dis play rec ord *0 q uit re cord\n"); pr intf("--<-<-<@ --<-<-<@ --<-<-<@ --<-<-<@ --<-<-<@ --<-<-<@ --<-<-<@--<-<-<@\n"); pr intf("Plea se en ter y ou ch oice(0-9)\n");}i nt in put(Z GGZ a[],in t k){ intj,x; ch ar st r[10];j=x=0;while(1) {p rintf("----------------------------\n"); prin tf("请输入职工的编号:(按0返回主菜单)"); sc anf("%s",s tr); str cpy(a[k].n um,st r);f or(j=0;j<k;j++) {if(st rcmp(a[j].num,s tr)==0){ prin tf("已经有工号为%s的员工信息!请重新输入员工号。
C语言课程设计工资管理系统
C语言课程设计工资管理系统东北大学信息科学与工程学院程序实践报告题目工资管理系统课题组长刘诚阳课题组成员张鹏举于文鑫专业名称计算机科学与技术班级计算机1405指导教师张晓红年 4月目录1.课题概述.............................................................. 错误!未定义书签。
1.1课题任务:工资管理系统 .............................. 错误!未定义书签。
1.2课题原理........................................................ 错误!未定义书签。
1.3 课题实践目的................................................ 错误!未定义书签。
1.4 相关知识........................................................ 错误!未定义书签。
2.需求分析.............................................................. 错误!未定义书签。
2.1课题调研........................................................ 错误!未定义书签。
2.2用户需求分析................................................ 错误!未定义书签。
3.方案设计.............................................................. 错误!未定义书签。
3.1总体功能设计................................................ 错误!未定义书签。
3.2数据结构设计................................................ 错误!未定义书签。
c语言课程设计报告 职工工资管理系统
一.设计需求说明一、职工工资管理系统功能设计要求1. 输入记录:将每一个职工的姓名、ID 号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。
•该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。
2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。
3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。
4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。
5. 删除记录:可删除数据文件中的任一记录。
6.恢复记录:能恢复被删除的任一记录。
7. 统计: (A) 计算各项工资平均工资及总工资, (B)•统计符合指定条件(如职工工资前三项之和在2000 元以上、2000~1500 元、1500~1000 元) 以内的工资职工人数及占总职工人数的百分比。
(C)按字符表格形式打印全部职工工资信息表及平均工资(•包括各项总的平均工资)。
8.保存数据文件功能。
9.打开数据文件功能。
经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。
程序运行结果如下表所示(记录个数至少8 个)。
二.模块设计分析系统功能模块图:工作程序分析①输入:输入职工工资资料通过结构体的数组来进行操作,先头定义数组em[],先输入需要输入的职工人数m,然后进入循环,每次循环将各项输入结构体数组对应项的对应成员中,当循环次数等于人数时,完成全部员工的资料输入,退出循环。
同时将数据储存在ckerk_list文件中并自动保存至磁盘。
注:如首次使用,尚未输入数据,请先输入数据。
输入的数据将自动保存。
再次选择输入功能时原数据将被覆盖。
②保存:将输入的资料存入磁盘读取文件clerk_list,若文件不存在,打印“打开失败并退出。
若存在,则通过循环语句将输入到结构体数组的数据逐个输入磁盘。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计课程设计报告工资管理系统院系:地质工程系班级:地质工程班组员:陈欣永胡世俊李积荣赵海俊马小成目录一、设计目的 (1)二、设计内容与要求 (2)1.设计内容 (3)2.设计要求 (4)三、总流程图设计 (5)四、程序详细功能设计 (6)五、程序调试 (7)六、设计小结 (8)七、参考文献 (9)附录 (10)一、设计目的在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计、输出等操作。
进一步掌握利用C语言进行程序设计的能力;进一步理解和运用结构化程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用流程图表示算法。
《工资管理系统》的设计与实现,此次程序设计主要利用c语言的基础知识开发一个简单的职工工资管理系统。
工资管理系统是一个企业不可缺少的一部分,它利用计算机对职工工资进行统一管理,实现工资管理工作的系统化、规范化和自动化,为企业提高工作效率。
二、设计内容与要求1.设计内容主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,至少具有如下功能:对职工信息的录入、修改或删除,通过职工姓名或工号进行查找,并逐项列出相信的职工工资信息,另外也可以查看所有职工目前的工资状况。
有一个文本菜单来调用各个功能的函数及一个主菜单来提示用户如何操作。
2.设计要求在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计、输出等操作。
三、总体流程图设计四、程序详细功能设计1、设计一个能够记录公司职工工资的数据结构,每条记录包括:职工号,姓名,基本工资,职务工资,津贴。
2、应用文件保存工资管理数据。
3、新增:能将所有输入的职工工资数据保存到文件中,并可选择继续输入或退出。
4、查看:查看所有职工信息,包括职工号,姓名,基本工资,职务工资,津贴。
5、查找:输入职工的职工号或姓名,并在文件中查找。
若找到,则显示该职工的工资详情;否则提示未找到。
无论查找成功否,应还可选择继续查找或退出。
6、删除:输入职工的职工号,并在文件中查找。
若找到,提示是否确定删除。
若选择是,则删除文件中该职工信息;若选择否,则取消。
若未找到则提示无此职工信息。
无论查找成功否,应还可选择继续查找或退出。
7、修改:输入职工的职工号在文件中查找。
若找到,显示该职工的所有信息,否则提示无此职工信息。
无论查找成功否,应还可选择继续查找或退出。
8、统计:分类汇总并输出所有职工的总工资,并计算出平均工资。
9、退出:退出程序。
五、程序调试程序调试的任务是排除程序中的错误,使程序能顺利地运行并得到预期的效果。
程序的调试阶段不仅要发现和消除语法上的错误,还要发现和消除逻辑错误和运行错误。
要正确利用编辑时提示的错误信息。
调试阶段出现了很多的问题,主要如下:1、在定义和运用数据类型时出现问题,不清楚字符串的输出用s,而错用为c。
2、忘记“;”或把“;”用错误的输入法输入,造成的错误。
3、大括号混乱造成错误。
4、用文件保存职工信息时,对printf不熟悉,造成使用格式错误,输出内容不符合,通过仔细核对书上的格式才改掉。
5、在读取信息时,不会用scanf,是程序的运行结果混乱,造成职工信息错位,或是直接输出0.00等。
六、设计小结通过这几天的努力,职工工资管理系统的设计已基本完成。
在本次课程设计中,我充分领略了C语言功能的强大,包括函数、数组、指针、结构体、文件等。
职工工资管理系统是一个很实用并且使用广泛的操作系统。
此系统可以减少很多工作量,做到设计合理,便于使用,易于操作;界面友好,容错性高,可在很短的时间内,查找出所需的职工工资资料,提高工作效率。
该系统具有添加、显示、查询、修改、删除等基本功能,以方便对工资的各项管理操作。
每一条记录包括一个职工的工号、姓名、工资等信息,系统的各个功能模块都用函数的形式来实现,可以将职工信息保存在文件中,并从文件中读取出来。
在本次课程设计中,我也发现了自己很多的不足,并学到了许多的知识。
对以前课本中学到的知识有了更深刻的理解,和灵活的运用。
不再像以前一样,知识浅显的明白,死板的套用。
编写程序的过程,让我感觉到了无限的快乐,不仅仅是因为可以将以前学到的相关知识灵活运用,还因为在这个过程中学到了太多以前所没有掌握的东西。
最后我还掌握到了写复杂程序的技巧,在写大程序时应遵守“自顶向下,逐步细化,模块化”的方法进行设计;c语言提供了丰富的数据库和各种功能的函数,我们要善于使用,使我们的程序达到最简洁的这将对我以后的c程序学习产生重要的影响。
通过这次程序设计,使我加深了对C语言的认识,进一步熟悉了对C语言功能的灵活运用,而且加深了我对程序的理解和编写能力,通过文献资料和网络资料的帮助,使我对C语言程序设计这一基础学科又一次加深了认识,也意识到了其具有的强大功能和发展前景。
这会对以后的学习有所帮助。
七、参考文献[1]谭浩强.《C程序设计》(第三版)北京:清华大学出版社2006.3.[2]王为青等.《C语言高级编程及实例剖析》北京:人民邮电出版社2007.3.[3]黄明等.《C语言课程设计》北京:电子工业出版社2006.3.附录〈源程序〉#include<stdio.h>#include<stdlib.h>#include<string.h>structworker{charname[30];charID[10];intsalary1,salary2,salary3;};intdq(structworkerwo[]);voidshow();voidbc(structworkerwo[]);voidadd();voidsee();voidsearch();voidghcz();voidxmcz();voiddel();voidxmsc();voidghsc();voidstatistics();voidmodify();voidghxg();voidxmxg();voidreserve();voidback();voidauthor();structworkerwo[100];//保存所有的职工信息intNumber=0;//记录总的职工人数voidmain(){intchoose=0;while(true){show();printf("\t\t====>请选择:"); scanf("%d",&choose);system("cls");switch(choose){case0:exit(0);//退出break;case1:add();back();//添加职工信息break;case2:see();back();//查看职工信息break;case3:search();back();//查找职工信息break;case4:del();back();//删除职工信息break;case5:statistics();back();//统计职工工资break;case6:modify();back();//修改职工信息break;case7:reserve();back();//保存数据break;case8:author();back();//作者信息break;default:break;}fflush(stdin);getchar();system("cls");}}intdq(structworkerwo[]){FILE*fp=NULL;inti=0;fp=fopen("C://worker.dat","rb");while(fread(&wo[i],sizeof(structworker),1,fp)) i++;fclose(fp);returni;}voidshow(){printf("\n");printf("\t****************职工工资管理系统****************\n\n");printf("\t*☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆*\n\n");printf("\t^^^^^^^^^^^^^^^[1]添加职工信息^^^^^^^^^^^^^^^^^\n");printf("\t^^^^^^^^^^^^^^^[2]查看职工信息^^^^^^^^^^^^^^^^^\n");printf("\t^^^^^^^^^^^^^^^[3]查找职工信息^^^^^^^^^^^^^^^^^\n");printf("\t^^^^^^^^^^^^^^^[4]删除职工信息^^^^^^^^^^^^^^^^^\n");printf("\t^^^^^^^^^^^^^^^[5]统计职工工资^^^^^^^^^^^^^^^^^\n");printf("\t^^^^^^^^^^^^^^^[6]修改职工信息^^^^^^^^^^^^^^^^^\n");printf("\t^^^^^^^^^^^^^^^[7]保存数据^^^^^^^^^^^^^^^^^\n");printf("\t^^^^^^^^^^^^^^^[8]作者信息^^^^^^^^^^^^^^^^^\n");printf("\t^^^^^^^^^^^^^^^[0]退出系统^^^^^^^^^^^^^^^^^\n\n");printf("\t*★★★★★★★★★★★★★★★★★★★★★★★*\n"); }voidbc(structworker*wo){FILE*fp=NULL;fp=fopen("C://worker.dat","ab+");fwrite(wo,sizeof(structworker),1,fp);fclose(fp);}//添加职工信息voidadd(){intnumberTemp=0;inti=0;structworkertemp;printf("请输入要添加职工个数:");scanf("%d",&numberTemp);for(i=0;i<numberTemp;i++){printf("输入第%d个职工信息\n",i+1); printf("姓名:");scanf("%s",);printf("工号:");scanf("%s",temp.ID);printf("基本工资:");scanf("%d",&temp.salary1);printf("职务工资:");scanf("%d",&temp.salary2);printf("津贴:");scanf("%d",&temp.salary3);wo[Number++]=temp;//写入到数组bc(&temp);//写入到文件}printf("添加成功\n");}//查看职工信息voidsee(){inti=0;printf("以下是全部职工\n");printf("\t姓名\t工号\t基本工资\t职务工资\t津贴\n");while(i<Number){printf("\t%s\t%s\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salar y2,wo[i].salary3);i++;}}//查找职工信息voidsearch(){intn=0;printf("1按姓名查找\n");printf("2按工号查找\n");scanf("%d",&n);switch(n){case1:xmcz();break;case2:ghcz();break;default:printf("输入错误!\n");break;}}voidxmcz()//按姓名查找{charname[30];inti=0;printf("请输入要查找职工姓名:");scanf("%s",name);system("cls");printf("\t姓名\t工号\t基本工资\t职务工资\t津贴\n");for(i=0;i<Number;i++){if(strcmp(name,wo[i].name)==0){printf("\t%s\t%s\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salar y2,wo[i].salary3);}}}voidghcz()//按工号查找{charid[10];inti=0;printf("请输入要查找职工工号:");scanf("%s",id);system("cls");printf("\t姓名\t工号\t基本工资\t职务工资\t津贴\n");for(i=0;i<Number;i++){if(strcmp(id,wo[i].ID)==0){printf("\t%s\t%s\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salar y2,wo[i].salary3);}}}//删除职工信息voiddel(){intn=0;printf("1按姓名删除\n");printf("2按工号删除\n");scanf("%d",&n);switch(n){case1:xmsc();break;case2:ghsc();break;}}voidxmsc()//按姓名删除{FILE*fp=NULL;charname[30];inti=0;intj=0;printf("请输入要删除的职工姓名:"); scanf("%s",name);for(i=0;i<Number;i++){if(strcmp(name,wo[i].name)==0) {for(j=i;j<Number-1;j++){wo[j]=wo[j+1];}Number--;}}//将剩余数据写入文件擦除以前的数据fp=fopen("C://worker.dat","wb"); for(i=0;i<Number;i++){fwrite(&wo[i],sizeof(structworker),1,fp); }fclose(fp);printf("删除成功;\n");}voidghsc()//按工号删除{FILE*fp=NULL;charid[60];inti=0;intj=0;printf("请输入要删除的职工工号:");scanf("%s",id);for(i=0;i<Number;i++){if(strcmp(id,wo[i].ID)==0){for(j=i;j<Number-1;j++){wo[j]=wo[j+1];}Number--;}}//将剩余数据写入文件擦除以前的数据fp=fopen("C://worker.dat","wb");for(i=0;i<Number;i++){fwrite(&wo[i],sizeof(structworker),1,fp);}fclose(fp);printf("删除成功;\n");}//统计职工工资voidstatistics(){inti=0;doubles=0.0;doublesum[100];for(i=0;i<Number;i++){sum[i]=wo[i].salary1+wo[i].salary2+wo[i].salary3;printf("%s的总工资为:%f\n",wo[i].name,sum[i]); }for(i=0;i<Number;i++){s+=sum[i];}printf("平均工资为:%f\n",s/Number);}//修改职工信息voidmodify(){intmode=0;printf("请选择修改查找方式\n"); printf("1按姓名查找修改\n");printf("2按工号查找修改\n");scanf("%d",&mode);switch(mode){case1:xmxg();break;case2:ghxg();break;default:printf("输入错误!\n"); break;}}voidxmxg()//按姓名修改{FILE*fp=NULL;charname[30];inti=0;printf("请输入要修改的职工姓名:");scanf("%s",name);for(i=0;i<Number;i++){if(strcmp(name,wo[i].name));elsebreak;}printf("\t姓名\t工号\t基本工资\t职务工资\t津贴\n");printf("\t%s\t%s\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salar y2,wo[i].salary3);printf("请重新输入该职工信息");printf("姓名:");scanf("%s",wo[i].name);printf("工号:");scanf("%s",wo[i].ID);printf("基本工资:");scanf("%d",&wo[i].salary1);printf("职务工资:");scanf("%d",&wo[i].salary2);printf("津贴:");scanf("%d",&wo[i].salary3);//信息修改后重新更新文件里面的数据以保持数据一致性fp=fopen("C://worker.dat","wb");for(i=0;i<Number;i++){fwrite(&wo[i],sizeof(structworker),1,fp);}fclose(fp);}voidghxg()//按工号修改{FILE*fp=NULL;charid[30];inti=0;printf("请输入要修改的职工工号:");scanf("%s",id);for(i=0;i<Number;i++){if(strcmp(id,wo[i].ID));elsebreak;}printf("\t姓名\t工号\t基本工资\t职务工资\t津贴\n");printf("\t%s\t%s\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salar y2,wo[i].salary3);printf("请重新输入该职工信息");printf("姓名:");printf("姓名:");scanf("%s",wo[i].name);printf("工号:");scanf("%s",wo[i].ID);printf("基本工资:");scanf("%d",&wo[i].salary1);printf("职务工资:");scanf("%d",&wo[i].salary2);printf("津贴:");scanf("%d",&wo[i].salary3);//信息修改后重新更新文件里面的数据以保持数据一致性fp=fopen("C://worker.dat","wb");for(i=0;i<Number;i++){fwrite(&wo[i],sizeof(structworker),1,fp);}fclose(fp);printf("\t=======>修改成功\n");}//保存数据voidreserve(){printf("\t=====程序在运行时已自动保存.....\n");}voidback(){printf("\t===>按Enter键返回主菜单\n");}//作者信息voidauthor(){printf("\t***☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆***\n\n");printf("\t^^^^^^^^^^^^^^^学校名称^^^^^^^^^^^^^\n\n");printf("\t^^^^^^^^^^^^^^学院班级^^^^^^^^^^^^^\n\n");printf("\t^^^^^^^^^^^^^^^XXX制作^^^^^^^^^^^^^\n\n");printf("\t***★★★★★★★★★★★★★★★★***\n\n"); }。