您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C语言课程设计报告(力学实验设备管理系统)
课程设计报告课程名称C语言课程设计课题名称专业班级学号姓名指导教师陈世清扬子华曹燚2010年12月27日湖南工程学院课程设计任务书课程名称C语言课程设计课题专业班级学生姓名学号指导老师陈世清扬子华曹燚审批任务书下达日期2010年12月27日任务完成日期2011年1月2日目录1、设计目的2、总体设计3、详细设计4、调试与测试:5、总结与体会附:源程序清单和执行结果设计目的本次C语言课程设计是对本学期C语言程序设计课程的实际应用,同学们也可以在设计过程中发现问题解决问题,起主要目的如下:1.巩固和加深对C语言课程的基本知识的理解和掌握。2.掌握C语言编程和程序调试的基本技能。3.利用C语言进行基本的软件设计。4.掌握书写程序设计说明文档的能力。5.提高运用C语言解决实际问题的能力。总体设计2.1力学实验设备管理系统的要求通过该系统实现对力学实验设备信息进行录入、修改、统计、查询、保存等操作的管理。实验设备信息包括:设备编号,设备种类,设备名称(如烧杯、酒精灯等),设备价格,设备购入日期,是否报废,报废日期等。主要功能:1)、能够完成对设备的录入和修改2)、对设备进行分类统计3)、设备的破损耗费和遗损处理4)、设备的查询5)、将设备信息保存到文件中2.2流程图根据设计要求,画出如下流程图:开始菜单1.录入2.显示3.修改4.删除5.查询6.退出a.名称b.编号结束2.3设置的主要函数voiduserinterface()/*菜单函数*/voidshowall()/*显示*/voidadd()/*增加成员*/voiddelet()/*删除*/voidfind()/*查找*/voidfindchoice(inta)/*选择查找方式函数*/voidmodify()/*修改信息*/voidsave()/*把信息保存到磁盘*/voidesc()/*退出*/voidchoices()/*为下一步操作做选择*/voidload()/*读数据*/详细设计3.1函数以及调用关系voiduserinterface()/*菜单函数*/123456BreakBreakBreakBreakBreakbreak退出保存Menu_select开始添加记录查找记录显示记录删除记录修改记录结束voidshowall();/*显示函数*/真假真head==NULL======NNNNNNNNNNULLNULLNULLhhhhheadhhhhhead==NULL显示信息调用save()退出结束开始voidadd()/*增加设备函数*/假真输入编号Record=0输入数据(名称、种类、价格、购买日期、报废日期、是否报废)继续添加结束开始voiddelet()/*删除函数*/真假输入要删除学生学号Num=!0结束开始输入num删除成功Choices()voidfind()/*查找函数*voidfindchoice()真假开始判断显示要查找内容没有找到退出按名称查找按种类查找按编号查找voidmodify()/*修改信息函数*/假真输入编号Record=0输入数据(新的名称、种类、价格、购买日期、报废日期、是否报废)结束开始voidsave();/*把信息保存到磁盘*/开始数据写入文件关闭文件退出打开文件voidload();/*读数据*/3.2结构的应用If…else结构if(strcmp(passwords,b)!=0)printf(\r口令错误,按任意键继续);elsebreak;switch结构switch(choice){case1:add();break;case2:system(cls);find();开始打开文件读出数据关闭文件退出break;case3:system(cls);showall();break;case4:system(cls);delet();break;case5:system(cls);modify();break;case0:system(cls);esc();}while结构while(stu-record!=0){head=insert(head,stu);printf(\n\n\t\t******添加成功******!!!\n);stu=(structaddbook*)malloc(LEN);printf(\n\n\t\t\t当输入的设备编号为0时,停止添加!!!);printf(\n\t\t请输入编号:);scanf(%d,&stu-record);getchar();/*用来接受scanf里输入的回车符号*/printf(\n\t\t请输入名称:);gets(stu-name);printf(\n\t\t请输入种类:);gets(stu-kind);printf(\n\t\t请输入价格:);gets(stu-price);printf(\n\t\t请输入购买日期(如20100101):);scanf(%ld,&stu-purtime);getchar();printf(\n\t\t请输入报废日期(如20100101):);scanf(%ld,&stu-scrtime);getchar();printf(\n\t\t请输入是否报废(S或F):);gets(stu-scrap);stu-next=NULL;}do…while结构do{printf(%-8d%-8s%-8s%-8s%ld%ld\t\t%-8s\n,s-record,s-name,s-kind,s-price,s-purtime,s-scrtime,s-scrap);s=s-next;}while(s!=NULL);LP:choices();}for结构for(j=0;jstrlen(b);j++){passwords[j]=getch();printf(*);}调试与测试4.1调试执行程序时,显示如下信息:输入一组数据后,显示菜单:选择不同的选项,执行相应的功能。选择1,添加设备信息。选择2查找设备信息,可按三种方式查找。3.1.5选择3,可显示信息。选择4,删除设备信息。选择5,修改设备信息。选择0,保存并退出。4.2测试及其解决问题在测试过程中,关于购买日期和报废日期,输入正常,显示则成了乱码,经过仔细检查发现在定义变量的出现了问题,及时改正。另外由于疏忽,没有将密码函数链接到主函数中,使得密码功能没有体现,及时调整。显示内容与表头进行调整对齐,由于显示函数和查找函数都有显示功能,需要同时调整。总结与体会这一次课程设计可谓是让我焦头烂额,手足无措啊。因为我们在大一的时候并没有学过C语言这一门课程,这学期才开始接触这门课程,让我们设计一个无懈可击的程序简直比登天还难。刚开始感觉确实有点力不从心,但是经过几天的学习、摸索,我的程序也终于初具雏形了,我别提有多高兴。虽然在许多的功能方面有所欠缺,但是我觉得我是在进步的。经过几天的上机实践学习,给我的不只是疲惫更多的是收获。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学生来说掌握计算机开发技术是十分重要的。在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明。在本次实践中,给我印象最为深刻的是在文件删除程序的编译过程中,先有我的各个子程序都已经编辑成功,那么这最后的程序就将是我成功的关键。老天不会让我太过顺利,他在这最后的时刻设置的障碍,是要考验我的能力,他要置我于死地?在这个问题的解决上,我打了退堂鼓,我不能忍受长时间的无功而反,时间正在消磨我的意志。没有了柳暗花明的一天,那么我怎么能说经受住了考验?谢谢老师的那句话,她说:人力有所不能及,然而,人的精神是不会败倒的。我鼓起勇气,到处问,到处查资料,黄天不负有心人,我的程序设计终于得以问世。课程设计到此算是基本结束,在程序设计中暴露出的我自身的问题却是非常明显!!首先,基础掌握不牢固。许多基本语法尚没有熟练掌握,在设计过程中仍需请教其它同学,更重要研究课本,设计效率底。其次,经典算法掌握不牢。在编写程序的时候常常会停下来求助于书本,查看各种算法。再次,程序量过大的时候,头绪理不清。杂乱无章,无系统性,不便调试和阅览,自己也易于出错。比如说少加分号,大括号,忘了先定义后使用的原则。回顾这一周,我感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体,指针,函数,算法……通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。在程序已经初步写成的时候,心情很激动也很紧张,在没有进行测试之前心还是放不下来。刚进行测试,检查没有错误,可执行起来却出现了很大的问题。首先是程序不具有存储功能,显示乱码,再就是密码功能没有实现。经过一遍又一遍仔细检查终于意义解决。当程序完全运行成功的时候,那种喜悦感死无法用言语来形容的。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在陈老师的辛勤指导下,终于游逆而解。同时,在陈老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和指导老师再次表示忠心的感谢!#includestdio.h#includestring.h#includestdlib.h#includeprocess.h#includemalloc.h#includeconio.h#defineLENsizeof(structaddbook)structaddbook{intrecord;/*编号*/charname[15];/*名称*/charkind[5];/*种类*/charprice[8];/*价格*/unsignedlongpurtime;/*购买日期*/unsignedlongscrtime;/*报废日期*/charscrap[6];/*是否报废*/structaddbook*next;/*指向结构体数据类型的指针*/};FILE*fp;structaddbook*p,*head=NULL,*s,*t,*p1,*p2;voiduserinterface();/*菜单函数*/voidshowall();/*显示*/voidadd();/*增加设备*/voiddelet();/*删除*/voidfind();/*查找*/voidfindchoice(inta);/*选择查找方式函数*/voidmodify();/*修改信息*/voidsave();/*把信息保存到磁盘*/voidesc();/*退出*/voidchoices();/*为下一步操作做选择*/voidload();/*读数据*/structaddbook*del(structaddbook*head,intnum);/*链表结点的删除*/structaddbook*insert(structaddbook*head,structaddbook*stud);/*链表中结点的插入,stud为要插入的结点的指针*/voidstarwindows(){system(color1f);{staticcharpasswords[80],b[]=123;inti=0,j;while(1){printf(请输入密码\n\n);fo
本文标题:C语言课程设计报告(力学实验设备管理系统)
链接地址:https://www.777doc.com/doc-3370018 .html