您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商业计划书 > c语言课程设计宠物店信息管理系统
合肥学院计算机科学与技术系课程设计报告2012~2013学年第二学期课程面向过程综合设计课程设计名称宠物(小动物)店信息管理系统学生姓名宋俊学号1204091008专业班级软件工程指导教师项响琴、华珊珊2013年6月第一章需求分析1.1描述问题本课程设计的任务和要求是设计一个宠物(小动物)店信息管理系统,该系统要求对宠物(小动物)店信息进行管理和维护。运用信息技术可以很快的提高宠物店的运营效率。方便对宠物信息的管理。使用菜单实现检索、增加、删除、显示和存取等功能的正确选择。1.2具体功能:(1)程序运行时首先要求输入:宠物的编号。要录入的宠物的名字。要录入的宠物的性别。要录入宠物的年龄。要录入宠物的颜色。录入后该宠物的数量。这些原始数据应保存到一个文件中。(2)然后程序要求可以实现:新宠物的增加。宠物的修改。宠物的浏览。宠物的删除。这些功能。1.3主要知识点:(1)面向过程程序设计方法(2)界面制作,switch的应用。(3)数组或链表的实现与应用(4)文件的读写。第二章、算法设计2.1设计思想该程序的流程图如下::主菜单新宠物的增加宠物的修改宠物浏览宠物的删除退出菜单1开始本程序紧扣题目要求,尽量采用一些简单的算法和语法来编写源代码,在不影响程序功能的前提下,既简化了程序结构,也降低的编写人员的工作量。本程序主要针对的用户是宠物信息管理人员,主要作用是让店主能快速搜索到他想要的宠物信息。本程序是先有店主手动输入各个宠物的信息,然后再存储到文本文件中。然后可以有店主快熟搜索到想要的宠物的信息。2.2设计表示2.2.1结构体模块除了头文件、子函数的申明等一些必要的部分,在程序的开头处首先定义了两个个结构体,该结构体是为了更方便的储存宠物的信息,由第一个结构体是由三个方面构成的charsex[1]//性别,charage[10];//年龄charcolor[10];//颜色结构体定义为TY,第二个结构体charnum[10];charname[10];TYA;charsum[10];定义为INF。2.2.2菜单模块本模块主要功能是对菜单的显示,是用户打开程序所看到的一些信息。主要显示了欢迎界面、程序的设计者、单位等。特别重要的是,本模块告诉了用户下一步该做什么,怎么做,此处从用户的角度出发,能帮助用户更好更方便地使用本系统。main();、menu1();、menu();这3个函数是整个宠物店管理系统的全部菜单函数,main()为系统主界面,进入时可选择进入程序和退出程序。menu()为进入程序时显示的功能菜单menu1();此菜单为进入管理系统菜单,在此可以选择添加、删除、修改宠物等操作。2.2.3增加宠物信息这个函数的作用是为了让用户增加宠物信息。。我先在这个函数中建立一个“宠物的各种信息”的文件。。用户可以直接把输入的信息存到文件中。方便后来的对文件里信息的调用。2.2.4修改宠物信息(子函数名Change)这个函数是为了让用户修改文件里的宠物信息。先要读取“宠物的各种信息信息”文本文档的信息。然后根据输入的宠物昵称找出该宠物信息。2.2.5查询宠物信息这个函数是为了让用户更好更快的调用文本文档中宠物的信息。先要读取“宠物信息”文本文档的信息。然根据通过两字符串的比较,找到与输入姓名相同的姓名的位置2.2.6显示宠物信息这个函数是为了把文本文档的信息显示在屏幕上。2.2.7删除宠物信息这个函数通过数组中该位置之后的数据存放位置向前移一位来实现删除功能。2.3功能实现情况本程序较好地完成了任务中的各项要求,能实现宠物信息管理系统的基本功能,并且应用到了面向过程程序设计方法、界面制作、if、for函数的应用、数组或链表的实现与应用、文件的读写等知识点。在此基础上,本程序还优化了菜单和界面,使用户看起来更方便舒服,并且程序输出的结果也模拟了表格的格式,使结果看起来更清晰。2.4算法设计本程序主要应用了基本的输入输出语句、条件语句、循环语句、选择语句以及对文本文件的操作等一系列算法,基本涵盖了c语言课程中的大部分算法思想。同时,本程序也存在这一些不足之处:,本程序的数据需要一个一个的输进去。对于数据库较大的会带来不便。第三章、用户手册3.1打开方式(1)先打开电脑中的visualC软件,再通过vc打开目录中文件名为“宠物(小动物)信息管理系统.c”的.c文件。(2)找到c文件目录下的“Debug”文件夹,直接打开文件名为“宠物(小动物)信息管理系统”的exe文件。3.2操作步骤(1)运行程序,看到主菜单界面。(2)点击任意键继续程序。(3)按照程序提示信息,分别输入宠物昵称,宠物性别,宠物种类。宠物年龄。(4)打开c文件目录下文件名为“宠物信息”的文本文件,获得录取结果(5)退出程序3.3注意事项在输入完学生信息时请务必先保存后再运行程序,否则可能会使信息无法正确读取。第四章、调试及测试4.1调试过程中出现的问题4.1.1文件无法打开在编译调试阶段,总是出现编译错误,无法通过编译调试,经过逐行的查找,最终发现定义的指向文件的指针,在定义时没有加“*”符号,导致了该编译错误。4.1.2选择错误在编译调试完成后,又出现了问题,即无法对学生信息正确筛选,程序无法判断学生成绩是否合格,全部将其按照合格处理。经过分布调试法的运行,发现了问题所在,是由于在if语句括号后面不慎加了一个“;”符号,导致if判断之后执行的是空语句,而全原本应该判断之后再执行的语句则被无条件执行,从而导致了无法正确筛选学生的结果。在发现该原因之后,删除此“;”符号,程序即运行正确。4.1.3排版错误在调试过程中,除了出现了语法错误和算法错误之外,还出现了输出结果的排版错误,即在程序写入结果的文本文件中信息混乱,很难辨别信息,这会给用户造成很大的不方便。为了解决此问题,在输出语句中加了一些转义字符“\t”和一些分隔线,这样就能有效的分开不同的数据信息,使界面更清晰美观,极大的方便了用户查看。4.14磁盘文件读写错误在运用磁盘文件时遇到了不小的麻烦,不能正确的读出原有的图书的信息而造成重新录入时复值出现错误,造成写入磁盘文件不能写入或写入出现错误,经常出现“烫”,经过调试和分析,源文件的光标最后所处的位置可能会影响磁盘文件的读写而出现错误,4.2对设计和编码的回顾此程序在设计的过程中考虑到了算法的简便性,由于此程序实现的功能较为简单,所以在算法设计的过程中避开了一些容易出错的语句。所以此程序总体来看算法较为简单,且语法结构较为单一。4.3对时空效率分析本程序实现的功能的较为简单,且算法并不复杂,执行步骤也不多,程序源代码只有五百多行,所以运行起来几乎对计算机CPU无任何影响,对内存空间的占用很小;在时间上,本程序也几乎是瞬间完成执行,没有明显的时间等待。4.4测试程序4.5经验和体会通过本次课程设计,我对c语言的学习与应用有了更加深刻的体会,也对一些基本语法结构、算法思想和程序设计方法更加的了解。通过这次c语言课程设计,很大程度上锻炼了我们写程序的动手能力和自主思考能力。利用所学知识,开发小型实用的应用系统,掌握运用C语言编写调试应用系统程序,对于我们独立开发应用系统并进行数据处理的综合能力是一个很大的提高。通过这次c语言课程设计,很大程度上锻炼了我们写程序的动手能力和自主思考能力。利用所学知识,开发小型实用的应用系统,掌握运用C语言编写调试应用系统程序,对于我们独立开发应用系统并进行数据处理的综合能力是一个很大的提高。第五章、小结本程序虽然实现了任务书中的基本要求,但还是存在一些需要以后解决的问题。比如用户不能较方便的直接通过程序对学生信息进行操作,不能处理小数的分数信息等等。在这次课程设计中,我体会到了,作为程序开发人员,不能仅仅站在开发者的角度去考虑问题、解决问题,面对一些实际问题时,也要站在用户的角度去看待问题,毕竟,我们开发出来的程序主要面对的就是用户,所以用户的需求与想法才是程序开发者最需要考虑关心的。第六章、参考文献[1]黄明等编著《C语言课程设计》北京:电子工业出版社[2]郭翠英编著《C语言课程设计案例精编》北京:中国水利水电出版社[3]宁正元《数据结构(c语言)》南京:东南大学出版社。2000年6月第1版[4]严蔚敏等《数据结构(c语言版)》北京:清华大学出版社,1997年4月第1版[5]谭浩强编著《C程序设计题解与上机指导(第3版)》北京:清华大学出版社[6]谭浩强编著《C程序设计(第3版)》北京:清华大学出版社附录一、源程序清单#includestdio.h#includestdlib.h#includestring.htypedefstructtype//定义结构体该种小动物的信息{charsex[10];//性别charage[10];//年龄charcolor[10];//颜色}TY;typedefstructinformation//定义结构体小动物的各种信息{charnum[10];charname[10];TYA;charsum[10];}INF;///函数声明voidmenu();//子函数主菜单voidmenu1();//菜单1voidInformation();//子函数浏览全部宠物voidWrite();//子函数新增宠物voidChange();//子函数修改宠物voidDelete();//子函数删除宠物voidExit();//退出voidmenu()//子函数主菜单1{inta;charb;M:system(cls);printf(\n);printf(\n);printf(\n);printf(\n);printf(\t\t\t1.......新宠物的增加..........\n);printf(\n);printf(\n);printf(\t\t\t2.......宠物的修改...........\n);printf(\n);printf(\n);printf(\t\t\t3.......宠物浏览............\n);printf(\n);printf(\n);printf(\t\t\t4.......宠物的删除.............\n);printf(\n);printf(\n);printf(\t\t\t5.......退出............\n);printf(\n);printf(\n);printf(\t\t\t\t请输入你的选择:);L:scanf(%d,&a);switch(a){case1:Write();gotoM;break;case2:Change();gotoM;break;case3:Information();printf(返回上一层请输入y,结束程序请输入任意键\n);getchar();scanf(%c,&b);if(b=='y'||b==Y){gotoM;}break;case4:Delete();gotoM;break;case5:Exit();break;default:printf(\n);printf(\n);printf(\t\t\t你输入的序号不存在,请重新输入:);gotoL;}}voidmenu1()//子函数主菜单{system(cls);printf(\n);printf(\n);printf(\n);printf(\n);printf(\t\t\t\t*******欢迎进入宠物店管理系统*******\n);printf(\n);printf(\n);printf(\n);printf(\t\t\t\t******进入下一页面请按Enter键******\n);printf(\n);printf(\n);getchar();menu();}voidExit(){system(cls);printf(\n);printf(\n);printf(\n);printf(\n);printf(\t\t\t\t*******再见*******);getchar();}voidInformation()//浏览全部宠物{INFCPET[
本文标题:c语言课程设计宠物店信息管理系统
链接地址:https://www.777doc.com/doc-7236821 .html