版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、* 实践教学实践教学 * 兰州理工大学兰州理工大学 计算机与通信学院 2010 年春季学期 计算机语言计算机语言 课程设计课程设计 题 目:职工信息管理系统 专业班级: 姓 名: 学 号: 指导教师: 成 绩: 目目 录录 摘摘 要要.1 正正 文文.3 1.问题描述.3 2.需求分析.3 3.系统总体设计.3 4.详细设计.4 5.系统测试.6 6.软件使用说明书.7 总总 结结.9 参考文献参考文献.10 致致 谢谢.11 摘摘 要要 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、 电话等(职工号不重复) 。设计“职工信息管理系统” ,使之能提供以 下功能: 系统以菜单方式工作;
2、 职工信息录入功能(职工信息用文件保存); 职工信息浏览功能; 查询和排序功能:(至少一种查询方式) 按工资查询、按学历 查询等; 职工信息的删除与修改。 正正 文文 1. 问题描述问题描述 由于教职工人数的增加,使得管理工作繁重,而且手工管理效率极低,急需 一个软件系统解决这些问题。为了跟上时代潮流,规范管理,提高职工信息的管 理水平和管理效率,为全校职工提供方便、快捷、准确的信息服务,开发一个 “职工管理系统” 。 ; 2. 需求分析需求分析 本系统通过管理职工信息 , 以供职工信息管理。本系统能够维护职工信息、 以及他人信息,为职工提供准确的资料,提高了人员的工作效率。 3. 系统总体设
3、计系统总体设计 职工信息管理系统 职工信息查询 职工信息录入 职工信息浏览 按工号查询按学历查 职工信息排序 职工信息删除 职工信息修改 4. 详细设计详细设计 对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下: 信息输入模块: 打开职工信息文件; while ( 继续输入 ) 读入职工信息; 将读入信息添加到职工信息文件中; 提示是否继续输入; 关闭职工信息文件; 信息浏览模块: 打开职工信息文件; while ( 不到文件结束 ) 从文件中顺序读出一个职工的信息; 按指定格式输出该图书的信息; 关闭职工信息文件; 信息查询模块: while ( 仍继续查询 ) if( 按工资查
4、询 ) 读入查询的职工条件; 打开职工信息文件; while( 不到文件结束 ) 顺序读出一个图书的信息; if( 该职工信息符合条件 ) 输出该职工的信息; 关闭职工信息文件; 提示共有几条符合条件的记录; else if ( 按学历查询 ) 读入职工的条件; 打开职工信息文件; while( 不到文件结束 ) 顺序读出一个职工的信息; if( 该职工信息的学历符合条件 ) 输出该职工的信息; 关闭职工信息文件; 提示符合条件的记录数; else 提示输入不合适; 提示是否继续查询; 5. 系统测试系统测试 用以下的例子做测试,选择输入操作,依次输入,工号,姓名,性别,年龄, 电话返回则选择
5、浏览、查询、修改、删除功能。 工号姓名性别年龄电话 0001 夏亚峰男35 0002田振际男36 0003马小强男31 0004朱爱红女33 6. 软件使用说明书软件使用说明书 (1)根据正确的提示安装软件。 (2)Intel486 以上系列、AMD K6 以上系列等 PC 台式机和便携式电脑都可运行。 (3) 打开该程序系统,浏览菜单,根据需要选择功能,进行各项操作。 操作如下: 点击开始菜单,进入菜单选择。 输入:将所需的信息输入。 输出:书目信息、读者信息、借书信息与还书信息。 输入:根据不同的需要选择,当信息输入显示出错误时,进入浏览信息, 找出错误。当错误不能改正,则退出浏览信息。
6、进入查询信息:则屏幕会出现两个对话框按作者名和按书名查找, 查处相应的所需信息和书的状态(是否借出) 。当查询不能显示需要时进 入修改程序,把所输入的信息进行修改,使之正确能够正常运行或进入 删除信息中,重新输入自己所要的信息。 当信息输入正确,进入你所需要的菜单程序中: 书目信息:显示书的分类号、条码、出版单位、出版时间、价格等。 读者信息:显示出学生的学号、图书卡号、学院专业与班级与所借的图 书。 管理员信息:显示出图书借与还的负责人与图书管理的负责人以及他们 的工作号。 借书信息:显示出图书的借出频率与借出的时间以及续借的方法。 总总 结结 该系统以图书信息管理为背景,涵盖了图书管理员对
7、图书信息管理的多种功 能,并且有一定的可行性和安全性,确保了各项指定功能得以运行。本系统以基 本函数、结构体、枚举性、文件以及链表等多方位知识贯穿实现。 通过此次程 序设计实践,是同学们对所学知识的综合运用,也是程序设计得以提高的表现。 通过此次编程培养了我们结构化程序设计的思想,加深了对高级语言基本语 言要素和控制结构的理解,锻炼我们独立思考制作程序的能力,并且掌握了一些 课程设计的相关知识与实践操作能力,为以后的学习提供了锻炼的机会。 经过设计和开发,图书借阅管理系统基本开发完毕以及各类相关报表的打印。 并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。对于数据 的一致性的问
8、题也通过程序进行了有效的解决。从而是我对 c 语言这门课程有了 更好的了解。 但是由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机 文档比较少,用户界面不够美观,出错处理不够等多方面问题。这些都有待进一 步改善。 参考文献参考文献 1c+程序设计教程 ,王连相,中国铁道出版社,2007 2 C 语言程序设计,谭浩强,清华大学出版社,1999 3C 程序设计题解与上机指导,谭浩强,清华大学出版社,1999 4 C 语言的实际应用,安徽科学技术出版社,2000 5 C 语言函数手册,机械工业出版社,1999 6 C 语言实用程序荟萃,西安电子科技大学出版社,1993 致致 谢谢 在编
9、写程序的过程中,我们得到了丁政建老师的精心指导以及孜孜不倦的教 诲,在老师的指导下,我们的能力得到了提高,同时养成了科学、严谨的作风和 习惯,在此,我们对老师的精心栽培表示衷心的感谢! 感谢我们小组同学对我的帮助和指点,尤其感谢我的舍友在非常时期,在生 活和学习上帮我许多忙。 在课设即将完成之际,我的心情无法平静,从开始进入课题到课设的顺利完 成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的 谢意。 #include #include #include #include #include #define N 100 struct people char num100; c
10、har name15; char sex20; char age20; char xueli20; char gongzi20; char address20; char telephone20; peopleN; void input(int i); void enter(); void browse(); void add(); void search(); void modify(); void save(int n); int load(); int modify_data(int i); void printf_face(); void printf_back(); void pri
11、ntf_one(int i); void menu(); void chack_No(int i); void chack_No(int i) int k; if(i0) for(k=0;ki;k+) if(strcmp(peoplek.num,peoplei.num)=0) printf(您输入的职工号已存在,请更换号码!); printf(职工号:); scanf(%d, chack_No(i); void input(int i) /no_input(i,i); printf(职工号:); scanf(%s,peoplei.num); chack_No(i); printf(姓名:);
12、scanf(%s, ) ; printf(性别:); scanf(%s,peoplei.sex); printf(年龄:); scanf(%s,peoplei.age); printf(学历:); scanf(%s,peoplei.xueli); printf(工资:); scanf(%s,peoplei.gongzi); printf(住址:); scanf(%s,peoplei.address); printf(电话:); scanf(%s,peoplei.telephone); void enter() int i,n; printf(请输入人数(0-%d) :,
13、N-1); scanf(%d, printf(n 录入信息n); for(i=0;in;i+) printf(n 请输入第%d 个人的信息.,i+1); input(i); if(i!=0)save(n); printf_back(); void browse() int i,n; n=load(); printf_face(); for(i=0;in;i+) if(i!=0) getch(); puts(nn); printf_one(i) ; printf(t 共有%d 条记录.n,n); printf(n 按任意键继续.); getch(); menu(); void add() int
14、 i,n,m,k; FILE*fp; n=load(); printf(你想添加的人数为(0-%d):,N-1-n); scanf(%d, k=m+n; for(i=n;ik;i+) printf(n 输入第%d 个人的信息.,i-n+1 ); input(i); if(fp=fopen(Pro.txt,ab)=NULL) printf(文件打开失败!n); for(i=n;ik;i+) if(fwrite( fclose(fp); printf_back(); void search() int i,n,k,w1=1,w2,w3,w4,m,a; struct people p; n=load
15、(); do printf(n 选择你要查询的方式 nt1).按学历 2).按职工号 bb); scanf(%d, switch(m) case 1: do k=-1; printf(nn 请输入你要查询的学历:); scanf(%s,p.xueli); printf_face(); for(i=0;in;i+) if(strcmp(p.xueli,peoplei.xueli)=0) k=i; printf_one(k); break; if(k=-1) printf(nn 你输入的学历不存在!); printf(nn 你想继续查询吗?nt 1).是 2).否 bb); scanf(%d, i
16、f(w1=2) printf_back(); while(k=-1 break; case 2: do k=-1; printf(nn 请输入你要查询的职工号:); scanf(%s,p.num); printf_face(); for(i=0;in;i+) if(strcmp(p.num,peoplei.num)=0) k=i; printf_one(k);break; if(k=-1) printf(nn 你输入的职工号不存在!); printf(nn 你想继续查询吗?nt1).是 2).否 bb); scanf(%d, if(w1=2) printf_back(); while(k=-1
17、 break; w4=0;w3=0; if(k!=-1) printf(nn 请选择你要进行的操作:nt 1).查询 2).修改 3).删除 4).返回主菜 单 bb); scanf(%d, switch(w2) case 2: w3=modify_data(k); break; case 3: printf(n 你确定要删除吗?nt 1).是 2).否 bb); scanf(%d, if(w4=1) for(a=k;an;a+) strcpy(peoplea.num,peoplea+1.num); strcpy(,peoplea+1.name); strcpy(peo
18、plea.sex,peoplea+1.sex); strcpy(peoplea.age,peoplea+1.age); strcpy(peoplea.xueli,peoplea+1.xueli); strcpy(peoplea.gongzi,peoplea+1.gongzi); strcpy(peoplea.address,peoplea+1.address); strcpy(peoplea.telephone,peoplea+1.telephone); break; if(w3=1|w4=1) save(n); printf(nn 操作成功! _ ); printf(nn 请输入你要进行的操
19、作: nt 1).继续查询 2).返回上一 级 bb ); scanf(%d, while(w2=1); menu(); void modify() struct people p; int i,n,k,w0=1,w1,w2=0; n=load(); do k=-1; printf_face(); for(i=0;in;i+) if(i!=0) getch(); puts(nn); printf_one(i); do printf(nn 请输入你要修改的职工信息的职工号:); scanf(%s,p.num); for(i=0;in;i+) if(strcmp(p.num,peoplei.num
20、)=0) k=i; p=peoplei; if(k=-1)printf(nn 你的输入有误,请从新输入); while(k=-1); printf_face(); printf_one(k); w1=modify_data(k); if(w1=1) printf(n 操作成功! _.n 是否继续修改?nnt 1).是 2).否t bb); scanf(%d, w2=1; else w0=0; if(w2=1) peoplek=p; if(w0!=1 while(w0=1); menu(); void save(int n) FILE *fp; int i; if(fp=fopen(Pro.tx
21、t,wb)=NULL) printf(n 文件打开失败!n); /return NULL; for(i=0;i8|c8|c9) puts(输入错误,请从新输入!n); w1=1;break; if(w1!=1) for(k=0;kn;k+) if(k!=i while(w1=1); */ void printf_face() printf( 职工号 姓名 性别 年龄 学历 工资 住址 电话 n); void printf_one(int i) printf(%9s%9s%9s%9s%9s%9s%10s%12sn,peoplei.num,,peop lei.sex,peoplei.a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 空军提干考试题及答案
- 2026依法治党面试题目及答案
- 考驾照满分试题及答案
- 湖南省邵阳市邵东市三校2025-2026学年高一下学期7月期末考试生物试卷(含答案)
- 2026运维顾问面试题及答案
- 2026战略储备面试题及答案
- 2026政府热线的面试题及答案
- 投资项目合作协议(标准商用范本)
- 2026年注册建筑师考试模拟试题集(含答案)
- 人工智能在保险欺诈检测中的作用-第9篇
- 2026年人教版初一政治(道德与法治)下学期期末考试试卷及答案(共三套)
- 2026广东环境保护工程职业学院第一批招聘事业编制工作人员6人笔试参考题库及答案详解
- 2026年新疆中考历史试卷(含答案)
- 江苏省宿迁市泗洪县2025-2026学年下学期七年级期末英语试题(含答案)
- 2025年教师结构化面试真题及答案解析
- (2026版)特种设备安全管理人员考试题库及答案试卷
- 2026年国家开放大学电大《知识产权法》期末综合检测提分及参考答案详解(A卷)
- 2026年山东省聊城中小学教师招聘考试试题题库(答案+解析)
- 建设工程项目进度控制规范(标准版)
- 北京第八十中学初一新生分班语文考试模拟试卷
- 临床急诊四级预检分诊标准与高危患者优先解决策略
评论
0/150
提交评论