c语言程序设计职工管理系统
- 格式:docx
- 大小:82.85 KB
- 文档页数:66
原创C语言职工管理系统课程设计报告1. 引言职工管理系统是一个可以对职工信息进行录入、查询、修改和删除的软件系统。
在这个项目中,我们将使用C语言来实现这个系统。
通过设计这个项目,我们旨在提高学生们对C语言的理解和应用能力。
2. 项目背景和目的职工管理系统是一个常见的实际应用场景,他在许多企事业单位中都有使用。
通过设计和实现这个系统,我们可以帮助管理人员更有效地管理职工信息,提高管理效率。
我们的目标是设计一个简单易用、功能完善的职工管理系统,可以实现以下功能:职工信息录入、职工信息查询、职工信息修改和职工信息删除。
3. 系统设计我们将使用C语言来实现职工管理系统。
系统设计主要包括以下几个方面的功能模块:3.1 菜单功能模块在这个模块中,我们将设计一个菜单来显示系统的功能选项。
用户可以通过输入相应的选项来进入不同的功能模块。
3.2 职工信息录入功能模块在这个模块中,用户可以输入职工的信息,包括职工编号、职工姓名、职工性别、职工年龄等。
系统将会将这些信息保存到一个文件中以后的查询和修改操作。
3.3 职工信息查询功能模块在这个模块中,用户可以输入职工的编号或者姓名来查询职工的信息。
系统将会根据用户输入的信息在文件中查找相应的职工信息并显示出来。
3.4 职工信息修改功能模块在这个模块中,用户可以输入职工的编号来修改职工的信息。
用户需要输入修改后的信息,并将更新后的信息保存到文件中。
3.5 职工信息删除功能模块在这个模块中,用户可以输入职工的编号来删除职工的信息。
系统将会在文件中查找相应的职工信息并删除。
4. 系统实现系统实现主要有以下几个步骤:4.1 设计程序结构首先,我们需要设计系统的程序结构。
我们将使用函数来实现不同功能模块,通过调用不同的函数来实现系统不同的功能。
4.2 实现菜单功能模块我们将使用printf函数来输出菜单,并使用scanf函数来获取用户的输入。
根据用户的输入,我们将使用switch语句来进入相应的功能模块。
目录一、课程设计目的 (3)二、设计题目分析 (3)2.1题目简介 (3)2.2设计要求 (3)三、课程设计内容 (3)3.1总体设计 (3)3.2详细设计 (4)3.3调试与测试 (12)四、设计心得与总结: (13)五、附录(完整源程序清单) (14)一、课程设计目的通过亲自设计程序,可以令我们熟悉c语言操作,更熟练的掌握c语句。
初步体会编程的过程,为将来的程序深入学习打下基础和培养兴趣。
二、设计题目分析2.1 题目简介可以向文件中写入、删除、添加职工信息,也可以从文件中导出来浏览2.2 设计要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计职工信息管理系统,使之能提供以下功能:系统以菜单方式工作。
职工信息录入功能(职工信息用文件保存)--输入职工信息浏览功能--输出查询和排序功能:(至少一种查询方式) --算法按职工号查询按学历查询等职工信息删除、添加功能三、课程设计内容3.2 详细设计:1、主函数:main()显示系统工作菜单,罗列该系统所有功能。
先声明所有将会调用到的函数名。
再运用选择函数switch即可根据使用者所输入的功能代号进入对应的功能程序。
亮点:定义一个全局指针变量*p和全局变量a。
其中a表示当前系统中职工人数,p指向a的地址,追踪人数变化,这样在添加或者删除导致人数变化后,浏览函数display()能够正确显示出当前人数的职工信息。
宏定义define N指定首次输入的职工人数,可根据不同需要随时更改。
3、保存函数:void save(int m)定义文件指针fp,用fopen"只写"打开指定在D盘的“d://bbb.txt”文本文件。
首先用if语句判断文件是否打开成功,若fopen返回值不为0,则可继续下面操作。
用for循环通过fprintf语句将结构数组em中的内容写入保存在D盘的文本文件里面。
形参m指需要写入文件的职工人数。
职工信息管理系统c语言职工信息管理系统C语言职工信息管理系统是一种用于管理企业职工信息的软件系统。
它可以帮助企业管理者更好地管理职工信息,包括职工的个人信息、工作信息、薪资信息等。
C语言是一种广泛应用于系统开发的编程语言,因此在开发职工信息管理系统时,C语言是一种非常适合的编程语言。
职工信息管理系统的开发需要考虑以下几个方面:1. 界面设计职工信息管理系统需要有一个良好的界面设计,使得用户可以方便地使用系统。
界面设计需要考虑到用户的使用习惯和操作习惯,使得用户可以快速地完成各种操作。
2. 数据库设计职工信息管理系统需要有一个数据库来存储职工信息。
数据库设计需要考虑到数据的完整性和安全性,以及数据的查询和统计功能。
3. 功能设计职工信息管理系统需要具备一些基本的功能,如添加、删除、修改、查询职工信息等。
此外,还需要具备一些高级功能,如薪资计算、考勤管理等。
4. 安全性设计职工信息管理系统需要具备一定的安全性,以防止数据泄露和非法操作。
安全性设计需要考虑到用户权限管理、数据备份和恢复等方面。
在使用C语言开发职工信息管理系统时,需要注意以下几个方面:1. 代码规范C语言是一种底层语言,代码的规范性对于系统的稳定性和可维护性非常重要。
因此,在开发过程中需要遵循一定的代码规范,如变量命名规范、代码缩进规范等。
2. 内存管理C语言需要手动管理内存,因此在开发过程中需要注意内存的分配和释放,以防止内存泄露和内存溢出等问题。
3. 错误处理C语言开发过程中可能会出现各种错误,如语法错误、运行时错误等。
因此,在开发过程中需要注意错误的处理,以保证系统的稳定性和可靠性。
总之,职工信息管理系统是一种非常实用的软件系统,可以帮助企业管理者更好地管理职工信息。
C语言是一种非常适合开发职工信息管理系统的编程语言,但在开发过程中需要注意代码规范、内存管理和错误处理等方面。
c语言课程设计职工管理系统一、教学目标本课程的教学目标是使学生掌握C语言编程的基本技能,能够运用C语言设计职工管理系统。
具体目标如下:1.知识目标:学生需掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
2.技能目标:学生能够熟练使用C语言进行编程,具备解决实际问题的能力,如设计简单的职工管理系统。
3.情感态度价值观目标:培养学生对计算机编程的兴趣,提高学生自主学习、合作探究的能力,培养学生的创新精神和实践能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等。
具体安排如下:1.第一章:C语言概述,介绍C语言的发展历程、特点及基本语法。
2.第二章:数据类型和运算符,学习整型、浮点型、字符型数据以及各类运算符的使用。
3.第三章:控制结构,学习顺序结构、分支结构、循环结构等。
4.第四章:函数,学习函数的定义、声明、调用以及函数指针等。
5.第五章:数组和字符串,学习一维、多维数组的操作以及字符串的基本操作。
6.第六章:指针,学习指针的概念、运算以及指针在函数中的应用。
7.第七章:结构体和联合体,学习结构体、联合体的定义和使用。
8.第八章:文件操作,学习文件的基本操作,如打开、读写、关闭等。
9.第九章:职工管理系统的设计与实现,运用所学知识设计一个简单的职工管理系统。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解C语言的基本概念、语法和编程技巧,使学生掌握知识要点。
2.案例分析法:通过分析实际案例,使学生学会将所学知识应用于解决实际问题。
3.实验法:安排实验课,让学生亲自动手编写程序,巩固所学知识,提高编程能力。
四、教学资源1.教材:《C程序设计语言》(K&R)或《C语言 Primer》(第五版)。
2.参考书:《C语言编程思想》、《C语言深度探索》等。
3.多媒体资料:教学PPT、视频教程等。
c语言课程设计职工管理系统一、课程目标知识目标:1. 掌握C语言基础语法,包括变量声明、数据类型、运算符、控制语句等;2. 学会使用数组、结构体等数据结构,并能应用于实际问题;3. 理解函数的定义与调用,掌握模块化编程思想;4. 了解文件操作的基本方法,实现对数据的存储与读取。
技能目标:1. 能够运用C语言编写简单的职工管理系统,实现职工信息的增加、删除、修改和查询功能;2. 培养学生的逻辑思维能力,使其能够分析问题、设计算法并编写程序解决问题;3. 提高学生的编程实践能力,熟练使用C语言开发工具进行程序设计与调试。
情感态度价值观目标:1. 培养学生对待编程的兴趣和热情,激发他们主动探索新技术、新方法的积极性;2. 培养学生的团队合作精神,学会与他人共同分析问题、解决问题;3. 增强学生的自信心,使他们相信自己具备解决实际问题的能力;4. 培养学生的责任心,让他们明白编程在现实生活中的应用价值,为我国软件产业发展贡献自己的力量。
课程性质:本课程为C语言程序设计课程的实践环节,旨在通过实际项目开发,让学生将所学理论知识与实际应用相结合。
学生特点:学生已具备一定的C语言基础,具有一定的编程能力,但实践经验不足,需要通过课程设计提高自己的实际操作能力。
教学要求:注重理论与实践相结合,以项目为导向,引导学生主动探索、积极实践,培养其编程能力和解决问题的能力。
在教学过程中,将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. C语言基础知识复习:变量、数据类型、运算符、控制语句(包括分支和循环)、函数定义与调用;相关教材章节:第一章至第四章。
2. 数据结构应用:数组、结构体;相关教材章节:第五章、第六章。
3. 模块化编程:函数封装、模块间通信;相关教材章节:第七章。
4. 文件操作:文件打开、读写、关闭;相关教材章节:第八章。
5. 职工管理系统功能实现:a. 职工信息增加、删除、修改和查询;b. 系统界面设计与交互;c. 数据存储与读取。
c语言课程设计职工信息管理系统一、教学目标本课程的教学目标是使学生掌握C语言职工信息管理系统的基本概念、设计和实现方法。
通过本课程的学习,学生应能理解职工信息管理系统的需求分析、系统设计、编码实现和测试评估等环节,掌握C语言编程的基本技能,并培养解决实际问题的能力。
具体来说,知识目标包括:掌握职工信息管理系统的功能模块及其相互关系;理解C语言的数据类型、运算符、控制结构、函数等基本语法;了解软件工程的基本原理和方法。
技能目标包括:能够使用C语言独立完成职工信息管理系统的设计和实现;具备基本的调试和优化代码的能力;能够进行团队合作,合理分工,共同完成项目。
情感态度价值观目标包括:培养学生对计算机科学的兴趣和热情,提高他们对编程学习的自信心;培养学生具备良好的编程习惯和团队协作精神,增强他们的责任感和使命感。
二、教学内容本课程的教学内容主要包括以下几个部分:1.职工信息管理系统的基本概念和架构:介绍职工信息管理系统的功能模块,如职工信息录入、查询、修改和删除等,以及各模块之间的关系。
2.C语言基础知识:讲解C语言的数据类型、运算符、控制结构、函数等基本语法。
3.软件工程方法:介绍需求分析、系统设计、编码实现、测试评估等软件工程基本原理和方法。
4.职工信息管理系统的实现:通过实际编码,讲解如何使用C语言实现职工信息管理系统的各个功能模块。
5.调试与优化:教授如何使用调试工具对代码进行调试,以及如何对代码进行优化,提高系统性能。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:讲解C语言的基本语法和职工信息管理系统的设计原理。
2.案例分析法:分析实际案例,使学生更好地理解职工信息管理系统的实现过程。
3.实验法:安排实验课程,让学生亲自动手编写代码,实现职工信息管理系统。
4.小组讨论法:学生进行小组讨论,分享学习心得,互相答疑解惑。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《C语言程序设计》等。
目录一、课程设计目的 (3)二、设计题目分析 (3)2.1题目简介 (3)2.2设计要求 (3)三、课程设计内容 (3)3.1总体设计 (3)3.2详细设计 (4)3.3调试与测试 (12)四、设计心得与总结: (13)五、附录(完整源程序清单) (14)一、课程设计目的通过亲自设计程序,可以令我们熟悉c语言操作,更熟练的掌握c语句。
初步体会编程的过程,为将来的程序深入学习打下基础和培养兴趣。
二、设计题目分析2.1 题目简介可以向文件中写入、删除、添加职工信息,也可以从文件中导出来浏览2.2 设计要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计职工信息管理系统,使之能提供以下功能:系统以菜单方式工作。
职工信息录入功能(职工信息用文件保存)--输入职工信息浏览功能--输出查询和排序功能:(至少一种查询方式) --算法按职工号查询按学历查询等职工信息删除、添加功能三、课程设计内容3.2 详细设计:1、主函数:main()显示系统工作菜单,罗列该系统所有功能。
先声明所有将会调用到的函数名。
再运用选择函数switch即可根据使用者所输入的功能代号进入对应的功能程序。
亮点:定义一个全局指针变量*p和全局变量a。
其中a表示当前系统中职工人数,p指向a的地址,追踪人数变化,这样在添加或者删除导致人数变化后,浏览函数display()能够正确显示出当前人数的职工信息。
宏定义define N指定首次输入的职工人数,可根据不同需要随时更改。
3、保存函数:void save(int m)定义文件指针fp,用fopen"只写"打开指定在D盘的“d://bbb.txt”文本文件。
首先用if语句判断文件是否打开成功,若fopen返回值不为0,则可继续下面操作。
用for循环通过fprintf语句将结构数组em中的内容写入保存在D盘的文本文件里面。
形参m指需要写入文件的职工人数。
课程名称:程序设计语言课程设计设计题目:职工信息管理系统设计学院:应用技术学院专业:电子信息工程目录:摘要: (2)任务书: (2)总结与体会: (10)摘要:通过这次的短学期,在老师的辅导下,我完成了课程设计。
通过课程设计的完成对C和C++有更深的了解。
我做的课程设计题目是职工信息管理系统设计,我主要用到了结构体,结构体数组,指针,文件等等。
对函数的调用,和指针有了更深的理解。
但我做的这个课程设计,职工信息管理系统还存在不足,还希望老师的指点。
我的这个管理系统能处理的是对公司员工的信息存储,还有对职工的查找和排序,还有对职工的信息修改。
有不足的地方还请老师指点。
昆明理工大学课程设计任务书应用技术学院学院电子信息工程专业2009 级学生姓名(学号):袁瑞(200911513127)课程设计目的:通过设计一个较为简单的管理系统,进一步熟悉C++中类的概念、类的封装、继承的实现方式。
了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C++的理解与Visual C++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。
课程设计(论文)题目及具体内容:写程序题目:职工信息管理系统设计设计说明与要求:职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)职工信息录入功能(职工信息用文件保存)(3)职工信息浏览功能(4)查询和排序功能:按工资查询、按学历查询(5)职工信息删除、修改功能(4)各函数调用关系(流程图):(6)编码及调试:(注:此系统由三个人设计,本人只设计了其中的两个功能)功能二. 修改员工信息模块:此功能代码如下:modify() /*修改员工信息*/{struct people p;FILE *fp;int i,n,k,w0=1,w1,w2=0;n=load();do{k=-1;printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)){printf("\n\n请记住要修改的员工号.任意键继续...\n");getch();puts("\n\n");}printf_one(i);}do{printf("\n\n请输入要修改信息的员工号! 员工号:");scanf("%s",p.num);for(i=0;i<n;i++)if(strcmp(p.num,people[i].num)==0){k=i;p=people[i];}if(k==-1)printf("\n\n不存在,请重试");}while(k==-1);printf_face();printf_one(k);w1=modify_data(k,n);if(w1==1){printf("\n操作成功^_^.\n\n继续修改吗?\n\n\t 1).是2).保存并返回\t[ ]\b\b"); scanf("%d",&w0);w2=1;}else{w0=0;if(w2==1)people[k]=p;}if(w0!=1&&w2==1)save(n);}while(w0==1);system("cls");menu();}调试截图:功能三. 员工信息查询模块:此功能代码如下:search() /*查找功能*/ {int i,n,k,w1=1,w2,w3,w4,m,a;struct people p;n=load();{printf("\n\n以哪种方式查找? \n\t1).学历2).员工号[ ]\b\b"); scanf("%d",&m);switch(m){case 1:do{ k=-1;printf("\n\n请输入学历! 学历:");scanf("%s",p.xueli);printf_face();for(i=0;i<n;i++)if(strcmp(p.xueli,people[i].xueli)==0){ k=i;printf_one(k);break;}if(k==-1){ printf("\n\n没有该学历的员工");printf("\n\n重新查找吗?\n\t1).是2).否,返回[ ]\b\b"); scanf("%d",&w1);if(w1==2)printf_back();}}while(k==-1&&w1==1);break;case 2:do{k=-1;printf("\n\n输入您要查询的员工号! 员工号:");scanf("%s",p.num);printf_face();for(i=0;i<n;i++)if(strcmp(p.num,people[i].num)==0){k=i;printf_one(k);break;}if(k==-1){printf("\n\n该员工号不存在");printf("\n\n是否重新选择?\n\t1).是2).否,离开[ ]\b\b"); scanf("%d",&w1);if(w1==2)printf_back();}while(k==-1&&w1==1);break;}w4=0;w3=0;if(k!=-1){printf("\n\n请选择操作\n\t 1).继续查找2).修改3).删除4).返回菜单[ ]\b\b"); scanf("%d",&w2);switch(w2){case 2:w3=modify_data(k,n);break;case 3:{printf("\n确定吗?\n\t 1).确定2).返回[ ]\b\b");scanf("%d",&w4);if(w4==1)for(a=k;a<n;a++){strcpy(people[a].num,people[a+1].num);strcpy(people[a].name,people[a+1].name);strcpy(people[a].sex,people[a+1].sex);strcpy(people[a].age,people[a+1].age); /*删除所选员工信息*/ strcpy(people[a].xueli,people[a+1].xueli);strcpy(people[a].gongzi,people[a+1].gongzi);strcpy(people[a].address,people[a+1].address);strcpy(people[a].telephone,people[a+1].telephone);}break;}}if(w3==1||w4==1){save(n);printf("\n\n操作成功.^_^.");printf("\n\n请选择操作\n\t 1).继续查找2).返回[ ]\b\b" );scanf("%d",&w2);}}}while(w2==1);system("cls");menu();}此功能截图:员工信息是用用文本文件存储的,资料分别存储在这些文本文件中,具体如下:总结与体会:通过本次的课程设计,对C和C++又更一步的了解,了解了C上的结构体,并对结构体有了熟练的掌握,并且熟悉了指针,通过指针可以使程序很好的实现,结构体类型是一个很好的类型,在现实生活中,应用结构体可以使问题很好的解决。
c语言课程设计职工信息管理系统一、教学目标本节课的教学目标是使学生掌握C语言编程的基本技能,能够使用C语言设计一个简单的职工信息管理系统。
具体目标如下:1.知识目标:使学生掌握C语言的基本语法、数据类型、运算符、控制结构等基本知识。
2.技能目标:使学生能够使用C语言编写程序,实现对职工信息的增删改查功能。
3.情感态度价值观目标:培养学生对计算机编程的兴趣,使学生认识到计算机编程在实际生活中的重要性。
二、教学内容本节课的教学内容主要包括以下几个部分:1.C语言基本语法和数据类型。
2.运算符和控制结构。
3.职工信息管理系统的设计与实现。
4.程序调试和优化。
三、教学方法为了达到本节课的教学目标,我们将采用以下教学方法:1.讲授法:讲解C语言的基本语法、数据类型、运算符和控制结构。
2.案例分析法:通过分析职工信息管理系统的案例,使学生掌握系统设计的方法。
3.实验法:让学生动手编写程序,实现职工信息的管理。
4.讨论法:分组讨论,引导学生思考如何优化程序。
四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C语言程序设计》。
2.参考书:《C语言编程实践》。
3.多媒体资料:讲解C语言语法和程序设计的视频教程。
4.实验设备:计算机、编程环境。
5.在线编程平台:用于学生在线编写和调试程序。
五、教学评估本节课的教学评估将采取多元化评价方式,全面公正地评价学生的学习成果。
评估方式包括:1.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和积极性。
2.作业:布置相关的编程作业,评估学生的编程能力和对知识的掌握程度。
3.考试:安排一次课程结束考试,测试学生对C语言和职工信息管理系统设计的全面理解。
4.项目展示:学生分组设计并展示自己的职工信息管理系统,评估学生的实际操作能力和团队协作能力。
评估标准将根据课程目标和教学内容制定,确保评估的客观性和公正性。
六、教学安排本节课的教学安排将根据课程目标和学生的实际情况进行设计,确保在有限的时间内达到最佳教学效果。
职工信息管理系统目录1.总体设计方案 (6)2.使用说明及运行实例 (8)3.项目源程序代码 (15)4.课程设计心得 (28)一、题目:职工信息管理系统二、目的和要求目的:要求熟练掌握C语言的基本知识和编辑技能;基本掌握结构化程序设计的基本思路和方法。
要求:设计一个职工信息管理系统,使之能提供以下功能:1、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!2、输入功能:职工信息录入(职工信息用文件保存),可以一次完成若干条记录的输入。
3、浏览功能:完成对全部职工信息的显示。
4、查找功能:①完成按职工的职工号查询职工的相关信息,并显示。
②完成按职工的学历查询职工的相关信息,并显示。
③完成按职工的电话号码查询职工的相关信息,并显示。
5、删除功能:通过输入职工的姓名完成对该名职工的信息进行删除。
6、添加功能:完成添加新职工的信息的任务。
7、修改功能:通过输入职工的姓名完成对该名职工的信息进行修改。
8、退出职工信息管理系统。
三、信息描述职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等。
四、解决方案1、首先进行需求分析,搞清楚系统功能和任务;2、然后在总体设计中确定模块结构、划分功能模块,将软件功能需求分配给所划分的最单元模块。
确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略;3、在详细设计中,为每个模块确定采用的算法,选择适当的工具表达算法的过程来描述模块的详细过程。
确定每一模块采用的数据结构和模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口;4、根据分析编写C语言代码。
五、进度安排课程设计时间为一周:第一天做的比较散漫,没做什么东西。
只是简单设计了一下系统的全局变量。
分析设计阶段编码调试阶段根据设计分析方案编写C语言代码,然后调试该代码,实现课题要求的功能。
总结报告阶段。
总结设计工作,写出课程设计说明书,包括需求分析、总体设计、详细设计、编码、测试的步骤和内容。
《C语言程序》课程设计报告设计题目:职工管理系统专业:信息工程班级:学生姓名:学号:指导教师:2012年6月信息工程学院摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。
管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。
对企业而言,人力资源是企业最宝贵的资源。
随着当今企业人员数量的不断增加,对职工的管理要求也不断提高。
实现职工管理现代化将带来高效的企业管理。
这个职工管理系统就是用c语言写的一个程序,它实现了职工管理的功能,包括数据录入,工资计算,查询统计修改数据的功能。
该程序是用简单的,比较常见的函数组成的,通过for循环和goto函数调用来完成该程序。
,本系统具有良好的用户界面,操作简单?使用方便,信息查询?统计速度快等特点,使工资管理人员从日常繁琐的手工操作中解脱出来。
这一切旨在学历并练习c语言的开发实践,对于以后的开发与编程提供一个良好的基础关键字:职工管理工资查询应用程序数据修改程序设计和技巧新型科学目录摘要................................ 错误!未定义书签。
第一章绪论 .......................... 错误!未定义书签。
选题背景 ............................. 错误!未定义书签。
设计目的 ............................. 错误!未定义书签。
第二章系统分析 ...................... 错误!未定义书签。
功能需求 ............................ 错误!未定义书签。
模块的划分与定义.................... 错误!未定义书签。
第三章总体设计与详细设计 ............ 错误!未定义书签。
总体设计 ............................ 错误!未定义书签。
详细设计 ............................ 错误!未定义书签。
第四章编码实现 ...................... 错误!未定义书签。
第五章测试与调试 ................... 错误!未定义书签。
第六章心得与体会 ................... 错误!未定义书签。
附录.................................. 错误!未定义书签。
源代码 ............................... 错误!未定义书签。
参考文献: ........................... 错误!未定义书签。
第一章绪论选题背景随着社会的发展及知识经济时代的到来,管理信息系统在各行各业发挥着越来越重要的作用。
在各企业公司职工工资管理中,运用C语言程序,避免了手工操作而带来的一些不必要的问题。
设计目的通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了C语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以后在工作中团队合作的重要性和必要性!通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。
为后续各门计算机课程的学习和毕业设计打下坚实基础。
第二章系统分析功能需求职工管理系统的功能:1、职工数据录入2、工资计算3、查询统计4、查看所有记录5、修改数据此项目主要考察我们对for循环,以及函数调用等C语言算法的掌握。
如何调试程序也非常重要,通过这个程序可学到以前调试程序没有的经验。
菜单中的每一个选项都对应一个子程序。
模块的划分与定义系统各模块(函数)的组成。
功能、参数说明、相互调用关系主函数 main()。
利用goto实现各函数的调用,此程序主要应用的是for循环语句,及函数的调用。
1)输入记录函数void shuju()这是一个无参函数,用来职工数据录入2)计算工资函数void jisuan()这是一个有参函数,用来职工工资计算如:工资=基本工资+奖金-扣款3)查询统计函数void chaxun()这是一个不返回值的有参函数,用来职工的查询统计如按性别、年龄、工资等统计4)修改数据函数void xiugai()这是一个不返回值的有参函数,有权限的修改职工数据第三章总体设计与详细设计总体设计采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。
需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。
可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。
系统结构框图如下:详细设计本职工管理系统由如下模块组成:1、主模块功能:显示系统菜单2、数据录入功能:记录职工姓名、性别、工号、奖金、扣款等。
3、工资计算功能:工资=基本工资+奖金-扣款。
4、查询统计、功能:按性别、年龄、工资统计。
5、查看所有记录功能:清晰的了解员工信息6、数据修改功能:有限制的修改员工信息,有效的保护了职工信息。
7、退出功能:退出该系统。
第四章编码实现1、系统各模块(函数)的组成。
功能、参数说明、相互调用关系#include""#include""1)、main()主函数利用for循环以及goto来实现各函数的调用,系统根据输入的数字选项来调用相应的函数。
2)输入记录函数void shuju()这是一个无参函数,用来职工数据录入2)计算工资函数void jisuan()这是一个有参函数,用来职工工资计算如:工资=基本工资+奖金-扣款3)查询统计函数void chaxun()这是一个不返回值的有参函数,用来职工的查询统计如按性别、年龄、工资等统计4)修改数据函数void xiugai()这是一个不返回值的有参函数,有权限的修改职工数据各功能模块的算法处理相关说明1、主函数 main()2、输入记录函数void shuju()3、计算工资函数void jisuan()4、查询统计函数void chaxun()5、修改数据函数void xiugai()1、数据录入当执行此数据录入任务时,系统会提示用户,即按姓名、工号、性别、年龄、扣款数额、等录入数据void shuju() /*数据录入*/{int i,j;char kk;for(i=0;i<10;i++){printf("\n%s record:",xingming[i]); printf("\n\n");printf("the number of worker");scanf("%i",&ygh[i]);printf("sex (male(M)/female(F))"); scanf("%s",&xingbie[i][0]);printf("age");scanf("%i",&nianlin[i]);printf("kou kuan shu er");scanf("%i",&koukuan[i]);printf("jiang jin");scanf("%i",&jiangjin[i]);printf("\n\n");ks:printf("shi fou ji xu shu ru(Y/N)");kk=getch();if((kk=='Y')||(kk=='y')){continue;}else if((kk=='N')||(kk=='n')){printf("n\n\n\n\n\n\n\n\n\n\t\t\t\tenter finish!\n"); printf("an ren yi jian return the main cai dan !"); getch();break;}else{printf(" enter wrong , please enter again!");getch();system("cls");goto ks;}}system("cls");}2 、工资计算在计算操作中,系统会按要求计算工资,工资=基本工资+奖金-扣款。
void jisuan() /*工资计算*/{system("cls");printf("\t\t\t");for(i=1;i<15;i++)printf("**");printf("\n");printf("\t\t\t*\t\t\t *\n");printf("\t\t\t*\t gong zi biao\t *\n");printf("\t\t\t*\t \t *\n");printf("\t\t\t");for(i=1;i<15;i++)printf("**");printf("\n\n\t\t\tname\t\t\tgong zi \n");printf("\t\t\t");for(i=1;i<15;i++)printf("**");printf("\n");for(i=0;i<10;i++){sum[i]=jb+jiangjin[i]-koukuan[i];printf("\t\t\t%s\t\t\t%i\n",*(xingming+i),sum[i]); }printf("an ren yi jian fan hui zhu cai dan");y1=getchar();if(y1!=' ')y1=getchar();return;}3、查询统计在查询统计操作中,系统按性别、工资、年龄进行统计 void chaxun() /*查询统计*/{char y,y2,y3,y4,yy5=0;tt:system("cls");printf(" xing bie tong ji\n");printf(" gong zi shu er tong ji\n");printf(" nian ling tong ji\n");printf(" the main cai dan\n");printf("qiang shu ru xuan ze1---4\");y=getchar();if(y=='1'){oo1: system("cls");printf("\\\n");printf("please select");y2=getchar();if(y2=='1'){for(k=0,i=0;i<10;i++){if((xingbie[i][0]=='m')||(xingbie[i][0]=='M')) k++;}printf("male worker%iren\n",k);printf("an ren yi jian return/");y2=getch();goto oo1;}else if(y2=='2'){for(k=0,i=0;i<10;i++){if(xingbie[0][i]=='f'||xingbie[i][0]=='F') k=k+1;}printf("female worker%iren\n",k);printf("an ren yi jian to return");y2=getch();goto oo1;}else if(y2=='3'){system("cls");goto tt;}else{system("cls");goto oo1;}}else if(y=='2'){oo2: system("cls");printf(" zi zai 1400yuan yi shang\ zi zai 1400yuan ni xia\\n"); printf("please enter select1--3/");y3=getchar();if(y3=='1'){for(k=0,i=0;i<10;i++){if((jb+jiangjin[i]-koukuan[i])>=1400)k=k+1;}printf("gong zi zai 1400yuan yi shang de you %i ren\n",k); printf("an ren yi jian continue/");y3=getchar();if(y3!=' '){y3=getchar();goto oo2;}}else if(y3=='2'){for(k=0,i=0;i<10;i++){if((jb+jiangjin[i]-koukuan[i])<=1400)k++;}printf("gong zi zai 1400yuan yi xie de zhi gong you %iren\n",k);printf("an ren yi jian to return");y3=getchar();if(y3!=' '){y3=getchar();goto oo2;}}else if(y3=='3'){system("cls");goto tt;}else{system("cls");goto oo2;}}else if(y=='3'){oo3: system("cls");printf(" zai 30yi shang\ zai 30 yi xia \\n"); printf("please shu ru select\");y3=getchar();if(y3=='1'){for(k=0,i=0;i<10;i++){if(nianlin[i]>=30)k=k+1;if(nianlin[i]==0)yy5=yy5+1;}if(yy5==10)printf("shu ju shang wei lu ru ,qing lu ru shu ju!\n"); elseprintf("age zai 30 yi shang de yuan gong %iren\n",k); printf("an ren yi jian to continue ");y4=getchar();{y4=getchar();goto oo3;}}else if(y3=='2'){k=0;yy5=0;for(i=0;i<10;i++){if(nianlin[i]<=30&&nianlin[i]!=0) k=k+1;if(nianlin[i]==0)yy5=yy5+1;}printf("shu ju shang wei shu ru,please shu ru shu ju!\n"); else if(yy5<10)printf("age zai 30yi xia de zhi gong%iren\n",k);printf("an ren yi jian to continue");y4=getchar();if(y4!=' '){y4=getchar();goto oo3;}}else if(y3=='3'){system("cls");goto tt;}else{goto oo3; }}else if(y=='4') return;elsegoto tt;}void shuchu(){int i;system("cls");printf("yuan gong hao name sex age zhe cou shu er jiang ji shu er\n");for(i=0;i<10;i++){printf(" %i %s ",ygh[i],xingming[i]);if((xingbie[i][0]=='m')||(xingbie[i][0]=='M'))printf("male");else if((xingbie[i][0]=='f')||(xingbie[i][0]=='f'))printf("female");elseprintf("no");printf(" %i %i %i \n",nianlin[i],koukuan[i],jiangjin[i]);}printf("an ren yi jian fan hui zhu cai dan!");getch();system("cls");return;}4、修改数据在修改数据操作中,系统会提示3次修改,更好的保护了职工信息void xiugai() /*修改*/{int xg;int xygh,xxingbie,xnianlin,xkoukuan,xjiangjin;char y5;int sss=0,css=0,uss=3;char xxx[1][5]={'1','2','3','4','5'};char yyyy[1][5],kkk;aaa:system("cls");printf("\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t shu ru ci shu wei three times!");printf("\n\t\t\t shu ru wan an ren yi jian jie su!"); printf("\n\t\t\t\t please enter the password:");for(sss=0;sss<5;sss++){yyyy[0][sss]=getch();if((yyyy[0][sss]>='0')&&(yyyy[0][sss]<='9')){printf("*");}elsegoto bbb;}kk=getch();bbb:for(sss=0;sss<5;sss++){if(xxx[0][sss]!=yyyy[0][sss]){css++;if(css>=3){printf("\n\n\n\t\t\t Sorry!!! You can’t modify the data!");getch();system("cls");return;}printf("\n\n\n\t\t\t the password is wrong please try again!");printf("\n\t\t\t you have%ici chance!",--uss);getch();system("cls");goto aaa;}}qq1:system("cls");printf("shu ru yao xiu gai de ji lu hao{shu ju lu ru shun xu}1---10/");scanf("%i",&xg);xg=xg-1;printf("name:%s\n",xingming[xg]);printf("\t yuan ji lu\t\txin ji lu\n");printf("yuang gong hao\t %i\t\t\t",ygh[xg]); scanf("%i",&xygh);ygh[xg]=xygh;printf("sex\t %s\t\t\t",xingbie[xg]);scanf("%s",&xxingbie);xingbie[xg][0]=xxingbie;printf("age\t %i\t\t\t",nianlin[xg]);scanf("%i",&xnianlin);nianlin[xg]=xnianlin;printf("discount\t %i\t\t\t",koukuan[xg]); scanf("%i",&xkoukuan);koukuan[xg]=xkoukuan;printf("jiang jin\t %i\t\t\t",jiangjin[xg]); scanf("%i",&xjiangjin);jiangjin[xg]=xjiangjin;qq2:printf("continue to modifyY/N"); y5=getch();if(y5=='Y'||y5=='y'){goto qq1;}else if(y5=='N'||y5=='n'){system("cls");return;}else{system("cls");goto qq2;}第五章测试与调试1、开始页面如图5-1所示图5-12、主模版页面如图5-2所示图5-2 3、数据录入页面如图5-3所示图5-3 4、工资计算页面如图5-4所示图5-4 5、查询统计页面如图5-5所示图5-5 6、查看所有记录页面如图5-6所示图5-6 7、修改数据页面如图5-7所示图5-7第六章心得与体会通过本次论文设计,我初步学会了论文设计的基本方法,学会了如何去查找资料和处理这些资料的能力,由于所学的知识不多,自己的编程经验不足,仍存在一些错误,按现有的知识水平有些东西暂时还无法解决,还有待于在以后的学习中不断提高和改进!本课题中的许多知识点都没有学过都要靠自己到课外的资料中去查找。