




免费预览已结束,剩余20页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
吉林工程技术师范学院c语言程序课程设计报告书设计题目: 职工工资管理程序 专 业: 电子信息工程 班 级: d0843班 学生姓名: 学 号: 15号 指导教师: 2009年11月信息工程学院ii目 录摘 要 第一章 绪 论1第二章 问题定义(或系统分析) 2第三章 总体设计与详细设计 4第四章 编码实现 9第五章 调试与测试 10第六章 总结与心得 14附录:1源代码162参考资料22摘 要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。因此本人结合要求,对sql server数据库、sql语言原理、visual b应用程序设计,数据库技术进行了较深入的学习和应用,主要完成对客户信息管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的客户信息管理系统可以满足需要。经过一学期的c语言的学习,使我了解高级程序设计的结构,掌握了基本的程序设计和技巧,掌握了基本的分析和对利用计算机求解问题的能力,具备了初步的高级语言程序设计能力本人完成了本学期的c语言的课程设计职工工资管理程序。【关键字】职工工资管理程序,程序设计和技巧,基本分析。i第一章 绪论1.1选题背景随着社会的发展及知识经济时代的到来,管理信息系统在各行各业发挥着越来越重要的作用。在各企业公司职工工资管理中,运用c语言程序,避免了手工操作而带来的一些不必要的问题。1.2系统目标 本系统的目标是将各企业公司职工工资的管理工作实现计算机管理,从而大幅度提高工作效率,提高实施管理的准确性、科学性;使担负管理的工作人员从繁杂的手工劳作中解脱出来,更好地实施针对职工工资管理在手工操作中遇到的问题。1.3系统目的 通过本项课程设计,可以培养独立思考、 综合运用所学有关相应知识的能力,能更好的巩固c语言程序设计课程学习的内容,掌握 工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了c语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以后在工作中团队合作的重要性和必要性! 通过c语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。第二章 问题定义(或系统分析)题目分析 一、目的要求 本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成管理系统设计,以及c语言算法的掌握,并能最终实现本系统的功能要求,通过这个程序可以学习到以前调试短程序没有的经验。二、功能要求【题目描述】菜单为:1工资录入 (录入一个职工工资的信息) 2工资修改 (输入一个职工姓名,修改要改的内容)3工资删除 (从程序中按输入的姓名删除该职工)4工资查询 (输入一个职工姓名,输出其工资数值)5输出所有成员 (输出所有成员工资情况)6保存并退出 (保存修改查询后的工资情况并退出)【题目要求】 (1)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。 (2)要求以上功能分别用函数实现。并要求用c语言的文件操作语句将以上所有结果保存在文件xx.out。【输入/输出要求】 (1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每个操作后,根据程序的提示输入相应的信息。 (2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。菜单中的每一个选项都对应一个子程序,子程序的算法几乎囊获了所有c语言学过的技巧。目前社会管理系统发展飞快,职工工资管理信息系统也是有了很大的发展。本系统完全独立开发,力求使系统功能简明,但功能全易操作。它适应了时代发展,适应了我国各公司企业人事管理的需要;从技术角度分析,这项开发工作所涉及的专业技术如下:操作系统采用windows 2000以上的版本;在数据管理系统上,我们可采用了microsoft office access,开发工具选用microsoft visual basic .net2003;从经济角度分析, 采用计算机管理不但可以提高工作效率,而且还可以节省人力、物力、财力,降低了人工处理产生的错误。第三章 总体设计与详细设计一、总体设计要求:本系统主要实现了简单职工工资管理的功能,具体包括:工资录入,工资修改,工资删除,工资查询,输出所有成员,保存并退出六个功能。分别使用了facedesign();addemployee();alteremployee();alterf(inti);deleteemployee();deletef(int local);searchemployee();printemployee();readfile();saveexit();几个函数)。应用时,先按输入自己要选择的操作的序号(.5.6.),然后按系统提示输入一些信息,如:选择1.,系统自动出现姓名,输入所要录入的人的姓名,按回车,系统又会自动出现工资,然后输入工资数目,按回车,再按提示按任意键继续选择其他功能。二、函数调用关系图例如: main searchemployee()saveexit()addemployee()deleteemployee()printemployee() facedesign()三、各函数功能说明对每个函数功能加以说明,说明该函数主要实现了什么内容。例如:1. main() 主函数2. int facedesign() 显示开始时的界面及选项3. int addemployee() 员工工资录入4. int alteremployee() 员工工资修改5. int alterf(int i) 找到要修改的工资并录入修改后的工资6. int deleteemployee(); 删除员工工资7. int deletef(int local); 找到要删除的员工的工资并删除8. int searchemployee(); 查询工资9. int printemployee(); 输出所有成员及其工资10. int readfile(); 打开文件进入主界面11. int saveexit(); 保存并退出四、算法描述对每个函数具体实现的内容加以说明。1. addemployee(): s1: flag=0s2: 输出*换行s3: 输出* 制作人:孙中梅 *换行s4: 输出* 指导老师:孙 超 *换行s5: 输出* 班级:d0843 *换行s6: 输出* 制作时间:2009年10月28日 *换行s7: 输出*换行s8: 输出*欢迎进入简单工资管理程序*换行s9: 输出1.工资录入换行s10:输出2.工资修改换行s11:输出3.工资删除换行s12:输出4.工资查询换行s13:输出5.输出所有成员换行s14:输出6.保存并退出换行s15:输出*换行s16:输出请选择:换行s17:输入一个flag值;返回flag值,结束本函数算法2. addemployee():s1: 输出“姓名”,length=0s2: 输入员工姓名s3: 输出“工资”s4: 输入员工工资,length+ s5: 系统暂停,返回1,结束本函数算法3. alteremployee():s1: 定义一个字符数组name30,一个整型is2: 输出“输入要修改员工的名字”s3: 输入员工的名字s4: i=0s5: 如果strcmp(,name)=0,调用函数alterf(i)s6: i=i+1s7: 如果ilength,返回s5,继续执行;否则,执行s8s8: 系统暂停,返回1,结束本函数算法4. alterf(int i):s1: 定义 float salarys2: 输出“其工资为:”s3: 输出“输入要修改的工资:”s4: 输入工资s5: employeei.salary=salarys6: 返回1,结束本函数算法5. deleteemployee():s1: 定义char name30; int i;s2: 输出“请输入要删除的人的名字:”s3: 输入员工姓名s4: i=0s5:如果strcmp(,name)=0,调用函数deletef(i)s6: 如果ilength,返回s5,继续执行,否则,执行s7s7: 系统暂停,返回1,结束本函数算法6. deletef(int local):s1: int is2: i=locals3: 执行strcpy(,employeei+1.name); employeei.salary=employeei+1.salary; s4: i=i+1s5: 如果ilength,返回s3,继续执行,否则,执行s6s6: length-s7: 输出“删除成功”s8: 返回1,本函数算法结束7. searchemployee():s1: 定义char name30;int i;s2: 输出请输入要查询的员工的名字:s3: 输入姓名s4: i=0s5: 如果strcmp(,name)=0,输出姓名及其对应工资s6: i=i+1s7: 如果ilength,返回s5,继续执行,否则,执行s8s8: 系统暂停,返回1,本函数算法结束8. printemployee():s1: i=0s2: 输出“姓名 工资”s3: 输出(,employeei.salary)s4: i=i+1s5: 如果ilength,返回s3,继续执行,否则,执行s6s6: 返回1,本函数算法结束9. readfile():s1: 定义int i=0;length=0; char a130,a230;float salary; s2: 以只读方式打开一个文件s3: 如果(fp1=fopen(c:student,r)=null,输出“cannot open this file否则执行s4s4: 如果!feof(fp1),fscanf(fp1,%st%sn,a1,a2)s5: fscanf(fin,%stt%fn,,&salary); employeei.salary=salary;s6: +i; +length;s7: 如果!feof(fp2),返回s4,继续执行,否则,执行s8s8: fclose(fp1);s9: 输出“读入信息成功.” s10: 返回1,结束本函数算法10. saveexit():s1: file *fout=fopen(c:student,w)s2: 定义int is3: fprintf(fout,姓名tt工资n)s4: i=0s5: fprintf(fout,%stt%fn,,employeei.salary)s6: i=i+1s7: 如果ilength,返回s5,继续执行,否则,执行s8s8: fclose(fout)s9: exit(0); s10: return 1,结束本函数算法11main(); s1: int i s2: readfile() s3: 当函数返回值为1时,i=facedesign() s4: 如果i=1,addemployee();system(cls);返回值为1,返回s3 s5: 如果i=2,alteremployee();system(cls);返回值为1时,返回s3 s6: 如果i=3,deleteemployee();system(cls);返回值为1时,返回s3 s7: 如果i=4,searchemployee();system(cls);返回值为1时,返回s3 s8: 如果i=5,printemployee();system(cls);返回值为1时,返回s3 s9: 如果i=6,saveexit() s10: 系统暂停,返回0,结束本函数算法第四章 编码实现通过以下程序实现编码:/*输入程序*/int searchemployee() char name30; int i; printf(请输入要查询的员工的名字:); scanf(%s,name); for(i=0;ilength;i+) if(strcmp(,name)=0) printf(%st%fn,,employeei.salary); system (pause); return 1;*工资查询*通过searchemployee()设计;searchemployee():s1: 定义char name30;int i;s2: 输出请输入要查询的员工的名字:s3: 输入姓名s4: i=0s5: 如果strcmp(,name)=0,输出姓名及其对应工资s6: i=i+1s7: 如果ilength,返回s5,继续执行,否则,执行s8s8: 系统暂停,返回1,本函数算法结束函数调用关系:main searchemployee()第五章 调试与测试 文件打开:1. 工资录入2.工资修改3.工资删除4.工资查询5.输出所有成员6.保存并退出运行的结果说明: 在visual c+ 6.0 在此环境下运行比较好,其界面十分友好并且能正常运行。第六章 总结与心得总结:在这个信息技术快速发展的时代,计算机的应用变得非常重要。通过一个星期的折腾,总算把课程设计给完成了,这是一个艰苦而又漫长的过程。看着劳动成果,很欣慰!刚开始的时候,可以说是没有头绪,于是去图书馆找点资料,可这一点小进展远远不够,这只是一个小小的开始。下一步是上网查,找到一些与我们题目有关的东西,比如函数等等。然后,按照编程的一般步骤,根据自己查到的一些资料,用画图以及循环将框架设计出来,慢慢啃着自己的程序,绞尽脑汁的想着一切解决问题的方法。 虽然对着电脑做程序,有点累有点热,可当看到劳动成果时,真是别有一番滋味!世上无难事,只怕有心人,的确如此。做完这个程序最大的收获是更加加深了对c语言知识的理解,也进一步了解了知识的重要性,另外平时扎实的基础也很关键,因为如果你平时学的就不怎么样,那么你面对这么一个比较有难度的程序就可能会望而却步,看他人的程序都是个难点更别说让你自己去设计了。做完这个程序,我的自信心一下子提高了,我也会写程序了。尽管对有些人来说,这种程序很简单,可是对我们这些初学者来说,已经很不容易了。同时,这次体验为以后学习计算机的我们增强了信心。享受劳动成果的滋味实在很美妙。 真的很感谢这次程序设计,这次设计程序让我受益良多,它使我更加深刻体会到做任何事情都要有耐心,不要一有困难就退缩,我会好好珍惜像这种难得的机会。心得:课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。回顾起此次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整两个星期的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,这毕竟独立做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!附 录1. 源代码#include #include #include #include #define max 100typedef struct char name30; float salary;employeetable;employeetable employeemax;static int length=0;int facedesign(); int addemployee(); int alteremployee(); int alterf(int i); int deleteemployee(); int deletef(int local);int searchemployee(); int printemployee(); int readfile();int saveexit();int facedesign() int flag=0; printf(*n); printf(* 制作人:孙中梅 *n); printf(* 指导老师:孙超 *n); printf(* 班级:d0843 *n); printf(* 制作时间:2009年10月28日 *n); printf(*n); getchar(); system(cls); printf(*欢迎进入简单工资管理程序*n); printf(1.工资录入n); printf(2.工资修改n); printf(3.工资删除n); printf(4.工资查询n); printf(5.输出所有成员n); printf(6.保存并退出n); printf(*由孙中梅制作*n); printf(请选择:); scanf(%d,&flag); return flag;int addemployee() printf(姓名:); scanf(%s,); printf(工资:); scanf(%f,&employeelength.salary); +length; system(pause); return 1; int alteremployee() char name30; int i; printf(输入要修改员工的名字:); scanf(%s,name); for(i=0;ilength;i+) if(strcmp(,name)=0) alterf(i); system(pause); return 1;int alterf(int i) float salary; printf(其工资为:%f,employeei.salary); printf(t输入要修改的工资:); scanf(%f,&salary); employeei.salary=salary; return 1;int deleteemployee() char name30; int i; printf(请输入要删除的人的名字:); scanf(%s,name); for(i=0;ilength;i+) if(strcmp(,name)=0) deletef(i); system(pause); return 1;int deletef(int local) int i; for(i=local;ilength;i+) strcpy(,employeei+1.name); employeei.salary=employeei+1.salary; length-; printf(删除成功n); return 1;int searchemployee() char name30; int i; printf(请输入要查询的员工的名字:); scanf(%s,name); for(i=0;ilength;i+) if(strcmp(,name)=0) printf(%st%fn,,employeei.salary); system (pause); return 1;int printemployee() int i=0; printf(姓名tt工资n); while(ilength) printf(%stt%fn,,employeei.salary); +i; getchar(); getchar(); return 1; int readfile() int i=0,length=0; char as20; float salary; file *fp1; printf(请输入路径:n); fflush(stdin); gets(a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智慧医疗健康管理方案
- 现代企业薪酬体系设计与优化方案
- 小学语文五年级下册单元导学案范例
- 四年级英语月考诊断性测试题
- 高温作业安全防护措施培训
- 教师资格证面试技巧指导
- 新能源汽车维修基础知识及操作手册
- 建筑工程合同管理指南与范本
- 医院临床护理质量提升项目
- 建筑企业组织架构与职责分工
- 消毒供应质量控制指标(2024年版)
- (完整)公共基础知识题库及答案
- TCCPEF 086-2024 生态环境数智化监测与预警技术规范
- 产品开发生产合同8篇
- 篮球场围网施工方案
- 盘柜安装施工方案
- 中医面瘫护理个案汇报
- 《水基路用聚合物稳定碎石基层技术规程》
- 快递柜租赁合同
- 产品研发流程管理指南
- 《车刀与切削原理》课件
评论
0/150
提交评论