宠物店信息管理系统的设计课程设计报告

上传人:仙*** 文档编号:27879483 上传时间:2021-08-21 格式:DOC 页数:39 大小:205.50KB
收藏 版权申诉 举报 下载
宠物店信息管理系统的设计课程设计报告_第1页
第1页 / 共39页
宠物店信息管理系统的设计课程设计报告_第2页
第2页 / 共39页
宠物店信息管理系统的设计课程设计报告_第3页
第3页 / 共39页
资源描述:

《宠物店信息管理系统的设计课程设计报告》由会员分享,可在线阅读,更多相关《宠物店信息管理系统的设计课程设计报告(39页珍藏版)》请在装配图网上搜索。

1、 计算机科学与技术系课程设计报告20122013学年第二学期课程面向过程综合设计课程设计名称宠物(小动物)店信息管理系统 学生姓名学号专业班级软件工程 指导教师第一章 需求分析1.1描述问题本课程设计的任务和要求是设计一个宠物(小动物)店信息管理系统,该系统要求对宠物(小动物)店信息进行管理和维护。运用信息技术可以很快的提高宠物店的运营效率。方便对宠物信息的管理。使用菜单实现检索、增加、删除、显示和存取等功能的正确选择。1.2具体功能:(1)程序运行时首先要求输入:宠物的编号。要录入的宠物的名字。要录入的宠物的性别。要录入宠物的年龄。要录入宠物的颜色。录入后该宠物的数量。这些原始数据应保存到一

2、个文件中。(2)然后程序要求可以实现:新宠物的增加。宠物的修改。宠物的浏览。宠物的删除。这些功能。1.3主要知识点:(1)面向过程程序设计方法(2)界面制作,switch的应用。(3)数组或链表的实现与应用(4)文件的读写。第二章、算法设计 2.1设计思想该程序的流程图如下:开始主菜单新宠物的增加宠物的修改宠物浏览宠物的删除退出菜单1本程序紧扣题目要求,尽量采用一些简单的算法和语法来编写源代码,在不影响程序功能的前提下,既简化了程序结构,也降低的编写人员的工作量。本程序主要针对的用户是宠物信息管理人员,主要作用是让店主能快速搜索到他想要的宠物信息。本程序是先有店主手动输入各个宠物的信息,然后再

3、存储到文本文件中。然后可以有店主快熟搜索到想要的宠物的信息。2.2 设计表示2.2.1 结构体模块除了头文件、子函数的申明等一些必要的部分,在程序的开头处首先定义了两个个结构体,该结构体是为了更方便的储存宠物的信息,由第一个结构体是由三个方面构成的char sex1/性别,char age10;/年龄char color10; /颜色结构体定义为TY,第二个结构体char num10; char name10; TY A; char sum10;定义为INF。2.2.2 菜单模块本模块主要功能是对菜单的显示,是用户打开程序所看到的一些信息。主要显示了欢迎界面、程序的设计者、单位等。特别重要的是

4、,本模块告诉了用户下一步该做什么,怎么做,此处从用户的角度出发,能帮助用户更好更方便地使用本系统。main();、menu1();、menu();这3个函数是整个宠物店管理系统的全部菜单函数, main()为系统主界面,进入时可选择进入程序和退出程序。menu()为进入程序时显示的功能菜单menu1();此菜单为进入管理系统菜单,在此可以选择添加、删除、修改宠物等操作。2.2.3增加宠物信息这个函数的作用是为了让用户增加宠物信息。我先在这个函数中建立一个“宠物的各种信息”的文件。用户可以直接把输入的信息存到文件中。方便后来的对文件里信息的调用。2.2.4修改宠物信息(子函数名Change) 这

5、个函数是为了让用户修改文件里的宠物信息。先要读取“宠物的各种信息信息”文本文档的信息。然后根据输入的宠物昵称找出该宠物信息。2.2.5查询宠物信息这个函数是为了让用户更好更快的调用文本文档中宠物的信息。先要读取“宠物信息”文本文档的信息。然根据通过两字符串的比较,找到与输入姓名相同的姓名的位置2.2.6显示宠物信息这个函数是为了把文本文档的信息显示在屏幕上。2.2.7删除宠物信息这个函数通过数组中该位置之后的数据存放位置向前移一位来实现删除功能。2.3 功能实现情况本程序较好地完成了任务中的各项要求,能实现宠物信息管理系统的基本功能,并且应用到了面向过程程序设计方法、界面制作、if、for函数

6、的应用、数组或链表的实现与应用、文件的读写等知识点。在此基础上,本程序还优化了菜单和界面,使用户看起来更方便舒服,并且程序输出的结果也模拟了表格的格式,使结果看起来更清晰。2.4 算法设计本程序主要应用了基本的输入输出语句、条件语句、循环语句、选择语句以及对文本文件的操作等一系列算法,基本涵盖了c语言课程中的大部分算法思想。同时,本程序也存在这一些不足之处:,本程序的数据需要一个一个的输进去。对于数据库较大的会带来不便。第三章、用户手册 3.1 打开方式(1)先打开电脑中的visual C软件,再通过vc打开目录中文件名为“宠物(小动物)信息管理系统.c”的.c文件。(2)找到c文件目录下的“

7、Debug”文件夹,直接打开文件名为“宠物(小动物)信息管理系统”的exe文件。3.2 操作步骤(1)运行程序,看到主菜单界面。(2)点击任意键继续程序。(3)按照程序提示信息,分别输入宠物昵称,宠物性别,宠物种类。宠物年龄。(4)打开c文件目录下文件名为“宠物信息”的文本文件,获得录取结果(5)退出程序3.3注意事项在输入完学生信息时请务必先保存后再运行程序,否则可能会使信息无法正确读取。第四章、调试及测试 4.1 调试过程中出现的问题 4.1.1 文件无法打开在编译调试阶段,总是出现编译错误,无法通过编译调试,经过逐行的查找,最终发现定义的指向文件的指针,在定义时没有加“*”符号,导致了该

8、编译错误。4.1.2 选择错误在编译调试完成后,又出现了问题,即无法对学生信息正确筛选,程序无法判断学生成绩是否合格,全部将其按照合格处理。经过分布调试法的运行,发现了问题所在,是由于在if语句括号后面不慎加了一个“;”符号,导致if判断之后执行的是空语句,而全原本应该判断之后再执行的语句则被无条件执行,从而导致了无法正确筛选学生的结果。在发现该原因之后,删除此“;”符号,程序即运行正确。4.1.3 排版错误在调试过程中,除了出现了语法错误和算法错误之外,还出现了输出结果的排版错误,即在程序写入结果的文本文件中信息混乱,很难辨别信息,这会给用户造成很大的不方便。为了解决此问题,在输出语句中加了

9、一些转义字符“t”和一些分隔线,这样就能有效的分开不同的数据信息,使界面更清晰美观,极大的方便了用户查看。4.14 磁盘文件读写错误在运用磁盘文件时遇到了不小的麻烦,不能正确的读出原有的图书的信息而造成重新录入时复值出现错误,造成写入磁盘文件不能写入或写入出现错误,经常出现“烫”,经过调试和分析,源文件的光标最后所处的位置可能会影响磁盘文件的读写而出现错误,4.2 对设计和编码的回顾此程序在设计的过程中考虑到了算法的简便性,由于此程序实现的功能较为简单,所以在算法设计的过程中避开了一些容易出错的语句。所以此程序总体来看算法较为简单,且语法结构较为单一。4.3 对时空效率分析本程序实现的功能的较

10、为简单,且算法并不复杂,执行步骤也不多,程序源代码只有五百多行,所以运行起来几乎对计算机CPU无任何影响,对内存空间的占用很小;在时间上,本程序也几乎是瞬间完成执行,没有明显的时间等待。4.4 测试程序4.5经验和体会通过本次课程设计,我对c语言的学习与应用有了更加深刻的体会,也对一些基本语法结构、算法思想和程序设计方法更加的了解。通过这次c语言课程设计,很大程度上锻炼了我们写程序的动手能力和自主思考能力。利用所学知识,开发小型实用的应用系统,掌握运用C语言编写调试应用系统程序,对于我们独立开发应用系统并进行数据处理的综合能力是一个很大的提高。通过这次c语言课程设计,很大程度上锻炼了我们写程序

11、的动手能力和自主思考能力。利用所学知识,开发小型实用的应用系统,掌握运用C语言编写调试应用系统程序,对于我们独立开发应用系统并进行数据处理的综合能力是一个很大的提高。第五章、小结本程序虽然实现了任务书中的基本要求,但还是存在一些需要以后解决的问题。比如用户不能较方便的直接通过程序对学生信息进行操作,不能处理小数的分数信息等等。在这次课程设计中,我体会到了,作为程序开发人员,不能仅仅站在开发者的角度去考虑问题、解决问题,面对一些实际问题时,也要站在用户的角度去看待问题,毕竟,我们开发出来的程序主要面对的就是用户,所以用户的需求与想法才是程序开发者最需要考虑关心的。第六章、参考文献1 黄明等编著C

12、语言课程设计北京:电子工业出版社2 郭翠英编著C语言课程设计案例精编北京:中国水利水电出版社3 宁正元数据结构(c语言) 南京:东南大学出版社。2000年6月第1版4 严蔚敏等 数据结构(c语言版) 北京:清华大学出版社,1997年4月第1版5 谭浩强编著C程序设计题解与上机指导(第3版) 北京:清华大学出版社6 谭浩强编著C程序设计(第3版) 北京:清华大学出版社附录一、源程序清单#include stdio.h#include stdlib.h#include string.h typedef struct type /定义结构体 该种小动物的信息 char sex10; /性别char

13、age10; /年龄 char color10; /颜色 TY; typedef struct information /定义结构体 小动物的各种信息 char num10; char name10; TY A; char sum10; INF;/ /函数声明void menu(); /子函数 主菜单 void menu1(); /菜单1void Information(); / 子函数 浏览全部宠物void Write(); / 子函数 新增宠物void Change(); / 子函数 修改宠物void Delete(); / 子函数 删除宠物void Exit(); /退出void men

14、u() / 子函数 主菜单1 int a;char b;M:system(cls); printf(n);printf(n);printf(n);printf(n); printf(ttt1.新宠物的增加.n); printf(n);printf(n); printf(ttt2.宠物的修改.n); printf(n);printf(n);printf(ttt3.宠物浏览.n);printf(n); printf(n); printf(ttt4.宠物的删除.n); printf(n); printf(n); printf(ttt5.退出.n); printf(n); printf(n);prin

15、tf(tttt请输入你的选择: );L: scanf(%d,&a);switch (a) case 1: Write(); goto M; break; case 2: Change(); goto M; break; case 3: Information(); printf(返回上一层请输入y,结束程序请输入任意键n); getchar(); scanf(%c,&b); if(b=y|b=Y) goto M; break; case 4: Delete(); goto M; break; case 5: Exit(); break; default: printf(n); printf(n

16、); printf(ttt你输入的序号不存在,请重新输入:); goto L;void menu1() /子函数 主菜单 system(cls); printf(n); printf(n); printf(n); printf(n); printf(tttt*欢迎进入宠物店管理系统*n); printf(n); printf(n); printf(n); printf(tttt*进入下一页面请按Enter键*n);printf(n); printf(n);getchar(); menu();void Exit()system(cls); printf(n); printf(n);printf(

17、n);printf(n);printf(tttt*再见*);getchar(); void Information() /浏览全部宠物 INF CPET100; int i,a; FILE *fp; system(cls); fp=fopen(宠物的各种信息.txt,r+); i=0; while(!feof(fp) fscanf(fp,%s%s%s%s%s%s,CPETi.num,CPETi.name,CPETi.A.sex,CPETi.A.age,CPETi.A.color,CPETi.sum); i+; fclose(fp);printf(编号t 名称t性别t年龄t颜色t数量n); fo

18、r(a=0;ai;a+)printf(n); printf(%st%st%st%st%st%sn,CPETa.num,CPETa.name,CPETa.A.sex,CPETa.A.age,CPETa.A.color,CPETa.sum); printf(n); void Write() / 录入函数INF CPET100;FILE *fp;int a,i,n;char b; system(cls); fp=fopen(宠物的各种信息.txt,r+); i=0; while(!feof(fp) fscanf(fp,%s%s%s%s%s%s,CPETi.num,CPETi.name,CPETi.A

19、.sex,CPETi.A.age,CPETi.A.color,CPETi.sum); i+; a=i;L: printf(请输入你要录入的宠物的编号n); scanf(%s,CPETa.num); printf(n); printf(请输入你要录入的宠物的名字n); scanf(%s,CPETa.name); printf(n); printf(请输入你要录入的宠物的性别n); scanf(%s,CPETa.A.sex); printf(n); printf(请输入你要录入的宠物的年龄n); scanf(%s,CPETa.A.age); printf(n); printf(请输入你要录入的宠物

20、的颜色n); scanf(%s,CPETa.A.color);printf(n);printf(请输入录入后该种宠物的数量n);scanf(%s,CPETa.sum); fp=fopen(宠物的各种信息.txt,w+); for(n=0;n=a;n+) fprintf(fp,n%st%st%st%st%st%s,CPETn.num,CPETn.name,CPETn.A.sex,CPETn.A.age,CPETn.A.color,CPETn.sum); fclose(fp); printf(录入完成,继续录入请输入y,完成录入请输入nn); getchar(); scanf(%c,&b); if

21、(b=y|b=Y) a=a+1; system(cls); goto L;getchar(); if(b=n) printf(信息录入成功,数据初始化正在进入上层界面n); void Change() /修改宠物信息 INF CPET100;FILE *fp;int a,i,b;char c;char n100; system(cls); fp=fopen(宠物的各种信息.txt,r+); i=0; while(!feof(fp) fscanf(fp,%s%s%s%s%s%s,CPETi.num,CPETi.name,CPETi.A.sex,CPETi.A.age,CPETi.A.color,

22、CPETi.sum); i+; a=i;printf(请输入你要修改的宠物编号n); L: getchar(); gets(n); for(i=0;ia;i+) if(strcmp(n,CPETi.num)=0) b=i; break; if(i=a) printf(你输入的宠物编号不存在,请重新输入n); goto L; printf(请输入修改后的宠物的编号n); scanf(%s,CPETb.num); printf(n);printf(请输入修改后的宠物的名称n); scanf(%s,CPETb.name); printf(n); printf(请输入修改后的宠物的性别n); scan

23、f(%s,CPETb.A.sex); printf(n); printf(请输入修改后的宠物的年龄n); scanf(%s,CPETb.A.age); printf(n);printf(请输入修改后的宠物的颜色n);scanf(%s,CPETb.A.color);printf(n); printf(请输入修改后的该宠物的数量n); scanf(%s,CPETb.sum); printf(n); fclose(fp); fp=fopen(宠物的各种信息.txt,w+); for(i=0;ia;i+) fprintf(fp,n%st%st%st%st%st%s,CPETi.num,CPETi.na

24、me,CPETi.A.sex,CPETi.A.age,CPETi.A.color,CPETi.sum); fclose(fp); printf(修改完成n); printf(继续修改请输入y,完成修改请输入n.n); getchar(); scanf(%c,&c); if(c=y|c=Y) system(cls); printf(请输入你要修改的宠物编号n); goto L; if(c=n) printf(信息保存成功,数据初始化需重新进入系统n); void Delete() /删除宠物信息INF CPET100;FILE *fp;int a,i,b,flag=0;char c;char n

25、10; system(cls); fp=fopen(宠物的各种信息.txt,r+); i=0; while(!feof(fp) fscanf(fp,%s%s%s%s%s%s,CPETi.num,CPETi.name,CPETi.A.sex,CPETi.A.age,CPETi.A.color,CPETi.sum); i+; a=i;printf(请输入你要删除的宠物的编号n); L: getchar(); gets(n); for(i=0;ia;i+) if(strcmp(n,CPETi.num)=0) b=i; flag=1; break; if(flag=1) printf(nn); pri

26、ntf(%st%st%st%st%st%sn,CPETi.num,CPETi.name,CPETi.A.sex,CPETi.A.age,CPETi.A.color,CPETi.sum); printf(nn); printf(正在删除此宠物信息,Enter键继续删除n); getchar(); else printf(你输入的宠物编号不存在请重新输入:n); goto L; for(i=b;ia;i+) CPETi=CPETi+1; fclose(fp); fp=fopen(宠物的各种信息.txt,w+); for(i=0;ia-1;i+) fprintf(fp,n%st%st%st%st%st%s,CPETi.num,CPETi.name,CPETi.A.sex,CPETi.A.age,CPETi.A.color,CPETi.sum); fclose(fp); printf(删除完成n);printf(nn); printf(继续删除请输入y,完成删除请输入n.n); scanf(%c,&c); if(c=y|c=Y) system(cls); printf(请输入你要删除的宠物编号n); a-; goto L; if(c=n) printf(信息删除成功,数据初始化须重新启动程序n); void main() /主函数menu1();

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!