《c语言课程方案设计书职工信息管理系统 .docx》由会员分享,可在线阅读,更多相关《c语言课程方案设计书职工信息管理系统 .docx(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结封面可编辑资料 - - - 欢迎下载精品名师归纳总结作者: PanHongliang仅供个人学习XXXXXXX大 学可编辑资料 - - - 欢迎下载精品名师归纳总结课程设计说明书名称运算机语言 C 课程设计职工信息治理系统设计2021 年 6 月 20 日至 2021 年 6 月 26 日共 1 周可编辑资料 - - - 欢迎下载精品名师归纳总结系主任 .院 系.班 级.姓 名.学 号.教研室主任 .指导 老师 .目录可编辑资料 - - - 欢迎下载精品名师归纳总结一、课程设计的目的与要求 41.1 目的 41.2 要求 4二、题目说明 52.1 程序开发背景 52.2 开发工
2、具介绍 5三、总体设计 53.1 总体思想 53.2 软件模块结构图 63.3 系统流程图 7 3.3.1主函数 7 3.3.2显示函数 8 3.3.3录入函数 8 3.3.4查询函数 9 3.3.5删除函数 10可编辑资料 - - - 欢迎下载精品名师归纳总结3.3.6排序函数 11四、详细设计和系统实施 114.1 数据结构设计 11 4.1.1定义数组 11 4.1.2定义结构体 124.1.3函数功能描述 124.2 界面设计 134.2.1 用户登录界面 134.2.2 主界面 14 4.2.3显示界面 15 4.2.4录入界面 164.2.5 信息查询界面 174.2.6 删除界面
3、 18五、遇到的问题及解决方法 19六、课程设计总结 19七、参考文献 20附录(源程序代码) 20一、课程设计的目的与要求1.1 目的1. 把握 C 语言编程的基础学问较娴熟的编写C 语言应用程序。2. 能够利用所学的基本学问和技能,解决简洁的程序设计问题,增强独立完成工作的才能。3. 通过设计主要使同学有一个独立编写程序的过程,对理论学习及动手才能都有一个很大的提高 ,进一步培养同学宠爱专业的思想,同时对本专业综合素养的提高起一个积极的推动作用。1.2 要求1. 要求利用 C 语言面对过程的编程思想来完成系统的设计。2. 突出 C 语言的函数特点,以多个函数实现每一个子功能。3. 画出功能
4、模块图。4. 进行简洁界面设计,能够实现友好的交互。5. 具有清晰的程序流程图和数据结构的详细定义。6. 娴熟把握 C 语言对文件的各种操作。可编辑资料 - - - 欢迎下载精品名师归纳总结二、题目说明1. 职工信息治理系统设计,使之包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。2. 使这个治理系统具有以下功能:可以使系统以菜单方式工作、能够录入、查询、删除、排序职工的信息。3. 可以按学历、按工号查询职工信息。使查询职工信息变得便利、简洁。2.1 程序开发背景现在随着社会的进步和人民生活水平的逐步提升,高校生数量越来越多,相应的所需要处理的的信息也越来越复杂,而凭借
5、人力不行能精确准时的处理全部信息,因此,编写此程序是极为必要的。但由于各个学校的情形不同,所以难以编写一个通用的成果治理程序。此程序是依据本校情形和老师指导所编写,用以解决老师对同学成果的添加、修改、删除以及同学对其成果的查询等工作。2.2 开发工具介绍Visual C+ Visual C+是一个功能强大的可视化软件开发工具。自1993 年Microsoft公司推出 Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C+.NETVisual1C+7.0 ,但它的应用的很大的局限性,只适用于Windows
6、 2000,Windows XP和 Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。 Visual C+6.0不仅是一个 C+ 编译器,而且是一个基于Windows 操作系统的可视化集成开发环境。Visual C+6.0由许 多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导 Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。Visual C+它大致可以分成三个主要的部分:1 Developer Studio。2 MFC。 3 PlatformSDK。三、总体设计3.1 总体
7、思想本系统主要的设计思想是实现对职工信息的录入、删除、排序、查询等主要功能。职工信息以文件的形式储备。系统的人机接口接受简洁的字符界面进行交互。系统的设计方法是可编辑资料 - - - 欢迎下载精品名师归纳总结结构化设计方法,接受C 语言进行开发。软件开发平台接受Visual C+6.0,主要考虑在VC中可以使用中文,用户交互界面设计比较美观清晰。3.2 软件模块结构图职工信息治理系统依据需求分析结果,职工信息治理系统可以分为显示员工资料、录入员工资料、员工信息查询、删除员工信息、员工信息排序、退出信息系统。如图3-1 所示。退员删员录显出工除工入示信信员信员员息息工息工工系排信查资资统序息询料
8、料图 3-1可编辑资料 - - - 欢迎下载精品名师归纳总结开头如图 3-2 所示提示输入用户名、密码否密码正确是是重新登录?登录成功否退出系统显示员工资料录入员工资料员工信息查询删除员工信息员工信息排序退出信息系统退出终止图 3-23.3 系统流程图3.3.1 主函数可编辑资料 - - - 欢迎下载精品名师归纳总结3.3.2 显示函数display显示函数打开文件次序输出返回 homepage图 3-3input录入函数创建文件输入信息关闭文件返回 homepage图 3-4如图 3-3 所示3.3.3 录入函数如图 3-4 所示可编辑资料 - - - 欢迎下载精品名师归纳总结3.3.4 查
9、询函数find查询函数打开文件查询条件i = .否i = 1是按工号查询i= 2按学历查询关闭文件返回 homepage图 3-5如图 3-5 所示可编辑资料 - - - 欢迎下载精品名师归纳总结3.3.5 删除函数del删除函数被删职工工号查询该职工删除该职工返回 homepage图 3-6如图 3-6 所示可编辑资料 - - - 欢迎下载精品名师归纳总结3.3.6 排序函数sort排序函数打开文件排序条件i = .否i = 1是i= 1按工号排序i= 2按工资排序关闭文件返回 homepage图 3-7如图 3-7 所示四、详细设计和系统实施4.1 数据结构设计4.1.1 定义数组定义一维
10、数组 struct worker work50。用于定义员工的总人数,当员工总人数超过50 后便不能再录入员工资料。可编辑资料 - - - 欢迎下载精品名师归纳总结4.1.2 定义结构体结构体 struct worker用于存放存放员工的资料,包括员工的基本信息:工号,姓名,年龄,学历,工资,住址,电话号码。struct workerint num。工号char name15。名字char xingbie。性别int age。年龄char exp6。学历 int wage。工资char address20。 住址char tel12。电话号码 。int count=0。当前工人个数int so
11、rt_type=0。当前排序类型4.1.3 函数功能描述函数主界面: void homepage。显示职工成果信息: void display。录入职工信息信息: void input。删除职工信息: void del。查询职工信息: void find。 排序职工信息: void sort。 用户等待函数: void waiting。退出系统函数 :void quit。可编辑资料 - - - 欢迎下载精品名师归纳总结4.2 界面设计4.2.1 用户登录界面此模块用于欢迎界面,同时要求用户输入用户名和密码,只有当两者都正确时,才能进入到系统,当有三次错误,系统就会自动退出,如图4-1 所示。图
12、 4-1代码实现:void mainint i=0,k=0。char username15,pwd6。fori=0。i3 。i+printfn请输入用户名 :。getsusername。printfn请输入 6 位密码 :。getspwd。ifstrcmpusername,admin=0&strcmppwd,123456=0printfn您已经成功登录 。k=1。fori=0。i20 。i+printf.。Sleep100。systemcls。homepage。break。elseprintfn用户名或密码无效请重新输入:n。continue。ifk=0printfnSleep2000。连续输
13、入错误 3 次将退出程序n。quit。在此模块中, ifstrcmpusername,Admin=0&strcmppwd,123456=0, 用于检测用户名和密码是否正确。fori=0。i3 。i+可编辑资料 - - - 欢迎下载精品名师归纳总结printfn请输入用户名 :。getsusername。printfn请输入 6 位密码 :。getspwd。此段代码用于猎取账户名和密码并计数是否超过三次,超过三次,就有Sleep2000。实现退出程序。4.2.2 主界面此模块主要实现进入主界面和依据用户需要进入相应界面,包括显示界面,录入界面, 删除界面,排序界面并可以选择退出,如图4-2 所示
14、:图 4-2代码实现void homepagechar n。while n.=1&n.=2&n.=3&n.=4&n.=5&n.=0printfn请选择 :。fflushstdin。scanf%c,&n。switchn可编辑资料 - - - 欢迎下载精品名师归纳总结case 1:case 2:display。break。ifcount50input。else可编辑资料 - - - 欢迎下载精品名师归纳总结printf记录数已满 n 。Sleep2000。systemcls。可编辑资料 - - - 欢迎下载精品名师归纳总结homepage。break 。此模块中, switchn, case 用于
15、判定主界面的选项,依据选项进行设置。其中ifcount50用于限制录入员工的人数,超过50 名员工就无法再进行录入,并且直接通过 sleep2000。homepage 回到主界面上。4.2.3 显示界面此模块是用来显示员工的资料信息的,包括工号,姓名,性别,年龄,学历,工资,住址,电话等基本信息,一边治理员能够准时的把握到所要员工的资料。如图4-3 所示。图 4-3代码实现void displayint i。char c。printf 备注:学历 1=中专,2=大专,3=本科,4=硕士,5=博士,6=其它:nnn。switchsort_typecase 0: printftt 未排序:nn 。
16、 break。case 1:printftt 按工号排序 :nn 。/sort。break。case 2:printftt 按工资排序 :nn 。/sort。break。printft 工号t 姓名t 性别t 年龄t 学历t 工资t 住址t 电话n。此模块中有三种显示方式,第一种是无序显示,就是依据录入时的次序显示,仍有两种分别是是依据工号和工资来排序。后两种显示方式主要是有switchsort_type语句来实现的,它相当于一个开关,与下面的case 相对应,相括号中的数字相对应时,就会执行相应的语句。可编辑资料 - - - 欢迎下载精品名师归纳总结4.2.4 录入界面这个模块主要是录入员工
17、资料,录入的次序如以下图,当录入的员工人数满到50 后, 便不能再进行录入员工资料,此时已经达到了录入人数的最大值。如图4-4 所示。图 4-4代码实现void input int i,numcheck 。char c。doprintf工号:n 。scanf%d,&workcount.num。numcheck=1 。ifworkcount.num0printf 请输入正整数 :n 。fori=0 。 icount 。i+ifworkcount.num=worki.num numcheck=0 。printf 工号重复 ,重新输入 :n 。doc=getchar 。ifc=y|c=Ycount+
18、 。此模块中 ifworkcount.num=worki.num。 numcheck=0 。很是重要,它判定录入的工号是否重复,重复的话会有重新输入的提示,防止职工信息的重复。当记录数已满时,通过 sleep2000,使之回到主界面,进行其他选项设置。可编辑资料 - - - 欢迎下载精品名师归纳总结4.2.5 信息查询界面此模块用于职工信息的查询,共分为两种查询方式,一是按工号查询,二是按学历查询。用 if 函数来实现,可快速查询到职工的姓名、工号、学历、电话等详细信息。如图4-5 所示。图 4-5代码实现void findint i,j。int choice=0。 int find_num。
19、char findedu6。char c 。systemcls。printftt请选择查询功能 :n。printft1.按工号查询 n。printft2.按学历查询 n。printf请输入选择 :。doscanf%d,&choice。while choice.=1&choice.=2。if choice=1printfnt请输入要查询的职工号n 。scanf%d,&find_num。printfn正在查询,请稍候 。fori=0。i20 。i+可编辑资料 - - - 欢迎下载精品名师归纳总结printf.。Sleep100。systemcls。 printfnn按任意键返回 n。c=getch
20、。systemcls。homepage。此模块中,通过while choice.=1&choice.=2。这个选择来实现查询的方式, 选择“ 1”为工号查询,选择“2”就为按学历查询。if find_num=worki.num即为依据职工号进行查询, strcmpfindedu,worki.exp依据学历进行职工信息查询。4.2.6 删除界面此模块用于删除员工信息,对于已经无用的员工信息进行删除,接受按工号删除的模式。如图 4-6 所示。图 4-6代码实现void delint i,j,del_num,match=0。char c。systemcls。printf请输入要删除的员工工号:n。s
21、canf%d,&del_num。waiting。fori=0。icount 。 i+ifworki.num=del_num可编辑资料 - - - 欢迎下载精品名师归纳总结match=1。forj=i。 jcount 。j+ workj=workj+1。count-。此模块中,第一仍是要先进职工信息查询模块,然后再依据查询到的职工号进行删除。 printf%d,&del_num。即为显示要删除的职工号,ifc=y|c=Y就是确定是否删除选定的职工信息。最终通过homepage 回到主界面。 五、遇到的问题及解决方法1. 在一些字符或字符串的定义上出项错误,如定义职工电话号码的时候,用成了floa
22、t类型,而正确的应当是char 类型。2在进行模块函数设计时,find函数功能没有设计好,导致部分函数代码过长, 可读性降低,以至于再次重写里面的一小部分代码,铺张了大量的时间。3. 在整个程序设计编写完成后,编译时显现了大量的错误,而且里面大部分是由于 大小写问题,仍有void 拼错拼成 viod ,仍有“。”没有写,后来经过程序错误查询,一一更换了过来。4. 在编写代码时没有添加注解,降低了在调试测试时程序的可读性,同时也降低了与其他同学的沟通,虽然在测试过程中我把全部的注解加上,但也延长了整个程序的开发时间。六、课程设计总结通过此次同学成果信息治理系统,让我熟识了软件开发的流程,信任在以
23、后的工作中我能在最短的时间内投入到大的程序开发工程中。在进行课程设计的前两天,不知道从何入手,很是不解,不知道我们究竟要做什么。后来通过上网找资料,才发觉有好多做法,根本就看不完,此时才真正意识到差距所在。于是,通过借鉴网络作品,才发觉作品并不是一味的照搬照抄才有用,集众家之所成,不断完善,才能造出属于自己的作品,并且有用。在整个课程设计中,我认为最重要的就是耐心和细心。细心,就是在编写过程中留意拼写,仔细编写程序。耐心,就是程序编译中显现很多错误的时候能够耐心去修改,只有这样,才能很好的完成程序。可编辑资料 - - - 欢迎下载精品名师归纳总结虽然在整个过程中显现了不少错误,但最终仍是圆满完
24、成了,此次程序设计的经受让我学到了太多,同时也让我懂得到参加的工程越大越能学到学问,因此以后我会积极主动的去参加一些工程,以此来提高自己的技能和编程体会。七、参考文献【1】.有用 c 语言简明教程李金祥、顾小晶主编【2 】.c+ 语言程序设计,刘振安,刘燕君,孙忱,机械工业出版社。【3 】.C 语言程序设计一体化案例教程,刘维富,清华高校出版社。【4】. C 语言课程设计,黄明,梁旭,万洪莉,电子工业出版。附录(源程序代码)#include #include #include #includevoid homepage。/主界面void display。/显示全部信息void input。/录
25、入 插入void find。void del。/删除记录void sort。/排序 void waiting。/等待界面void quit。/退出界面struct workerint num。/工号char name15。 /名字char xingbie。/性别int age。/年龄char exp6。 /学历 int wage。/工资char address20。/ 住址可编辑资料 - - - 欢迎下载精品名师归纳总结char tel12。/电话号码 。int count=0 。 /当前工人个数int sort_type=0 。 / 当前排序类型struct worker work50 。v
26、oid mainint i=0,k=0。char username15,pwd6。systemcolor 3f。printfnn。printf t n 。printf t* n。printft* n。printft* * n。printft* * n。printft* *欢迎使用职工信息治理系统* n。printft* * n。printft* * n。printft* *郝佳丽* n。printft* * n。printft* *2021.06.20* n。可编辑资料 - - - 欢迎下载精品名师归纳总结printft* * n。printft* * n。printft* n。printft
27、* n。printf t n 。fori=0。i3 。i+printfn请输入用户名 :。getsusername。printfn请输入 6 位密码 :。getspwd。ifstrcmpusername,admin=0&strcmppwd,123456=0printfn您已经成功登录 。k=1。fori=0。i20 。i+printf.。Sleep100。可编辑资料 - - - 欢迎下载精品名师归纳总结elsesystemcls。homepage。break。printfn用户名或密码无效请重新输入 :n。可编辑资料 - - - 欢迎下载精品名师归纳总结continue。可编辑资料 - - -
28、 欢迎下载精品名师归纳总结ifk=0printfn连续输入错误3 次 将退出程序 n。Sleep2000。quit。void homepagechar n。printfnn。printft n 。printft* n 。printft * n。printft *1.显示员工资料*2.录入员工资料* n。printft * n。printft* n 。printft * n。printft *3.员工信息查询*4.删除员工记录* n。printft * n。printft* n 。printft * n。printft *5.员工信息排序*0.退出信息系统* n。可编辑资料 - - - 欢迎下载
29、精品名师归纳总结printft * n。printft* n 。printft n 。while n.=1&n.=2&n.=3&n.=4&n.=5&n.=0可编辑资料 - - - 欢迎下载精品名师归纳总结printfn请选择 :。fflushstdin。scanf%c,&n。switchncase 1:display。break。case 2:ifcount50input。elseSleep2000。printf记录数已满 n。可编辑资料 - - - 欢迎下载精品名师归纳总结systemcls。homepage。可编辑资料 - - - 欢迎下载精品名师归纳总结case 3:break 。可编辑
30、资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结del。find。break。case 4:break 。可编辑资料 - - - 欢迎下载精品名师归纳总结case 0:case 5:sort。break 。可编辑资料 - - - 欢迎下载精品名师归纳总结quit。break。default:printfn选项错误 n 。void displayint i。char c。systemcls。printf备注:学历 1= 中专,2= 大专 ,3= 本科 ,4= 硕士 ,5= 博士 ,6= 其它:nnn。switchsort_typecase 0:print
31、ftt未排序 :nn。break。case 1:printftt按工号排序 :nn。/sort。break 。case 2:printftt按工资排序 :nn。/sort。break。printft工号t姓名t性别 t年龄 t学历t工资t住址 t电话 n 。可编辑资料 - - - 欢迎下载精品名师归纳总结if count=0 printfnt无员工信息! n。fori=0。icount 。 i+printft%dt%st%ct%dt%st%dt%st%sn,worki.num,worki.name,worki.xi ngbie,worki.age,worki.exp,worki.wage,worki.address,worki.tel。printfnn按任意键返回 n。c=getch。systemcls。homepage。void inputint i,numcheck。char c。system cls。doprintf工号 :n。scanf%d,&workcount.num。numcheck=1