C语言课程设计作业(修改版).doc_第1页
C语言课程设计作业(修改版).doc_第2页
C语言课程设计作业(修改版).doc_第3页
C语言课程设计作业(修改版).doc_第4页
C语言课程设计作业(修改版).doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

德州学院 计算机系 2011级 计算机科学与技术专业 课程设计目录1 课程设计目的12设计思路12.1需求概述12.2 需求说明13 概要设计24 详细设计24.1 基础信息24.2数据结构34.2.1模块分析34.2.2各个功能模块的处理流程35 系统流程图66 测试结果76.1职工信息管理初始界面76.2输入信息76.3职工信息管理系统的功能77 总结8参考文献8附录10程序设计基础课程设计 职工信息管理系统1课程设计目的 随着我国国民经济建设的蓬勃发展和信息技术的不断发展,各行各业都在积极使用现在化得手段,不断完善服务质量,提高工作效率,这些都在很大程度上给企业提出了越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高德尔要求,企业对人事管理也越来越重视了,资金投入比例也在加大,人事管理信息系统开发也开始走向完善的阶段。 故设计一“职工信息管理系统”使其具有数据添加、查询、修改、删除、显示等功能。(1) 职工信息包括职工号、姓名、年龄、学历、工资、住址、电话等(职工号不重复);(2) 系统以菜单方式工作;(3) 职工信息录入功能;(4) 职工信息浏览功能;(5) 按姓名查询功能;(6) 职工信息删除、修改功能。2设计思路2.1需求概述 (1)职工信息录入功能; (2)职工信息查询功能; (3)职工信息查询(或排序)功能; (4)职工信息删除功能; (5)职工信息修改功能。2.2 需求说明 (1)职工信息包括姓名、工号、性别、年龄、学历、职位、工资、电话、地址等。 (2)录入的职工信息要求用文件形式保存,并可以对其进行查询、查询、修改、删除等基本操作。 (3)职工信息的显示要求有一定的规范格式。 (4)对职工信息应能够分别安编号及按姓名两种方式进行查询,要求能返回所有符合条件的职工的信息。 (5)对职工信息的修改应逐个地进行,在一个职工的信息的更改不影响其他的职工记录。 (6)所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能尽可能地兼容用户使用过程中的异常情况。3 概要设计职工信息管理数据输入数据修改删除数据添加查找浏览图1 系统功能模块图4详细设计4.1基础信息 (1)主函数:主函数设计要求简洁,只提供部分提示语和函数的调用。 (2)增加员工信息:可增加新的员工信息记录,并保存。并且将增加后的文件存储状况显示给用户。 (3)删除员工信息:提示用户输入要进行删除操作的员工姓名,如果在文件中有该员工的信息存在,则将该姓名所对应的姓名、序号、工资等在对应文件中加以删除,并提示用户选择是否继续进行删除操作。 (4)修改员工信息:提示用户输入要进行修改操作的员工姓名,如果在文件中有该员工的信息存在,则提示用户进行相应的修改,并保存与文件中。 (5)查询员工信息:可根据学历查询员工信息,如果在文件中有该员工的信息存在,则提示用户已找到,并逐项列出员工的信息。 (6 )输出员工信息:将所有的员工信息排列出来,以便用户对员工信息由较为直观的了解。4.2数据结构4.2.1 模块分析 (1)性别:emum Sexmale,female; (2)日期: Struct Date int year; int month; int day; ; (3)职工信息: char name8; /*姓名*/ char num10; /*工号*/ char sex10; /*性别*/ char age10; /*年龄*/ char record10; /*学历*/ char position15; /*职位*/ char wanges10; /*工资*/ char tel15; /*电话*/ char addr50; /*地址*/ 4.2.2各个功能模块的处理流程 (1)信息输入模块 打开文件,实现向文件输入数据*/ /*打开职工信息管理文件*/ 职工信息管理系统);/*向文件输入数据* 添加职工信息(姓名、工号、性别、年龄、学历、职位、工资、电 话、地址)n); 是否继续添加 /*关闭文件*/ (2)信息查询模块 void search() /*查询函数*/ 打开职工信息文件 输入查询职工的名字或工号 输出该职工的信息 关闭文件 (3)信息修改模版 修改信息 打开职工信息文件 输入您要修改的职工的姓名 顺序输出该职工的信息 查找需要修改的信息 确定修改 输入修改后的信息 职工信息文件关闭 (4)信息删除模块 打开职工信息文件 输入您要删除的职工姓名 打开文件 输出职工信息 查询文件中相关的信息 已查到,记录 确实要删除,按1;不删除,按0 关闭文件5 系统流程图结束查询输入修改删除添加退出开始输入文件输入信息管理选择管理选择管理选择 图2 流程图其中:(1) 菜单选择模块完成用户命令的接受,此模块也是职工信息管理的入口,户所要进行的各种操作均需在此模块中进行选择,并进而调用其他模块实现相应的功信息管理的入口,用户所要进行的各种操作均需在此模块中进行选择,并进而调用其他模块实现相应的功能。(2) 信息输入模块完成职工信息的输入功能,输入信息包括姓名、住址、电话、工资等。(3) 信息查询模块完成已录入职工信息的显示。(4) 信息查询模块完成职工信息的查询,查询时对应有按工号查询和按姓名查询两种方式。 (5) 信息修改模块完成职工信息的修改功能。 (6)信息删除模块完成职工信息的删除功能。6 测试结果6.1 职工信息管理初始界面图3 职工信息管理初始界面6.2输入信息图4 输入信息6.3职工信息管理系统的功能图5 职工信息管理系统的功能7 总结通过为期一周的课程设计,我们对C语言这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们计算机科学与技术专业的学习中占据着十分重要的地位。同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。运用C语言中的算法思想作数据结构,结合C语言基本知识,编写一个通讯录管理系统。通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的文件操作,进一步熟悉指针的用法,数组的建立运用和函数的调用等。参考文献1 王连相.c+程序设计教程M. 北京:中国铁道出版社,2007. 2 谭浩强.C语言程序设计教程M.安徽:安徽出版社,1999. 3 谭浩强.C程序设计题解与上机指导M.北京:清华大学出版社,1999. 4 张志航, 王珊珊等.程序设计语言cM北京:清华大学出版社,2007. 5 张红梅, 于明.VisualC+程序设计实验教程M北京:中国铁道出版社,2004 6 周启海.C语言程序设计教程M.北京:机械工业出版社,2004 7 谭浩强.C语言程序设计教程(第三版)M.北京:清华大学出版社,2008 8 冉崇善.C语言程序设计教程M.北京:机械工业出版社,2009 9 张莉.C/C+程序设计教程M.北京:清华大学出版社,2007 10 杨文军,杨柳.C程序设计教程M.北京:清华大学出版设,2010 附录#include struct staff char name8; char num10; char sex10; char age10; char record10; char position15; char wanges10; char tel15; char addr50; one; /*定义一个结构体*/char filename20; /*文件名*/ FILE *fp;void creat(); /*定义一个创建函数*/ void output(); /*定义一个输出信息的函数*/ void search(); /*定义一个查询的函数*/ void append(); /*定义一个添加函数*/ void modify(); /*定义一个修改函数*/ void delete(); /*定义一个删除函数*/void exit();/*定义一个输出函数*/void main() /*主函数*/ int m;creat(); /*先调用creat函数*/while(1) printf(nn添加,请按1); printf(n查找,请按2); printf(n修改,请按3); printf(n删除,请按4); printf(n输出,请按5); printf(n退出,请按0n); /*输出提示信息*/ scanf(%d,&m); if(m=0&m=5) switch(m) case 1: append(); break; case 2: search(); break; case 3: modify(); break; case 4: delete(); break; case 5: output(); break; case 0: exit(); printf(nn操作完毕,请再次选择!); else printf(nn选择错误,请再次选择!); void creat() /*被调用的creat函数*/ struct staff one;printf(职工信息管理系统n);printf( 计算机系计科n);printf( 孔飞n);printf( n);printf(n请输入保存员工信息的文件名:); scanf(%s,filename); /*创建一个文件的名字*/ if(fp=fopen(filename,w)=NULL) /*打开文件,实现向文件输入数据*/ printf(n不能建立!); exit(); fprintf(fp,%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,姓名,工号,性别,年龄,学历,职位,工资,电话号码,住址); printf(n请输入职工信息(以0结束)n); printf(姓名:); scanf(%s,); while(strcmp(,0) printf(工号:); scanf(%s,one.num); printf(性别:); scanf(%s,one.sex); printf(年龄:); scanf(%s,one.age); printf(学历:); scanf(%s,one.record); printf(职位:); scanf(%s,one.position); printf(工资:); scanf(%s,one.wanges); printf(电话:); scanf(%s,one.tel); printf(住址:); scanf(%s,one.addr); /*输出职工的相关信息*/ fprintf(fp,%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr); printf(姓名:);scanf(%s,); fclose(fp); /*关闭文件*/ void output() /*输出函数*/ struct staff one;if(fp=fopen(filename,r)=NULL) /*打开文件*/ printf(n不能打开该文件!); exit(); printf(nn%20sn,职工信息管理系统);/*向文件输入数据*/ while(!feof(fp) fscanf(fp,%s%s%s%s%s%s%s%s%sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr); printf(%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr); fclose(fp);/*关闭文件*/ void append() /*添加函数*/ struct staff one;if(fp=fopen(filename,a)=NULL) /*打开文件*/ printf(n不能打开该文件!); exit(); printf(n请输入添加职工信息(姓名、工号、性别、年龄、学历、职位、工资、电话、地址)n);/*向文件中输入数据*/ scanf(%s%s%s%s%s%s%s%s%s,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr); fprintf(fp,%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr);fclose(fp); /*关闭文件*/ void search() /*查询函数*/ int k=0; char recordkey10; struct staff one;printf(n请输入您要查找的职工学历:); scanf(%s,recordkey);if(fp=fopen(filename,rb)=NULL) /*打开文件*/ printf(n不能打开文件!); exit(); while(!feof(fp) fscanf(fp,%s%s%s%s%s%s%s%s%sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr); if(!strcmp(recordkey,one.record) printf(nn已查到,记录为:); printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr); k=1; if(!k) printf(nn对不起,查无此人!。); fclose(fp); void modify() /*修改函数*/ int m,k=0; long offset; char namekey8; struct staff one;printf(n请输入您要修改的职工的姓名:); scanf(%s,namekey);if(fp=fopen(filename,r+)=NULL) /*打开文件*/ printf(n不能打开该文件!); exit(); while(!feof(fp) offset=ftell(fp); /*查找信息*/ fscanf(fp,%s%s%s%s%s%s%s%s%sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr); if(!strcmp(namekey,) k=1; break; if(k) printf(n已查到,记录为:); printf(n%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr); printf(n请输入信息(按照姓名、工号、性别、年龄、学历、职位、工资、电话、地址的顺序输入); scanf(%s%s%s%s%s%s%s%s%s,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr); fseek(fp,offset,SEEK_SET); printf(%ld,ftell(fp); fprintf(fp,%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15sn,,one.num,one.sex,one.age,one.record,one.position,one.wanges,one.tel,one.addr); else printf(n对不起,查无此人,无法进行修改。); fclose(fp); /*文件关闭*/ void delete() /*删除函数*/ int m,k=0,flag; long offset1,offset2; char namekey8, valid4; struct staff one;printf(n请输入您要删除的职工姓名:); scanf(%s,namekey); if(fp=fopen(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论