




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计姓名: 学号: 班级: 学院: C语言程序设计实践课程要求一、课程综述利用C语言的编程知识和编程技巧,完成具有一定难度、一定编程量的课程设计题目,从而掌握高级编程语言的知识和编程技术,掌握程序设计的思想和方法,具备利用计算机求解实际问题的能力。为C+等编程技术的学习奠定必要的实践基础。二、课程目标1、通过本课程的实践,培养自学、独立思考、分析和解决问题的能力。2、通过对需求的分析,确立方案,编制程序与调试程序,初步掌握C程序设计的方法。3、能熟练调试程序,完成课题任务。4、根据个人的设计调试过程,撰写设计报告。三、课程内容设计职工信息管理系统软件,满足以下要求:1. 可以在DOS命令行下完成下列操作:a) 可录入职工信息:工号(若工号已存在则提示)、姓名(拼音字母)、电话(含0开头号码),并显示是否操作成功;b) 可删除指定工号的信息,并显示是否操作成功;c) 可修改指定工号的各项信息,并显示是否操作成功; d) 可查询指定工号的信息,操作后输出信息到屏幕;e) 可输出全部职工信息到屏幕;f) 所有职工信息存储到文本文件,程序再次打开时自动读取文本文件中的信息;2. 软件的设计必须满足以下要求:a) 必须使用附录规定的程序流程、函数名称、调用关系和数据结构与定义名称;b) 软件至少包含.c和.h文件共3个以上;流程与模块写入内存中的职工信息到文件write()读取文件中的职工信息到内存read()程序结束main()程序入口main()录入(修改内存中数据)input()显示菜单接受指令menu()查询(读取内存中数据)lookup()修改(修改内存中数据)modify()删除(修改内存中数据)delete()输出全部(读取内存中数据)view()数据结构 1.职工信息详细内容使用malloc开辟的结构体类型数据存储struct workerchar number20; char name20; char tel20;2.索引使用一维指针数组存储worker *index10000 (人数10000) index0index1index2index3index4worker * index 100002000206021200000000002000201101zhangsan031578955552060201102lisi031578966662120201103wangwu03157897777四、信息描述职工信息包括职工号、姓名、电话等。五、解决方案1、首先进行需求分析,搞清楚系统功能和任务;2、然后在总体设计中确定模块结构、划分功能模块,将软件功能需求分配给所划分的最单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略;3、在详细设计中,为每个模块确定采用的算法,选择适当的工具表达算法的过程(流程图)来描述模块的详细过程。确定每一模块采用的数据结构和模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口;4、根据分析编写C语言代码。六、进度安排1、 分析设计阶段。在老师的指导下自主学习和钻研问题,明确设计要求,找出现实方法。按照需求分析、总体设计、详细设计几个步骤进行。2、 编码调试阶段。根据设计分析方案编写C语言代码,然后调试该代码,实现课题要求的功能。3、 总结报告阶段。总结设计工作,写出课程设计说明书,包括需求分析、总体设计、详细设计、编码、测试的步骤和内容。4、 考核阶段。七、写课程设计总结课程设计报告要求总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结和参考资料等。八、参考资料 C程序设计(第三版) 谭浩强 著 清华大学出版社 C程序设计题解与上机指导(第三版 ) 谭浩强 编著 清华大学出版社九程序设计如下1 主函数 主函数设计要简洁,只提供部分函数的调用。其中各功能模块用菜单方式选择.2录入(修改内存中数据) 录入所用的职工信息。3删除(修改内存中数据) 根据职工号删除职工信息。4修改(修改内存中数据) 根据职工号查找修改职工信息。5查询(读取内存中数据) 根据职工号查询职工信息。6.数据输出 将所有职工信息输出到屏幕上。7.运行与测试报告:三 后记/课程设计过程中遇到的问题以及解决方法,课程设计的体会。这次课程设计让我掌握了许多的有用知识。首先我能够熟练的应用软件Microsoft Visual C+ 6.0 了。再就是我能够根据自己的需要设计程序,这将对我以后的生活有非常重要的影响。同时我掌握了解决问题的方法,这无论是对以后的学习、生活都有无比重要的价值。 在设计中,我遇到了不少的困难,比如不能清晰的建立设计模块,然后我向同学寻求帮助,向他们学习,最终通过自己努力建立了模块。还有就是起初我设计的程序总是有错误,我细心的修改,不断的改进,最终我做出了自己非常理想的程序! 附录:源程序清单#include #include #include void main();void input();void read();void write();void menu();void delet();void modify();void lookup();void view(); int count;struct workerchar number20; char name20; char tel20;*index10000; /.h文件#include1.hvoid main()char a;int t,b;read();menu();do printf(选择操作步骤(1-5):); scanf(%d,&t); switch(t) case 1:printf(n);input();break;case 2:printf(n);delet();break;case 3:printf(n);modify();break;case 4:printf(n);lookup();break;case 5:printf(n);view();break;default :break; printf(n); printf(继续操作按1,退出按0n); scanf( %c,&a); if(a=1) menu(); b=1; else b=0; while(b=1);write(); /.c1文件# include1.hvoid read() FILE *fp;int i;count=-1;if(fp=fopen(zhigong.txt,r)=NULL) /p346printf(cannot open filen);exit(0);for(i=0;i10000&(feof(fp)=0);i+)indexi=(struct worker * )malloc(sizeof(struct worker);fread(indexi,sizeof(struct worker),1,fp);count+;fclose(fp);void write() FILE *fp;int i;if(fp=fopen(zhigong.txt,w)=NULL)printf(cannot open filen);exit(0);for(i=0;i=1&n=10000) n=n+i;count=n;for (i;in;i+) b=0;indexi=(struct worker *)malloc(sizeof(struct worker);printf(请输入第%d个职工工号:,i+1);scanf(%s,(*indexi).number);for (a=0;ai;a+)if(strcmp(*indexa).number,(*indexi).number)=0)printf(-该记录已存在,请重新输入-n.);i=i-1;b=1;if (b=1) continue;printf(输入职工姓名:);scanf(%s,(*indexi).name);printf(输入职工电话:);scanf(%s,(*indexi).tel); printf(录入成功!n) ; printf(继续录入按1,不再录入按0n); scanf(%d,&t); switch (t) case 0:break; case 1:input();break; default :break; else printf(无法录入); void delet() int i,j,b,t; char number20; printf(输入要删除职工的工号:); scanf(%s,&number); for(i=0,b=1;b&icount;i+) if(strcmp(*indexi).number,number)=0) printf(n已找到此号,原始记录为:n); printf(%-20s%-20s%sn,(*indexi).number,(*indexi).name,(*indexi).tel); b=0; if(b=0) free(indexi-1);for(j=i-1;jcount;j+) indexj=indexj+1; count=count-1; else printf(n没有此号n); printf(继续删除按1,不再删除按2n); scanf(%d,&t); switch(t) case 1:delet();break; case 2:break; default:break; void modify() char number20;char name20;char tel20;int i,b,c,t;printf(输入要修改的职工的工号:);scanf(%s,number);for(i=0,b=1;b&icount;i+)if(strcmp(*indexi).number,number)=0) printf(n已找到此号,原始记录为:n); printf(%-20s%-20s%-20sn,(*indexi).number,(*indexi).name,(*indexi).tel); printf(n需要修改的项n 1.工号 2.姓名 3.电话); printf(请输入要修改的项的序号(1-3):n); scanf(%d,&c); switch(c) case 1:printf(工号改为:);scanf(%s,number);strcpy(*indexi).number,number);break;case 2:printf(姓名改为:);scanf(%s,name);strcpy(*indexi).name,name);break;case 3:printf(电话改为:);scanf(%s,tel);strcpy(*indexi).tel,tel);break; b=0; if(b=1) printf(n没有此号!n); printf(继续修改请按1,不再修改按0n); scanf(%d,&t); switch(t) case 1:modify();break;case 0:break; default:break; void lookup() char number20; int i,b,n,t; n=count; printf(请输入要查找的工号:n); scanf(%s,number); for(i=0,b=1;b∈i+) if(strcmp(*indexi).number,number)=0) printf(n已找到此号,原始记录为:n); printf(%-20s%-20s%-20sn,(*indexi).number,(*indexi).name,(*indexi).tel); b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 花明楼机关管理制度
- 茶厂进出货管理制度
- 防突资料室管理制度
- 设备保养规范
- 茶具生产项目沟通与冲突管理方案
- 落地式双排脚手架搭拆方案
- 管理学案例分析1477049724
- 津巴布韦礼仪分析
- 墨西哥湾原油泄漏事件案例分析
- 财务会计与财务管理基础知识考试分析重点(一)
- 不寐患者的护理查房
- 污水处理厂工程投标方案技术标
- 2023Vayo-DFX设计执行系统软件操作说明
- 《电力机车制动机》课件 7-01 制动缸压力计算
- 基于人工智能的智慧农业应用案例
- 《血液标本采集技术》课件
- 油藏工程教程-第04章-油气藏压力与温度
- 人力资源员工请假流程规定
- 研究开发费加计扣除核查报告模板
- 胆汁性胸膜炎查房
- 南川水江-涪陵白涛天然气管道工程环评报告
评论
0/150
提交评论