




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 报 告课程名称 C语言程序设计 课题名称 班级档案管理系统 专 业 轻化工程 班 级 轻化0702 学 号 200706020212 姓 名 唐 莹 指导教师 陈世清 扬子华 罗 敬 2009年 5 月 4 日湖南工程学院 课 程 设 计 任 务 书课程名称 C语言程序设计 课 题 班级档案管理系统 专业班级 轻化工程 学生姓名 唐 莹 学 号 200706020212 指导老师 陈世清 扬子华 罗 敬 审 批 任务书下达日期 2009 年 5 月 4 日任务完成日期 2009年 5 月 10 日一、设计内容与设计要求1设计内容:对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。2设计要求:1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。2)本系统显示这样的菜单:请选择系统功能项:a. 学生基本信息录入(要求先输入密码)b. 学生基本信息显示c. 学生基本信息删除(要求先输入密码)d. 学生基本信息修改(要求先输入密码)e. 学生基本信息查询(1) 按学号查询(2) 按姓名查询(3) 按性别查询(4) 按年龄查询f. 退出系统3)执行一个具体的功能之后,程序将重新显示菜单。4)将学生基本信息保存到文件中。5)进入系统之前要先输入密码。二、进度安排星期一 布置任务,查找资料。 星期二 确定总体方案,进行详细设计。 星期三 编写程序,上机调试。 星期四 编写程序,上机调试。星期五 答辩,总结。星期六星期天 写课程设计报告目 录一.设计目的1二、总体设计 12.1程序设计组成框图 52.2 流程图 6三、详细设计 83.1功能介绍 83.2用户使用说明书9四、调试与测试 104.1参考文献 104.2结果分析与问题讨论 114.3心得体会 12附件:源程序清单和评分表一 课程设计目的 全面熟悉C语言基本知识,进一步掌握程序设计与调试,结果分析的方法和技巧,进一步提高上机动手能力,养成提供文档资料的习惯,掌握程序化设计的重要思想,采用自顶向下,逐步求精的方法编制程序解决一些实际问题,为以后的学习和工作打下较好的基础。为将来使用和开发软件积累一些典型的案例处理经验。二 总体设计开始打开文件 密码函数结束录入功能退出功能删除功能修改功能查找功能显示功能功能菜单2.删除函数流程图开始学号调用strcmpy函数for循环,调用strcpy函数结束Del successful Del failed3.修改函数流程图开始密码学号for循环,调用strcmp函数学生的信息调用strcpy函数结束4.查找函数流程图开始选择查找方式By nameBy No.By sex By age学号性别年龄姓名调用函数调用函数结束三 详细设计3.1功能介绍问题描述:对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。基本功能:1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。2)本系统显示这样的菜单:请选择系统功能项:f. 学生基本信息录入(要求先输入密码)g. 学生基本信息显示h. 学生基本信息删除(要求先输入密码)i. 学生基本信息修改(要求先输入密码)j. 学生基本信息查询(1) 按学号查询(2) 按姓名查询f. 退出系统3)执行一个具体的功能之后,程序将重新显示菜单。4)将学生基本信息保存到文件中。5)进入系统之前要先输入密码。 3.2用户使用说明书Main()函数是程序的入口,程序从它开始执行,它里面包含了各个模块,其中也要声明一些变量通过调用各个函数实现各个模块的作用,并且包含一个switch选择语句,实现选择功能。Strcmp():字符串比较函数,进行密码等字符串的比较;Strcpy(): 字符串拷贝函数,进行字符串的拷贝;add():添加函数,用于添加学生信息;disp():显示函数用于显示学生信息;modi():修改函数用于修改学生信息;find():查找函数用于根据学号姓名进行查找;dele():删除函数用于删除学生基本信息;进入此程序主菜单时,首先必须正确输入正确的密码,如果输入错误,系统便提醒你再次输入密码;如果输入了正确的密码,便进入了主菜单。进入之后系统便提醒你从a,b,c,d,e,g中选择你要进行的操作。选择a便进入了显示学生基本信息的函数,系统便将储存的所有学生的基本信息显示出来。然后按Enter键便会回到主函数菜单。选择b便进入了增加学生基本信息的函数,进入此函数后按照系统的要求依次输入你要增加学生信息的人数,新增加学生的学号,姓名,性别,年龄和其他信息,然后核对系统显示学生的信息是否与你所输入的一致,无误后按Enter键接着输入下一个学生的信息。输入完毕后,按Enter键回到主菜单。选择便进入了删除学生基本信息函数,选择你要删除学生信息的学号,系统便进行删除。如删除成功系统便显示Dele sucessful;否则显示Dele failed.显示Dele failed则说明系统中没有你所要删除的学生的信息。按Enter键再回到主菜单。选择d便进入了修改学生基本信息菜单,进行修改前必须再次输入正确得密码,输入正确进入修改函数;错误,系统便提醒你再次输入密码。进入修改函数后,输入你要修改学生信息的学号,根据系统的显示依次输入新的学生的学号,姓名,性别,年龄和其他信息。核对系统所显示的学生的信息,无误后,按Enter键返回主菜单。选择e便进入了查找学生基本信息函数,进入此函数后,根据系统的提示选择你所要查找的方式。比如你若选择了2,则接着输入你所要查找的姓名。查找完之后按Enter键返回主菜单。四 、 调试与测试4.1、参考文献 1 谭浩强。C语言程序设计(第二版)。清华大学出版社M,1999 12(1):298-327 2 苏小红。C语言程序设计,电子工业出版社,2002 2 3 刘振安。C语言程序设计实训,清华大学出版社,2002 10 4 杨路明。C语言程序设计教程,北京邮电大学出版社 5 马靖善。C语言程序设计,清华大学出版社,20054.2结果分析与问题讨论 在调试过程中出现了很多问题.首先在调试时,忘了在main前加void导致程序不能运行!其次,有段程序后面忘记加“”了,而有的又忘记加“;”了。竟然范了这么幼稚的错误,实属不该啊。同时一些很常见的问题也不时出错!4.3 心得体会 按照教学安排计划,我们轻化班在十一周进行了一周的关于C语言的课程设计。 这次实习周给我们充足的时间自己构思,自己设计,自己调试,自己分析,同时还有专门的老师指导我们。通过这次的课程设计我体会很多,虽然书上的知识我们学完了,但由于C语言课上期就学完了,很多东西都慢慢的忘记了。虽然都只是些基础,但要真正掌握并且会灵活应用它来编程还真的难。我们平常没有什么机会去进行编程,这次刚开始时很无奈,但经过几天的上机实践以后自己也开始慢慢的去学习,去实践! C语言课程设计不仅能提高教学质量、增强教学效果、而且能培养和提高我们分析问题、解决问题能力和创新能力。老师在给我们定制的任务书中中,围绕我们的所学的书本的基本知识点引导引导我们思考和探索,是我们的思想活跃起来。课程设计完了,自己也掌握了一些知识!但自己要说真正掌握了很多知识的话,也没什么太多!但学习就是要不断的发现问题,才能不断的解决问题,不然不会有什么成效,更谈不上进步啦。实际上,问题是最好的老师,是学生学习的引导没有问题便没有深入。在C语言程序设计过程中,我们就是在问题解决中学习,即提出问题,老师也留了大量的时间给我们思考、讨论、解决问题,从而更深入地展开学习。这样就充分的调动了我们学习的积极性和主动性。老师教给学生正确的学习方法,给我们这么好的机会,让我们掌握C语言的的思想精髓在这次的实践过程中我独立的思考着这些问题,自己试着设计着这些比较有趣的课题,把课堂上学的for,Switch和while语句还有数组的使用和指针的用法与作用都有了进一步的认识。从这次编程中我认识到做什么事情要求绝对的细心,马虎不得。程序设计课程的实践性很强,通过这次实践也增强自己的动手能力。让自己在以后的学习中要努力,认真这次的课程设计题是班级档案管理系统,设计选题既接近实际需要,又能够让我们感兴趣、能够运用所学知识解决。锻炼了我们的动手能力,进一步培养我们分析问题、解决问题、研究和探索问题的能力和团队协作精神。C语言不仅仅要求我们掌握基本的语法知识,更要通过课程设计培养抽象思维和逻辑推理能力,掌握程序设计的思想和方法尽管在设计中遇到了不少的问题,回想起来最主要的原因就是对C语言程序设计的不熟悉和不了解,这样就算是遇到了错误了不知道修改,所以程序设计就无法进行下去。但是通过一周的课程设计,使我对C语言有了很大程度上的了解,也能掌握一写基本的有关C语言的知识。 通过这次的程序设计周,让我明白了只有努力,只要自己真正的去做一件事情,认真,仔细!这样才能让自己不仅在这一周,更在以后的学习和工作中有很好的耐心,才能做出一番成就!附件:源程序清单#include#include#includechar f20=8681208;struct char number10; /*学生学号*/ char name20; /*姓名*/ char sex5; /*性别*/ int age; /*年龄*/ char zb100; /*备注*/ stu50=010101,hujiping,Boy,22,12-503,010102,huzhiquan,Boy,23,12-303,010103,liuxiang,Boy,19,12-303,010104,chenrenming,Boy,20,12-303,010105,yulinghua,Boy,22,12-303,010106,yaomin,Boy,23,12-303,010107,yijianlian,Boy,22,12-303,010108,wurongsheng,Boy,19,12-303,010109,liulinan,girl,18,12-303,010110,weigong,girl,23,12-303; /*数组初始化*/int add(int a) /*学生基本信息录入函数*/char j10,m1, k20,l4,p50;int w,i,n;clrscr(); /*清屏处理*/printf(n add students number:);scanf(%d,&n);for(i=a;in+a;i+) printf(n Add the information of students); printf(nn please enter the No.: ); scanf( %s,j); printf(n Enter the name:); scanf( %s,k); printf(n Enter the sex:); scanf( %s,l); printf(n Enter the age: ); scanf( %d,&w); printf(n Enter the more information: ); scanf( %s,p); strcpy(stui.number,j); /*拷贝学生基本信息*/ strcpy(,k); strcpy(stui.sex,l); stui.age=w; strcpy(stui.zb,p); getchar(); printf(nPlease check it:); printf(n No. name: sex: age: more information: n); printf(%-10.10s%-15.15s%-10.10s%-8d%-25.25sn,stun.number,,stun.sex,stun.age,stun.zb); getchar(); return n+a; disp(int m,int n) /*学生基本信息显示函数*/ int i; printf(nn The information of all students:); printf(nn No. name: sex: age: more information:n); for(i=m;i=n;i+) printf(%-10.10s%-15.15s%-10.10s%-8d%-25.25sn,stui.number,,stui.sex,stui.age,stui.zb); getchar(); modi(n) /*学生基本信息修改函数*/ char j10,m1,k20,l4,p50; int o,i,x=0; char h20; clrscr(); /*清屏处理*/ printf(n please enter your password:); /*身份验证*/ scanf(%s,h); if(strcmp(h,f)&x+3)return; printf(n Motify the information of students:); printf(nn please enter the NO.:); scanf(%s,j);for(i=0;in;i+) /*修改基本信息输入*/ if(strcmp(j,stui.number)break; printf(n enter the new name:); scanf(%s,k); printf(n enter the sex:); scanf(%s,l); printf(n enter the age:); scanf(%d,&o); printf(n enter the more information:n); scanf(%s,p); strcpy(stui.number,j); /*拷贝学生基本信息*/ strcpy(,k); strcpy(stui.sex,l); stui.age=o; strcpy(stui.zb,p); printf(n please check it:); printf(%-10.10s%-15.15s%-10.10s%-8d%-25.25sn,stui.number,,stui.sex,stui.age,stui.zb); getchar(); find(n) /*学生基本信息查找函数*/ int l,s;clrscr(); printf(nnSearch the information of the studentsn); printf( (1)Search by No.n); printf(2)Search by namen); printf( Other key to main menunn); printf( Please choose one:); scanf(%d,&l); switch(l) /*switch语句查找*/ case 1: /*按学号查找*/ char r10; int s; printf(nPlease enter the No.); scanf(%s,r); for(s=0;s=n;s+)if(strcmp(stus.number,r)=0) disp(s,s-1); return; printf(n Enter error!n Please press any key with Enter key back!); getchar(); return; case 2: /*按姓名查找*/ char r10,m1; int s; printf(n Please enter the Name.); scanf(%s,r); for(s=0;s=n;s+) if(strcmp(,r)=0) disp(s,s-1);return; printf(n Enter error!n Please press any key with Enter key back!); getchar(); return; dele(n) /*学生基本信息删减函数*/ char r10,l1;int s,t,u,; clrscr(); printf( Please press the No. you want to del:); scanf(%s,r); for(s=0;s=n;s+) if(strcmp(stus.number,r)=0) for(t=s;t=2)printf(error!); getchar(); exit(0); for(;) clrscr(); /*班级档案管理系统欢迎界面*/ printf(nnrrrt 211 HuaGong0501 Dangan guanli 2221n); print
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 德州市模拟考试速写题及答案
- 天水市语文中考试题及答案
- 2025年公需课《生产安全事故应急条例》考试题及答案
- 2025年高压电工操作证理论考试笔试试题含答案
- 2025年高级电工试题库(有答案)
- 锦州物理中考试题及答案
- 衡阳公共食堂管理办法
- 贷款管理办法修订通知
- 专家评审技术管理办法
- 产品影像资料管理办法
- 2025企业销售人员劳动合同
- 2025年甘肃省工会系统招聘工会工作者183人考试参考试题及答案解析
- 2025江苏宿迁沭阳县司法局招聘人民调解员1人备考试题及答案解析
- 白内障手术培训课件
- 西藏朗县2025年上半年公开招聘村务工作者试题含答案分析
- 科学版(2024)一年级全一册体育与健康全册教案(表格式)
- 2025年高一上学期开学第一课主题班会课件
- GB/T 17642-2025土工合成材料非织造布复合土工膜
- 回族做礼拜的念词集合6篇
- 《全面质量管理》习题集
- 地铁第三方检测技术要求(共30页)
评论
0/150
提交评论