ImageVerifierCode 换一换
格式:DOCX , 页数:50 ,大小:197.37KB ,
资源ID:25567894      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25567894.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(内蒙古科技大学课程设计讲解.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

内蒙古科技大学课程设计讲解.docx

1、内蒙古科技大学课程设计讲解内蒙古科技大学本科生课程设计说明书题 目:C语言课程设计 职工信息管理系统学生姓名:赵杉杉学 号:1376807439专 业:计算机科学与技术班 级:2013级一4班指导教师:柏建普内蒙古科技大学课程设计任务书课程名称C语言课程设计设计题目职工信息管理系统指导教师柏建普时间2014.12.312014.1.4.一、教学要求1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题

2、目中任意选择一题,独立完成,题目选定后不可更换。职工信息管理系统设计职工信息包括职工号、姓名、性别、出生年月、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:v 职工信息录入功能(职工信息用文件保存)输入v 职工信息浏览功能 输出v 查询或排序功能:(至少一种查询方式) 算法按工资查询 按学历查询等v 职工信息删除、修改功能(任选项)三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代码书写要规

3、范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料1C语言程序设计,谭浩强,清华大学出版社2C语言程序设计课

4、程设计,刘振安,机械工业出版社第一章 需求分析1.1 引言由于现今的职工信息管理非常繁琐,管理人员付出大量的工作时间,得到的效率很低。因此为提高工作效率,减轻单位工作人员对职工信息进行登记,查找的工作,进而需要设计出以功能更完善、合理、先进的职工信息管理系统来管理。开发此职工信息管理系统软件,以供教学人员及操作者进行职工管理,方便操作者随时添加、查询、修改职工信息。 1.2 任务概述本课程设计主要解决职工信息管理问题。使用计算机进行信息管理,不仅提高了工作效率,而且大大的提高了其安全性,尤其对于复杂的信息管理,计算机能够充分发挥它的优越性,职工信息管理系统是一个工作单位不可缺少的部分,它的内容

5、对于教学人员及操作者来说都至关重要。 1、首先进行需求分析,搞清楚系统功能和任务;2、然后在总体设计中确定模块结构、划分功能模块,将软件功能需求分配给所划分的最单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略;3、在详细设计中,为每个模块确定采用的算法,选择适当的工具表达算法的过程(流程图)来描述模块的详细过程。确定每一模块采用的数据结构和模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口;4、根据分析编写C语言代码。 具体任务: 1.职工信息管理系统设计,使之包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。 2.

6、使这个管理系统具有以下功能:可以使系统以菜单方式工作、能够录入、查询、删除、排序职工的信息。 3.可以按学历、按工号查询职工信息。使查询职工信息变得方便、简单. 1.3 数据描述该系统用下面五个功能模块编写,每个模块执行不同的功能,体现了模块化设计的思想。下面五个模块都是利用C语言文件,向文件中追加数据、修改数据、查询数据和删除数据。 输入:可以输入通讯录记录,利用C语言文件,向文件中按顺序输入职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)再用fclose()函数关闭并保存文件。 输出:也是用通过循环依次输出文件中的数据,即输出所有职工信息记录。删除:输入你要删除

7、职工信息后,系统会自动删除他/她的记录,在删除通过switch语句满足提示你确认删除的功能,只有等你确认删除后才会删除。 查找:为了满足用户的实际需求,设计了两种查询方式可以用工号、学历两种方式查找职工信息记录。这里用到strcmp()函数,通过比较字符串是否相同来判别是否找到相关信息,找到后就把文件中的数据赋给对应的变量,再把变量所带的值输出到屏幕上。保存:用到fclose()函数,每次操作成功后会自动保存到指定的文件中1.4 功能需求1) 输入功能:可以多次完成多个职工所有信息。2) 浏览功能:可以一次性浏览职工的所有信息。3) 查询功能:可以按职工工号和学历两种方式查询。4) 删除功能:

8、可以对职工的信息进行删除。5) 排序功能:可以按职工号进行降序排序。6) 退出本系统1.5 性能需求1) 硬件环境 处理器:Inter CR300或是更高。 内存:128MB(建议 196MB)。 硬盘空间:20MB。 2) 软件环境 操作系统: Windows 2000/ XP 或是Windows 2000/Windows NT Server 4.01.6 运行需求1) 运行环境 运行环境:CodeBlocks/VisualC+6.01.7 任务计划设计资料及参数职工信息管理系统设计职工信息包括职工号、姓名、性别、出生年月、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,

9、使之能提供以下功能:v 职工信息录入功能(职工信息用文件保存)输入v 职工信息浏览功能 输出v 查询或排序功能 算法按工号查询 按学历查询v 职工信息删除功能第二章 概要设计2.1 总体设计根据需求分析结果,职工信息管理系统可以分为显示员工资料、录入员工资料、员工信息查询、删除员工信息、员工信息排序、退出信息系统。如图2-1所示。图2-1 软件模块结构图2.2 数据结构设计2.2.1定义数组定义一维数组struct worker work50;用于定义员工的总人数,当员工总人数超过50后便不能再录入员工资料。2.2.2定义结构体结构体struct worker用于存放存放员工的资料,包括员工的

10、基本信息:工号,姓名,年龄,学历,工资,住址,电话号码。struct worker int num; 工号 char name15; 名字 char xingbie; 性别 int age; 年龄 char exp6; 学历 int wage; 工资 char address20; 住址 char tel12; 电话号码;int count=0; 当前工人个数int sort_type=0; 当前排序类型2.3 接口设计 表2.1:函数列表函数名函数格式函数功能homepagevoid homepage();函数主界面displayvoid display();显示职工信息inputvoid

11、input();录入职工信息delvoid del();删除职工信息findvoid find();查询职工信息sortvoid sort();排序职工信息quitvoid quit();退出系统函数2.4 运行界面设计主程序流程图如图2-4.所示第三章 详细设计3.1 输入模块设计图3-1这个模块主要是录入员工资料,录入的顺序如图所示,当录入的员工人数满到50后,便不能再进行录入员工资料,此时已经达到了录入人数的最大值。代码实现void input() int i,numcheck; char c; do printf(工号:n); scanf(%d,&workcount.num); num

12、check=1; if(workcount.num0) printf(请输入正整数:n); for(i=0;icount;i+) if(workcount.num=worki.num) numcheck=0; printf(工号重复,重新输入:n); do c=getchar(); if(c=y|c=Y) count+; 此模块中if(workcount.num=worki.num);numcheck=0;很是重要,它判定录入的工号是否重复,重复的话会有重新输入的提示,避免职工信息的重复。当记录数已满时,通过sleep(2000),使之回到主界面,进行其他选项设置。3.2 输出模块设计此模块是

13、用来显示员工的资料信息的,包括工号,姓名,性别,年龄,学历,工资,住址,电话等基本信息,一边管理员能够及时的掌握到所要员工的资料。代码实现void display() int i; char c; printf(备注:学历(1=中专,2=大专,3=本科,4=硕士,5=博士,6=其它):nnn); switch(sort_type) case 0: printf(tt未排序:nn); break; case 1:printf(tt按工号排序:nn); /sort();break; case 2:printf(tt按工资排序:nn);/sort();break; printf(t工号t姓名t性别t

14、年龄t学历t工资t住址t电话n); 此模块中有三种显示方式,第一种是无序显示,就是按照录入时的顺序显示,还有两种分别是是按照工号和工资来排序。后两种显示方式主要是有switch(sort_type)语句来实现的,它相当于一个开关,与下面的case()相对应,相括号中的数字相对应时,就会执行相应的语句。3.3 查找模块设计此模块用于职工信息的查询,共分为两种查询方式,一是按工号查询,二是按学历查询。用if函数来实现,可快速查询到职工的姓名、工号、学历、电话等详细信息。代码实现void find() int i,j; int choice=0; int find_num; char findedu

15、6; char c; system(cls); printf(tt请选择查询功能:n); printf(t1.按工号查询n); printf(t2.按学历查询n); printf(请输入选择:); do scanf(%d,&choice); while (choice!=1)&(choice!=2); if (choice=1) printf(nt请输入要查询的职工号n); scanf(%d,&find_num); printf(n正在查询,请稍候); for(i=0;i20;i+) printf(.); Sleep(100); system(cls); printf(nn按任意键返回n);

16、c=getch(); system(cls); homepage();此模块中,通过while (choice!=1)&(choice!=2);这个选择来实现查询的方式,选择“1”为工号查询,选择“2”则为按学历查询。 if (find_num=worki.num)即为根据职工号进行查询,strcmp(findedu,worki.exp)根据学历进行职工信息查询。3.4 排序模块设计此模块用于职工信息的排序,共分为两种排序方式,一是按工号排序,二是按工资排序。可快速按需求对员工信息进行排序,以便于查看。代码实现:void display() int i; char c; system(cls)

17、; printf(备注:学历(1=中专,2=大专,3=本科,4=硕士,5=博士,6=其它):nnn); switch(sort_type) case 0: printf(tt未排序:nn); break; case 1: printf(tt按工号排序:nn); /sort(); break; case 2: printf(tt按工资排序:nn); /sort(); break; printf(t工号t姓名t性别t年龄t学历t工资t住址t电话n); if (count=0) printf(nt无员工信息!n); for(i=0;icount;i+) printf(t%dt%st%ct%dt%st

18、%dt%st%sn, worki.num,worki.name,worki.xingbie,worki.age,worki.exp,worki.wage,worki.address,worki.tel); printf(nn按任意键返回n); c=getch(); system(cls); homepage();模块中,排序方式方式主要是有switch(sort_type)语句来实现的,它相当于一个开关,与下面的case()相对应,括号中的数字相对应时,就会执行相应的语句。选择来实现排序的方式,选择“1”为工号排序,选择“2”则为按工资排序。 第四章 测试分析4.1 测试程序执行情况4.1.1

19、登陆界面如图4-1-1所示图4-1-14.1.2主界面如图4-1-2所示图4-1-24.1.3显示员工资料如图4-1-3所示图4-1-34.1.4录入员工资料如图4-1-4所示图4-1-44.1.5查询员工资料如图4-1-5所示图4-1-54.1.6删除员工资料如图4-1-6所示图4-1-64.1.7员工信息排序如图4-1-7所示图4-1-74.1.8退出系统如图4-1-8所示图4-1-84.2 出现的问题和解决的方法 1.在一些字符或字符串的定义上出项错误,如定义职工电话号码的时候,用成了float类型,而正确的应该是char类型。 2在进行模块函数设计时,find()函数功能没有设计好,导

20、致部分函数代码过长,可读性降低,以至于再次重写里面的一小部分代码,浪费了大量的时间。3在整个程序设计编写完成后,编译时出现了大量的错误,而且里面大部分是因为大小写问题,还有void拼错拼成viod,还有“;”没有写,后来经过程序错误查询,一一更改了过来。4. 在编写代码时没有添加注解,降低了在调试测试时程序的可读性,同时也降低了与其他同学的交流,虽然在测试过程中我把全部的注解加上, 但也延长了整个程序的开发时间。第五章 用户手册(可选)5.1 使用说明(1)根据正确的提示安装软件。(2)Intel486以上系列、AMD K6 以上系列等PC台式机和便携式电脑都可运行。(3) 打开该程序系统,浏

21、览菜单,根据需要选择功能,进行各项操作。操作如下:输入正确的用户名和密码进入主菜单。(如图4-1-1.默认用户名为:管理者,密码为:1)进入主菜单如图4-1-2,根据需要,选择对应的功能。1.显示员工信息:职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话(职工号不重复)。如图4-1-3所示。2.录入员工信息:将所需的职工信息输入。如图4-1-4所示。3.查询员工信息:则屏幕会出现两个对话框按学历和按工号查找,查处相应的职工信息。(此职工信息是否录入)。如图4-1-5所示。当查询不能显示需要时,进入录入程序,把所输入的信息进行录入,使之正确能够正常运行。或进入删除信息中,重新输入自己所

22、要的信息。当信息输入正确,进入你所需要的菜单程序中:职工信息:显示包括职工号、姓名、性别、出生年月、学历、工资、住址、电话等(职工号不重复)。4.删除员工信息:选择你要删除的职工,输入职工号,则该职工信息将被系统删除。如图4-1-6所示。(此职工信息是否录入)5.员工信息排序:则屏幕会出现两个对话框按工号和按工资排序,对职工信息进行相应的排序。如图4-1-7所示。排序完成后,可进入浏览信息页面,查看职工信息。0.退出信息系统:退出系统,感谢使用。如图4-1-8所示。 第六章 课程设计总结通过此次学生成绩信息管理系统,让我熟悉了软件开发的流程,相信在以后的工作中我能在最短的时间内投入到大的程序开

23、发项目中。在进行课程设计的前两天,不知道从何入手,很是不解,不知道我们究竟要做什么。后来通过上网找资料,才发现有好多做法,根本就看不完,此时才真正意识到差距所在。于是,通过借鉴网络作品,才发现作品并不是一味的照搬照抄才实用,集众家之所成,不断完善,才能造出属于自己的作品,并且实用。回顾起此次课程设计,至今我仍感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,在这些日子里,我学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得

24、出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体通过这次课程设计之后,一定把以前所学过的知识本次课程设计结束了,对于我们的影响很大。我们通过这次实践学到了许多知识。学到了设计一个简单的系统。要注意哪些方面。也使我知道自己哪些方面做得还不够。我总结出了一点点的经验如下:要对系统的功能和要求做出详细的分析,并合理分解任务。 把分解出来的子任务,做给一个相对独立的模块。在设计一个模块之前

25、,要简单构想一下总界面的显视情况。针对构想出来的界面进行程序的编写。在整个课程设计中,我认为最重要的就是耐心和细心。细心,就是在编写过程中注意拼写,仔细编写程序;耐心,就是程序编译中出现很多错误的时候能够耐心去修改,只有这样,才能很好的完成程序。附录:程序代码#include#include#include#includevoid homepage(); /主界面void display(); /显示全部信息void input(); /录入 插入void find();void del(); /删除记录void sort(); /排序void quit(); /退出界面struct work

26、er int 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;void main() int i=0,k=0; char username15,pwd6; system(color 3f); printf(nn); printf(t*n); printf(t*n); pr

27、intf(t* *n); printf(t* 欢迎使用职工信息管理系统 *n); printf(t* *n); printf(t* *n); printf(t* 赵杉杉 *n); printf(t* *n); printf(t* 2014.12.30 *n); printf(t* *n); printf(t*n); printf(t*n); for(i=0;i3;i+) printf(n请输入用户名:); gets(username); printf(n请输入密码:); gets(pwd); if(strcmp(username,管理者)=0)&(strcmp(pwd,1)=0) printf(n您已经成功登录); k=1; for(i=0;i20;i+) printf(.); Sleep(100); system(cls); homepage(); break; else printf(n用户名或密码无效 请重新输入:n); continue; if(k=0) printf(n连续输入错误3次 将退出程序n); Sleep(2000); quit()

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1