*******************实践教学*******************理工大学2011年秋季学期计算机应用基础课程设计题目:职工信息管理系统专业班级:姓名:学号:指导教师:成绩:I前言当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理职工信息而设计的。企业作为一种信息资源的集散地,包含很多的信息数据的管理,现今,有很多的企业都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于职工信息的统计和查询等往往采用对信息的人工检查进行,对职工代号和职务,工资等用人工计算,手抄进行。数据信息处理工作量大,容易出错,由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管企业都有计算机,是尚未用于信息管理,有发挥它的效力,源闲置比较突出,就是管理信息系统的开发的基本环境。据处理手工操作工作量大,出错率高,出错后不易更改,企业采取手工方式对职工信息进行人工管理,由于信息比较多,信息的管理工作混乱而又复杂,一般信息是记录在文件上,企业的工作人员也只是当时对它比较清楚,时间长了,如再要进行查询,就得在众多的资料中翻阅,查找了,造成查询费时,费力,所以开发了职工信息管理系统。II摘要随着信息技术在管理上越来越深入而广泛的应用,信息管理系统的实施在技术上已逐步成熟。信息管理系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的信息管理系统。为了更好地适应我校的要求,进一步提供全方位的信息服务,职工信息管理系统在实施后应该能够达到以下的目标,能够准确地记录职工的相关信息。系统界面友好,操作简单易行,查询灵活方便,数据储存安全可靠,系统维护安全,方便,可靠,并且能够实现实用性,先进性的要求。III目录1.需求分析....................................................................................................................12.流程分析图................................................................................................................23.算法设计....................................................................................................................33.1登录模块.............................................................................................................33.2主菜单模块.........................................................................................................33.3浏览模块.............................................................................................................43.4查询模块.............................................................................................................43.5修改模块.............................................................................................................54.程序运行测试............................................................................................................64.1登录界面.............................................................................................................64.2主菜单界面.........................................................................................................64.3输入界面.............................................................................................................74.4浏览界面.............................................................................................................74.5查找界面.............................................................................................................84.6修改界面.............................................................................................................85.设计总结..................................................................................................................9参考文献......................................................................................................................10附录(程序源代码)..................................................................................................1111.需求分析根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作。在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现。另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。22.流程分析图主程序流程分析图如图1:图1职工信息管理系统界面登录信息录入信息浏览信息查询信息修改按工号查询按学历查询33.算法设计3.1登录模块该模块采用用户名和密码验证方式,分析图如图2:图23.2主菜单模块根据用户需要选择程序的功能,分析图如图3:图3开始提示输入用户名、密码密码正确重新登录?退出系统是否否是登录成功开始输入n,判断n是否是0到6根据n值调用各功能模块显示一系列的功能选择43.3浏览模块该模块的功能是浏览职工的全部信息,分析图如图4:图43.4查询模块该模块的功能是根据输入的职工按照工号和学历查找对应的记录,分析图如图5:图5按任意键显示下一屏按任意键返回主菜单显示职工记录(10个一屏)开始输入职工工号或者学历选择按工号还是学历查询是否找到职工记录?显示找到的记录显示没有找到询问用户是否继续查找?选择:1)查找另一个2)修改3)返回菜单结束53.5修改模块该模块提示用户输入要修改的职工的工号,根据工号查到职工的记录,并提示用户修改该记录的哪部分信息,根据用户做的选择修改相应信息。分析图如图6:图6开始显示所有记录,让用户选择需修改的职工输入需修改的工号i!=0?显示找到的记录,调用修改记录询问用户是否继续修改返回主菜单结束64.程序运行测试4.1登录界面登录界面如图7:图74.2主菜单界面主菜单界面如图8:图874.3输入界面输入界面如图9:图94.4浏览界面浏览界面如图10:图1084.5查找界面查找界面如图11:图114.6修改界面修改界面如图12:图1295.设计总结开始编写修改和删除时,基本上不知道怎么做,所以就去向其他人寻求帮助,在别人的帮助和提示下,我们编完了修改程序,但编译时老出错,修改后的内容将文本内的信息全部覆盖了。困难之时,我们组的其他人帮助了我,完成了修改和删除。这样的话,整个程序基本上全部完成了,就剩下完善工作了。我们组写了两个程序,最后,两个程序相互组合,互补,大功告成虽然设计时完成了,但是我觉得其中还是由一些不足之处:(1)警告句。程序中缺少一些警告句,例如:“是否真的删除(y/n)?”。(2)重名的情况。由于考虑的不周全,没有设计遇到重名的情况该怎么处理。(3)选择单一。我们设计的程序中,只设计了按名字选择,进行操作,忽略了重名的情况。整个程序完成了,还有很多不完善的地方,希望自己以后办事的时候要认真,仔细,考虑周全。短短的一周课程设计结束了,但是这段时间里,我又学到了更多C知识,同时我也被提醒以后办事的时候要认真,仔细,考虑周全。也看到了团队精神和互帮互助的重要性。最后也要感谢滕永晨老师和同学们的帮助。10参考文献【1】.《C/C++程序设计教程》,王连相,中国铁道出版社,2006;【2】.《C语言程序设计》,谭浩强,清华大学出版社,1999;【3】.《C/C++程序设计上机指导与测试》,王连相,中国铁道出版社2006;【4】.《C语言程序设计》,刘克成,中国铁道出版社,2007。【5】.《C语言函数手册》,机械工业出版社,1999。【6】.《C语言的实际应用》,安徽科学技术出版社,2000。11附录(程序源代码)#includestdio.h#includewindows.h#defineN50#includeconio.hstructworker{charid[50];charname[20];charsex[10];charage[10];charedu[20];charsalary[10];//=wage工资charaddress[20];chartel[20];}worker[N];voidsave(intn)//保存函数,保存n个记录{FILE*fp;inti;if((fp=fopen(D:\\worker.txt,wb))==NULL)//以只写方式为输出打开一个二进制文件{printf(\n文件打开错误!\n);}for(i=0;in;i++)if(fwrite(&worker[i],sizeof(structworker),1,fp)!=1)printf(文件输入错误!\n);fclose(fp);}intload()//加载函数{FILE*fp;inti;if((fp=fopen(