电子生词库软件学生选修课程系统设计C语言版.doc

上传人:本田雅阁 文档编号:2043851 上传时间:2019-02-08 格式:DOC 页数:59 大小:468.52KB
返回 下载 相关 举报
电子生词库软件学生选修课程系统设计C语言版.doc_第1页
第1页 / 共59页
电子生词库软件学生选修课程系统设计C语言版.doc_第2页
第2页 / 共59页
电子生词库软件学生选修课程系统设计C语言版.doc_第3页
第3页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《电子生词库软件学生选修课程系统设计C语言版.doc》由会员分享,可在线阅读,更多相关《电子生词库软件学生选修课程系统设计C语言版.doc(59页珍藏版)》请在三一文库上搜索。

1、程序设计基础 题目:电子生词库软件 52C语言程序设计实训任务书题目:学生选修课程系统一、设计目的1.进一步掌握和利用C语言进行程序设计的能力;2.进一步理解和运用结构化程序设计的思想和方法;3.初步掌握开发一个小型实用系统的基本方法;4.学会调试一个较长程序的基本方法;5.学会利用流程图或N-S图表示算法;6.掌握书写实训开发文档的能力(书写实训报告)二、设计任务及内容假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:1.系统以菜单方式工作2.

2、课程信息录入功能输入3.课程信息浏览功能输出4.查询功能:算法(选一)1)按学分查询课程信息2)按课程性质查询课程信息5.学生选修课程6.按课程编号顺序插入一门课程信息7.按课程名称删除一门课程信息8.按课程名称的字典顺序输出所有课程信息。三、设计要求1.用C语言实现系统;2.利用结构体、数组等实现数据结构设计;3.系统具有增加、查询、插入、排序等基本功能;4.系统的各个功能模块要求用函数的形式实现;5.文档:实训说明书每个学生一份,并装在统一的资料盒中; 6.光盘:每个学生文档和程序资料分别建在一个以自己学号和姓名命名的文件夹下,并要求每班负责人汇总每个学生的文件放在以班级姓名命名的文件夹下

3、,刻录成一张光盘,放在一个专门的资料袋中。四、提交的成果1. 设计任务书一份(学校统一格式)2. 设计说明书一份,内容包括:1) 中文摘要100字,关键词3-5个。2) 实训题目、内容、要求。3)总体设计(包含几大功能模块)。4)详细设计(各功能模块的具体实现算法流程图)5)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。6)调试分析(包含各模块的测试用例,及测试结果。)7)总结(实训完成了哪些功能,还有哪些地方需要改进,及通过实训有何收获,调试程序的体会等)8) 参考文献、致谢等。五、主要参考资料1. 王连相.C/C+程序设计 武汉大学出版社.2013.72. 谭浩强C语言程序设计(

4、第2版)学习指导清华大学出版社.2012.12 3. 杨莉,龚义建C语言程序设计实训指导教程华中科技大学出版.2009.64. 张小东,郑宏珍C语言程序设计与应用人民邮电出版社.2009.45. 郭翠英C语言课程设计案例精编中国水利水电出版社 2004.03.016郭有强C语言程序设计清华大学出版社 2009.02.017李丹程,刘莹,那俊C语言程序设计案例实践清华大学出版社2009.02.018李丽娟C语言程序设计教程人民邮电出版社2013.01.019武雅丽,王永玲,解亚利C语言程序设计清华大学出版社2009.02.01六、各阶段时间安排(共1周)日期内容地点完成情况教师签字星期一教师讲解

5、设计要求,准备参考资料教室星期二分析系统,方案设计教室星期三方案设计,编程教室星期四调试程序,书写实训说明书教室星期五完成实训说明书,答辩教室兰州理工大学技术工程学院摘 要20世纪末,随着计算机科学的发展,网络的应用越来越广泛,为广大用户提供了更加周到和人性化的服务。本文研究了以一种基于文件存储的学生选修课程系统。本系统是根据现代化校园的发展而设计的学生学修课程系统,本系统方便老师、家长来学校查找学生成绩、最近奖罚等多种情况。随着教育改革的不断深入和素质教育的加强完全学分制的实施,选修课在一个学生的培养计划中站的比重越来越大!使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开

6、课前就确定好,不用浪费体力去选课,还可以使教学资源合理平均地分配。关键词:学生选课;C语言;文件存储 目 录1绪 论11.1基本内容11.2发展趋势11.3用途及特点12问题需求分析32.1问题的提出32.2问题的分析33总体设计53.1总体设计思路53.2总体设计模块介绍及框图54详细设计74.1各模块流程图7 4.1.1主函数模块7 4.1.2管理员模块7 4.1.3 学生模块8 4.1.4 创建链表模块9 4.1.5 浏览模块10 4.1.6 查询模块11 4.1.7插入链表模块12 4.1.8 添加模块13 4.1.9 删除模块14 4.1.10 选修课程模块15 4.1.11 读取文

7、件模块16 4.1.12 保存文件模块174.2函数功能具体实现及算法185.调试及分析过程195.1各模块运行结果20 5.1.1开始运行20 5.1.2管理员菜单20 5.1.3按1进入录入课程模块21 5.1.4输完课程信息后进入管理员浏览模块21 5.1.5按课程性质查询22 5.1.6按课程学分查询22 5.1.7按4进行管理员删除模块23 5.1.8学生菜单23 5.1.9按1学生浏览所有课程24 5.1.10按学分查询课程25 5.1.11按3进入选修课程模块25 5.1.12按4进入浏览已选修的课程26 5.1.13按5进入删除错选课程模块27 5.2调试过程中出现的问题28

8、5.2.1问题的提出28 5.2.2问题分析28 5.2.3问题解决建议296总结297设计优缺点307.1不足之处与改进之处317.2收获与总结317.3程序的优缺点31参考文献32致 谢33附录:34源程序代码351绪 论1.1基本内容随着教育改革的不断深入和素质教育的加强完全学分制的实施,选修课在一个学生的培养计划中站的比重越来越大!学生在选课时要查看各个课程的详细信息,还有选择一些感兴趣的课程,需要生成课表,在发现课程有冲突后能够修改先前选择的信息。各高校课程改革的不断深入,学校规模不断扩大、课程项目不断增多,为了解决学生选课管理上的复杂繁琐的人工操作,制作一个选修课程系统已经迫在眉睫

9、了。全校性选修课的目的在于扩大学生的知识面,加强学生素质教育,培养复合型高级人才,具有不可替代的重要性!1.2发展趋势对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息系统的环境。计算机的最到好处的于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息管理工作规范化、系统化、程序化,避免学生

10、选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。1.3用途及特点现代的社会是信息化的社会,信息无所不在。在生产领域、流通领域、各个部门每天都和信息打交道,如何处理如此多的信息成为了一个重要的课题。学生在学期开始选课是教学活动中的一个重要环节,该环节如果能管理好,它不仅能加快学生的选课速度,也提高了整个活动工作的效率。大学一般都有上万名学生,每学期开始学生都要选课,因而产生了大量的课程信息。考虑到用户使用的方便和处理的信息量系统要完成录入,保存,查询,修改和删除课程信息的各种过程,能打印出课程信息表。系统的主要使用对象是需要选课的学生。需要随学生选课选课的

11、变化,计算相应的总学分。在全部选定后打印报表。系统还需要管理员来查看和修改学生的总体选课情况课程信息和学生信息。此系统系统选课方便、快捷,用简单的界面来展示学生的选课信息,应用简单明了、存储量大、可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学生信息管理的效率。利用C语言开发,实现了简单的学生课程信息的录入、修改、查询、删除等操作,并且能够利用文件系统长久的保留原始数据。2问题需求分析2.1问题的提出 随着教育的改革,各高校的大规模扩展,专业的剧增,以老师授课为主的传统的教育模式已不再适应当今中国的各高校的现状。并且,在课表的编排上市意向十分复杂、棘手的工作。在派克过程中,除了满足

12、大量的制约条件外,还必须解决许多冲突域矛盾。因此,利用网络进行选课和对学生的授课,应经成为名正言顺的事,并且必不可少了。那么如何创建一个网络选修课程系统呢?如何实现学生网上根据自己的时间安排,随时随地的学习呢?这成了研究网络选修课程人员的一大问题了。2.2问题的分析大学期间总会有很多公共选修课,以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有些课堂无人选课。原因是传统的选课方法没有预见性,大家没有事先协调好。这种局面是长期以来在高校中产生的,短时间内根本无法改变这个现状。使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好

13、,不用浪费体力去选课,还可以使教学资源合理平均地分配。 本系统开发的目的是采用信息化和网络化的手段,帮助学生和学校信息化的管理选课教学任务。教育制度的改革,学生数量的剧增,无疑给网络选修课程提供了一个前所未有的机会。为方便用户根据自己时间随时随地的学习,特开发此系统。为学校将老师的授课视频直接放在学校官网上,学生通过官网,随心所欲地在学生选课系统进行学习。这样不仅节省了学生们的时间,更为学校省下了许多师资资源。学校可以将这部分省下来的师资资源用在学术研究方面、教育方式研究等方面。 当前大部分学校没有一个完善的学生选修课程系统,计算机使用主要基于microsoft office,不能发挥有效的作

14、用,而且随着我国教育的改革,学生可以选择科目多样化,使得学校对学生选修课程管理趋于繁琐、复杂,工作量大,这种传统的学校选修课程模式已不能满足当前的发展。实现学生选修课程的系统化、规范化、自动化以及全面的、相对集中化,为学生提供全面的选课数据信息,为有效的控制选课提供有力的帮助;为学校做到及时、准确地掌握选课情况,为选修课程做好部署工作。本系统是为高校学院制定的个人选课及管理的现代化信息平台,学生能过浏览器进行网上选课和并且可以查询自己的选课计划及所选课程进度。同时,管理员可以通过游览器进行课程添加、删除和修改。这无论对于学生和教师管理员来说都节省了大量的工作量。充分利用网上选课系统来提高教学选

15、课管理的效率,实现全面网络化、规范化和集成化。3总体设计3.1总体设计思路通过对课题的分析,程序的要求是设计选修课管理系统,对选修课程能够进行录入和修改操作等,要求有主界面和退出功能。首先,考虑到程序的数据输入,可以设置一个管理员登陆选项,通过该界面,进行选修课的录入和修改操作,最后将录入的课程存到相应的文件中。然后定义各种函数的功能包括:查看、查询、删除等。另一个为学生登陆界面,该界面学生可以进行课程选择和浏览查询等操作。在进行该操作之前需要对管理员保存的文件进行读取,然后对其中的东西进行查询等。在学生选好课程以后,可以将选好的课程保存于相应的文件中,以便下次进行修改。通过函数的层层调用来实

16、现程序的逻辑结构。中间通过文件的打开和关闭实现对文件内部所包含的数据操作。然后通过对课题的分析,必须实现的功能有主线程对四大线程的随机调度以及输出结果显示等。我们为了方便用户控制管理,又添加了一些更人性化的功能如人工调试,运行配置等功能。主要运用了顺序结构、选择结构和循环结构等多种基本结构,同时文件存储信息的方式更是简化了程序结构,使程序读起来更容易懂。除此之外,本系统采用分块实现功能,将要实现的增加课程信息、修改课程信息、删除课程信息、增加学生信息和修改学生信息等功能分别用不同的子程序来完成,这样不仅方便了我们程序调试,更提高了程序的移植性。 为了方便用户控制管理,本系统添加了一些更人性化的

17、功能如人工调试,运行配置等功能。主要运用了顺序结构、选择结构和循环结构等多种基本结构,同时文件存储信息的方式更是简化了程序结构,使程序读起来更容易懂。除此之外,本系统采用分块实现功能,将要实现的增加课程信息、修改课程信息、删除课程信息、增加学生信息和修改学生信息等功能分别用不同的子程序来完成,这样不仅方便了我们程序调试,更提高了程序的移植性。3.2总体设计模块介绍及框图本系统由一个主模块和多个子模块组成,主模块有管理员和学生两个模块。管理员模块主要功能是添加课程信息、删除课程信息等,而学生模块则主要管理学生信息及选课问题等。主模块管理员模块学生模块浏览课程查询课程添加课程删除课程浏览所有课程查

18、询课程信息选择选修课程浏览所选课程删除错选课程 图3-1 总体模块框图4详细设计4.1各模块流程图4.1.1主函数模块主函数设计地比较简洁,只是提供一个主菜单和几个函数的调用以及显示函数。switch语句将整个程序分为三个大的功能模块。其具体流程图如下:开始选课系统以管理员身份登录以学生身份登录退出系统 图4-1 主函数模块图4.1.2管理员模块管理员的功能一共有四个功能:浏览,查询,添加,删除课程,运用字符串处理函数处理密码的问题,若密码正确,则可以进入管理员模块。否则重新输入名,当密码输入错误达到3次,则不能进入管理员模块。密码次数用了一个int型的变量来计数。用一个switch语句实现函

19、数的调用: 输入密码进入系统密码次数3开始结束 是否 图4-2 管理员模块流程图 4.1.3 学生模块 学生的功能一共有四个功能:浏览所有课程信息、查询课程信息、选择选修课程、浏览所选课程、删除错选课程等。用一个switch语句实现函数的调用:开始输入是否为2查询课程信息break输入是否为1浏览所有课程break结束输入是否为3选择选修课程break输入是否为4浏览所选课程break输入是否为5删除错选课程break输入是否为6返回主菜单break是否是否是否是 否是否是否 图4-3 学生模块流程图4.1.4 创建链表模块 利用链表的创建、插入、删除和查询等功能。以菜单选项形式体现出来,实现

20、课程信息的增加、学生信息的增加、课程信息的删除以及学生信息的修改等等。运用链表实现这些功能可以与用户良好的交互。Scanf(num,name,kind,&stime,&ttime,&etime,&score,&term);Tail-next=NULL;Return head;开始输入选修课程信息Num1!=0为结构体的每个元素都创建一个链表Num1!=0Tail-next=p;Tail=p;Head=p创建失败创建成功创建失败 图4-4 链表创建流程图4.1.5 浏览模块浏览模块主要用管理员中的“浏览课程”和学生功能中的“浏览所有所有课程”,将所有的课程信息输出,即将2.txt文件里面的内容全

21、部输出: 浏览所有课程SUB *ptr;head=NULL;readfile();Head=NULLPrintf(NO RECORDS);Return;输出课程信息结束是否 图4-5 浏览模块流程图4.1.6 查询模块查询模块主要用于管理员功能中的“查询课程”和学生功能模块中的“查询所有课程”,查询模块共分为三个查询方法:按课程名称查找,按课程性质查找和按学分查找switch语句中,每一个case语句就是一中查询方法:开始输入是否为1按课程性质查找break输入是否为2按学分查找break结束输入是否为0按学分查找break 图4-6 查询模块流程图4.1.7插入链表模块插入链表操作主要用于添

22、加课程,在整个课程信息中加入一些新课程,它在添加模块中被调用:否是 是 是插入失败是否否是是否插入链表模块SUB *p1,*p2;p1=subj;head=NULLhead=p1;head-next=NULL;p2=head;p2;p2=p2-next;p2-next=NULLp2-next=subj;subj-next=NULL;break;eturn head 结束 图4-7 插入链接模块流程图4.1.8 添加模块添加模块主要用于增加课程信息,采用链表的操作:是否插入课程信息SUB *ptr,*subj;int size=sizeof(SUB);char ch,ch1;ch!=0输入(课程

23、信息、课程编号、课程名称、课程性质、总学分、授课学分、实践或上机学时)ch1=getchar();ch=getchar();Return head;myInsert(subj);printf(nn继续插入请按回车n);printf(n结束添加课程按 0 )结束 图4-8添加模块流程图4.1.9 删除模块删除模块主要用于管理员删除课程信息学生删除自己的选课,全部采用删除链表中的某一个节点的操作:开始输入想要删除编号进行编号查找并删除继续删除结束删除是否 图4-9删除模块流程图4.1.10 选修课程模块选修课程模块采用插入链表的操作:开始输入有要选课程编号对输入的信息进行查找判断有此课程信息选课成

24、功无此课程信息开始 图4-10选修课程模块流程图4.1.11 读取文件模块读取文件模块是用来读出文件内容,并将内容输出到内存中,当输入文件名时,就能打开指定的文件,当输入all_sub.txt时,打开所有课程信息的文件,当输入my_sub.txt时,就是浏览学生选修的课程信息。开始输入课程信息文件夹名称!feof(fp)newSub=(SUB*)malloc(sizeof(SUB);fscanf(fp,&newSub-num,newSub-name,newSub-kind,&newSub-stime,&newSub-ttime,&newSub-etime,&newSub-score,&newS

25、ub-term);myInsert(newSub);关闭文件结束打开文件失败否是 图4-11读取文件模块流程图4.1.12 保存文件模块保存文件模块共分为两个子程序,将修改的信息保存到2.txt文件中,开始系统检测要保存的文件p=head;p=p-next将修改后的文件保存关闭文件结束保存失败 图4-12 保存文件模块流程图 4.2函数功能具体实现及算法4.2.1各函数的具体功能 int main() 程序主函数,程序入口 void Mangers() 管理员主菜单,管理员入口 Void SUB *create_form() 创建链表结构 void savefile() 将新增加的课程信息保存

26、到文件中 void savefile1() 将修改后的课程信息文件保存到文件中 void readfile() 阅读文件 void prin() 浏览所有课程 void prin1() 浏览所有选修课程 void *myInsert( SUB *subj) 链表插入操作 void *insert() 插入课程信息 void *del() 删除课程 void choose() 选新课程-学生选课函数 void search() 课程信息查询 void Students() 学生登录入口4.2.1各函数的实现的具体算法 本系统程序中主要用到的算法有:二分法、冒泡排序法等算法。其中,在新增课程信息,

27、查找课程信息,修改课程信息,浏览可选课程等多种以管理员方式进入的课程信息操作都运用了二分法。以学生身份登录的进入的课程信息操作则主要运用了冒泡排序法。冒泡排序法和二分法作为C语言中最为基础的算法,运用却相当的广泛,本系统主要运用了二分法和冒泡排序法的查找功能。5.调试及分析过程5.1各模块运行结果 5.1.1开始运行 程序开始运行进入登录界面,输入1:以管理员身份登录输入密码1,输入2:以学生身份登录,输入3:退出登录界面。图5-1 运行结果图 5.1.2管理员菜单 进入管理员菜单。输入1:录入所有要选择的课程,输入2:浏览所有录入的课程,输入3:查询录入的课程,输入4:删除录入的课程,输入5

28、:返回主菜单。图5-2 管理员菜单图 5.1.3按1进入录入课程模块 进入录入课程界面,输入课程编号、课程名称、课程性质、总学时、授课学时、实践或上机学时、学分、开课学期,添加完毕后点击回车继续添加,输入0结束添加。图5-3 录入课程模块运行结果图 5.1.4输完课程信息后进入管理员浏览模块 输入完课程信息程序将自动对课程编号进行排序,将录入的课程信息结果表示出来,按任意键退出此界面。图5-4 输完课程信息运行结果图 5.1.5按课程性质查询 进入课程查询界面,选择查询方式选择1按课程性质查找,将所有课程性质相同的课程查找出来,选择3退出查找界面。图5-5 进入管理员浏览模块运行结果图 5.1

29、.6按课程学分查询 进入课程查询界面,选择查询方式选择2按课程学分查找,将所有课程学分相同的课程查找出来,选择3退出查找界面。 图5-6 按课程性质查询运行结果图 5.1.7按4进行管理员删除模块 在管理员菜单栏中输入4进行课程删除,将要删除的课程编号输入完成删除课程,按回车继续删除,按0结束删除课程。图5-7 管理员删除模块运行结果图 5.1.8学生菜单 进入学生菜单栏,选择1浏览可选的所有课程,选择2查询所有课程的信息,选择3选择自己需要选修的课程,选择4浏览自己所选修的课程,选择5删除自己在选课时选错的课程,选择6返回主菜单 。图5-8 学生菜单运行结果图 5.1.9按1学生浏览所有课程

30、 进入学生菜单,选择1进入浏览所有课程界面,可以查看所选择的课程信息。图5-9 学生浏览所有课程运行结果图 5.1.10按学分查询课程 进入学生查询界面选择2按学分查找,开始查找需要修习的课程。图5-10 按学分查询运行结果图 5.1.11按3进入选修课程模块 在学生菜单中选择3进入选择选修课程界面,将需要选修的课程的编号输入按0确认所选修的课程,成功选择课程。将选择的课程的信息保存到3.txt文档中。按任意键继续。图5-11 进入选修课程模块运行结果图5.1.12按4进入浏览已选修的课程 在学生菜单中选择4进入浏览我选修的课程界面,将会将所有已选修的课程信息展示出来,按任意键继续。图5-12

31、 进入浏览已选修的课程运行结果图5.1.13按5进入删除错选课程模块 在学生菜单中选择5进入删除错选课程界面,将错选的课程的编号成功删除错选课程,如果继续删除错选课程请按enter,按0结束删除错选课程菜单,删除错选的课程的信息保存到3.txt文档中。按任意键继续。 图5-12 删除错选课程模块运行结果图5.2调试过程中出现的问题5.2.1问题的提出 程序编写完成后,都需要经过调试,看其是否达到了指定的功能。但主要还是修改其中出现的大大小小的问题。本次设计中出现的问题有: 1.调试过程中无法读取文txt文件。 2.密码不能用户自定义。 3.一旦关闭这个变异环境后,所增加的课程信息,学生信息不能

32、长久保存。5.2.2问题分析 1. txt 无法读取,输入路径后没有文件显示。解决办法是,向老师求助。最后,在老师细心的指导下,才知道是自己的计算机操作水平缘故,没有很好的了解计算机路径结构,最后做出了一定的修改,才得以实现。 2.密码问题,是由于编写程序的时候就已经将密码定死了。用户无法通过系统平台改变密码值。因此,这样的密码形同虚设,简直就没有什么用。 3.出现这个问题的原因,是因为信息量的存储设置不太好,运用文件存储的方式存储信息方便,但是要调用信息就不太方便。5.2.3问题解决建议 运用数据库将密码信息存储起来,然后用switch语句控制密码输入错误次数,当输入密码错误达到3次,就使用

33、一个密码重置申请函数。再将新密码存入数据库,并将以前设置的密码覆盖掉。建议运用数据库来存储信息,用数据库存储信息比文件存储更加稳定。6总结 通过本次课程设计,我们把已经快遗忘的C语言知识重新复习了一遍,这也让我们认识到了经常总结之前学到知识的重要性。这次看似简单的课程设计,将我们身上的很多不足之处都暴露了出来,也让我们认识到了自己想要提高自己需要往哪方面继续努力。 本次课设是我们团队一起完成的,大家都有明确的分工,当然在这个过程中我们遇到了很多问题,并不是一个人去埋头苦干,而是提出来大家一起帮忙想办法去解决的。编程过程结构体有float型数据时系统提示有错误,用int或char型代替然后定义可

34、解决。在调试没运行完自动跳出主界面:主要可能遇到float型数据时系统错误。插入链表阅读和输出文件不熟悉;不熟悉如何使形参与实参一一对应。经过查询资料和老师同学们的帮忙基本解决。经过这样不断的发现错误,改正错误,不断领悟,不断获取终于顺利完成课程设计。 通过这一周的的C 语言程序设计实训,不仅巩固了自己之前掌握的C 程序的设计基础,而且弥补了在上课期间没有学会的知识;也让我们的对抽象理论有了具体的认知。认识到了C 语言的用途是非常广的,功能也非常强大,是学计算机不可缺少的语言。更重要的是,让我学到了很多知识,增强了动手能力,积累了经验。同时也我发现了自己的许多不足之处,有待在以后的学习中进一步

35、完善,掌握和运用更多的知识。最重要的是此次实训,让我认识到团队合作的强大力量,自身的严重不足,更激发了我对C语言程序设计的兴趣。C语言中蕴含着强大的奥妙,等着我们去探索。 课程设计是在老师指导下完成的,让我对学生选课系统有了较深的认识,也具备了一定的实践经验。此次课设让我认识到:团队的不可替代性,知识的重要性,以及遇到问题积极的动脑、动手,乐于向他人讨教不懂的问题。7设计优缺点7.1不足之处与改进之处经过测试,这个系统已经达到了题目中的全部要求。这个程序有很多优点有一个是界面简明,简洁明了的程序菜单;一个是智能化的模块设计,减少了许多人工操作,如功能模块操作结束后,均会返回主菜单进行下一模板的

36、运行,并提示是否再进行类似的操作,这样给用户带来了操作的方便,大大提高了学生选课的效率还有就是提示语言既简洁又明确,层次分明等等;当然也有缺点如程序仍然存在不合理的地方,例如程序某些部分输入错误不能立刻返回改正;信息表达方式不丰富,比较单一,缺少图片、音乐等元化表达方式。 编程过程结构体有float型数据时系统提示有错误,用int或char型代替然后定义可解决。在调试没运行完自动跳出主界面:主要可能遇到float型数据时系统错误。有些字母输入错误,仔细查找就可解决;插入链表阅读和输出文件不熟悉;不熟悉如何使形参与实参一一对应。经过查询资料和老师同学们的帮忙基本解决了。 通过这一周的的C 语言课

37、程实训,不仅巩固了自己之前掌握的C 程序的设计基础,还学弥补了在上课期间没有学会的知识。经过这次课设,我充分认识到了C 语言的用途是非常广的,功能也非常强大,是学计算机不可缺少的语言。更重要的是,在这次编程中熟悉了编写一个比较复杂程序的流程,以及发现问题、解决问题的能力,为下一步计算机语言的学习做了准备。之前感觉遥不可及的功能,现在可以实现了,非常感谢老师和同学的热心帮助,这是我得以及时完成这个程序的重要因素。7.2收获与总结 总之,这次设计程序让我受益良多,我会好好珍惜像这种难得的机会。感谢老师这段时间来对我的教导。虽然在这次试训中我遇到了很多困难,但在老师的帮助下都克服了过去。也让我真正学

38、到了平时上理论课时学不到的一些实践性的东西。我会珍惜这次的经历的。再次感谢您对我的教导!7.3程序的优缺点功能上的优点: 1.简洁明了的程序菜单。程序主要采用了六组层次不同的菜单,相互独立又相互联系,巧妙相接,符合用户的使用习惯与思维。 2.人性化的程序提示语言,程序提示语言较人性化,不仅大多为祈使语句、疑问句,而且提示明确,具有较强的明确的指导作用。程序提示不仅层次分明,提示方式多样,而且提示信息井然有序,更加有利于用户顺利、准确地进行程序的操作。3.智能化的模块设计。程序的智能化主要体现在减少了许多人工操作。如功能模块操作结束后,均会返回主菜单进行下一模板的运行,并提示是否再进行类似的操作

39、,这样给用户带来了操作的方便,大大提高了学生选课的效率。程序的缺点:1.程序虽然经过多次精简,但仅仅是形式上、小范围的精简,仍未得到本质上的精简,即未找到更加简单、更加高效、更加合理、更小占用的资源的算法。2.程序仍然存在不合理的地方,例如程序某些部分输入错误会导致程序中止或转向其他功能模块,即程序建议用户注意提示,进行合理的准确的输入,这样更有利于管理工作。3.程序功能仍然不够完善。例如信息表达方式不丰富,比较单一,缺少图片、音乐等元化表达方式。参考文献1. 王连相.C/C+程序设计 武汉大学出版社.2013.72. 谭浩强C语言程序设计(第2版)学习指导清华大学出版社.2012.12 3.

40、 杨莉,龚义建C语言程序设计实训指导教程华中科技大学出版.2009.64. 张小东,郑宏珍C语言程序设计与应用人民邮电出版社.2009.45. 郭翠英C语言课程设计案例精编中国水利水电出版社 2004.03.016郭有强C语言程序设计清华大学出版社 2009.02.017李丹程,刘莹,那俊C语言程序设计案例实践清华大学出版社2009.02.018李丽娟C语言程序设计教程人民邮电出版社2013.01.019武雅丽,王永玲,解亚利C语言程序设计清华大学出版社2009.02.01致 谢本次课程实训过程中,得到了指导老师的指导与支持。在此特别感谢谢老师的大力帮助。指导老师在总体结构、功能的把握上给予了非常大的帮助,同时为我们提供了非常优越的设计环境,并对我在编程、算法设计等细节工作上给予了耐心的指导,对于我顺利完成这次课程设计起到了关键性的作用。转眼间,一周的课程实训结束了,感谢老师为我们提供的每周数次的到教室上机调试的机会,在那里,老师为我们解决各种难题,同学之间也可以相互讨论,这才有了今天的成果,特别是老师的宝贵的意见,给了

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1