c语言课程设计-宠物店信息管理系统_第1页
c语言课程设计-宠物店信息管理系统_第2页
c语言课程设计-宠物店信息管理系统_第3页
c语言课程设计-宠物店信息管理系统_第4页
c语言课程设计-宠物店信息管理系统_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、名号级师面向过程综合设计宠物(小动物)店信息管理系统合肥学院计算机科学与技术系课程设计报告20122013学年第二学期课程课程设计名称 学 学专指宋俊1204091008软件工程项响琴、华珊珊2013年6月第一章需求分析1.1描述问题本课程设计的任务和要求是设计一个宠物(小动物)店信息管理系统,该系统要求对 宠物(小动物 )店信息进行管理和维护。运用信息技术可以很快的提高宠物店的运营效率。方便对宠物信息的管理。 使用菜单实现检索、 增加、 删除、显示和存取等功能的正确选择。1.2 具体功能:1)程序运行时首先要求输入:宠物的编号。要录入的宠物的名字。要录入的宠物的性别。要录入宠物的年龄。要录入

2、宠物的颜色。录入后该宠物的数量。这些原始数据应保存 到一个文件中。2)然后程序要求可以实现:新宠物的增加。宠物的修改。宠物的浏览。宠物的删除。这些功能。1.3 主要知识点:面向过程程序设计方法 界面制作, switch 的应用。数组或链表的实现与应用 文件的读写。第二章、算法设计2.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增加宠物信息这个函数的作用是为了让用户增加宠物信息。 。我先在这个函数中建立一个“宠物的各 种信息”的文件 。用户可以直接把输入的信息存到文件中。方便后来的对文件

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

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

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

8、,最终发 现定义的指向文件的指针,在定义时没有加“ *”符号,导致了该编译错误。4.1.2选择错误在编译调试完成后, 又出现了问题, 即无法对学生信息正确筛选, 程序无法判断学生 成绩是否合格,全部将其按照合格处理。经过分布调试法的运行,发现了问题所在,是由 于在if语句括号后面不慎加了一个“;”符号,导致f判断之后执行的是空语句,而全原本应 该判断之后再执行的语句则被无条件执行,从而导致了无法正确筛选学生的结果。在发现 该原因之后,删除此“;”符号,程序即运行正确。4.1.3排版错误在调试过程中,除了出现了语法错误和算法错误之外, 还出现了输出结果的排版错误, 即在程序写入结果的文本文件中信

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

10、错的语句。所以此程序总体来看算法较为简单, 且语法结构较为单一。4.3对时空效率分析本程序实现的功能的较为简单,且算法并不复杂,执行步骤也不多,程序源代码只有 五百多行,所以运行起来几乎对计算机 CPU无任何影响,对内存空间的占用很小;在时间上,本程序也几乎是瞬间完成执行,没有明显的时间等待。4.4测试程序新宠物的增加 宠物的修改 宠物浏览 宠物的删除请输入你的选择=石输人你要修改的宠物編号3 3清输入修改后的宠物的编号4 4请输入修改后的宠物的名称 flafla jiejie请输入修改后的宠物的性别 nan*nan*倩输入修改后的宠物的年龄1212看输入修改后的宠物的颜色 baibaiJ J

11、青输入修改后的该宠物的数量4 4 f f讒澱请输入y y 完成修改请输入n n dajiedajie nannan1212baibai 4 4请输人你宴删除的宠物的编号4 4圧在删除此宠物信息,EnterEnter键继续删除刪除完成继续删除请输入完成删除请输入4.5经验和体会通过本次课程设计,我对c语言的学习与应用有了更加深刻的体会,也对一些基本语法结构、算法思想和程序设计方法更加的了解。通过这次C语言课程设计,很大程度上锻炼了我们写程序的动手能力和自主思考能力。禾用所学知识,开发小型实用的应用系统,掌握 运用C语言编写调试应用系统程序,对于我们独立开发应用系统并进行数据处理的综合能 力是一个

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

13、户的需求与想法才是程序开发者最需要考虑关心 的。1234第六章、参考文献黄明等编著C语言课程设计北京:电子工业出版社郭翠英编著C语言课程设计案例精编北京:中国水利水电出版社宁正元数据结构( c 语言) 南京:东南大学出版社。 2000年 6 月第 1版6谭浩强编著C程序设计(第3版)附录一北京:清华大学出版社、源程序清单#include stdio.h#include stdlib.h#include string.htypedef struct type/定义结构体 该种小动物的信息char sex10;/性别char age10;/年龄char color10;/颜色谭浩强编著C程序设计题

14、解与上机指导(第3版)北京:清华大学出版社5TY;定义结构体 小动物的各种信息严蔚敏等 数据结构( c 语言版) 北京:清华大学出版社, 1997年 4 月第 1版typedef struct information char num10; char name10; TY A;char sum10;INF;/ / 函数声明 void menu(); void menu1();/子函数 主菜单菜单 1void Information(); void Write(); / void Change();void Delete();/子函数 浏览全部宠物 子函数 新增宠物 子函数 修改宠物 子函数 删

15、除宠物void Exit();/退出void menu()int a;char b;/子函数 主菜单 1M: system(cls);printf(n);printf(n);printf(n);printf(n);printf(ttt1.printf(n); printf(n);printf(ttt2.printf(n); printf(n); printf(ttt3 .printf(n);printf(n);printf(ttt4.printf(n);printf(n);printf(ttt5.printf(n);printf(n); printf(ttttL: scanf(%d,&a);

16、switch (a) case 1:新宠物的增加宠物的修改宠物浏览宠物的删除退出n);n);n);n);n);请输入你的选择 : );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;def

17、ault:printf(n); printf(n);printf(ttt goto L;system(cls);printf(n);printf(n);printf(n);voidmenu1() /子函数 主菜单printf(n); printf(tttt* printf(n); printf(n); printf(n); printf(tttt* printf(n);printf(n); getchar();menu();欢迎进入宠物店管理系统 *n);进入下一页面请按Enter键*n);void Exit()system(cls);printf(n);printf(n); printf(n

18、); 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,CPET,CPETi.A.sex,CPETi.A.age,CPETi.A.color,CPETi.sum);i+; fclose(fp);printf(编号t名称t性别t年龄t颜色t数量n);for(a=0;

19、ai;a+)printf(n);printf(请输入你要录入的宠物的名字 n);录入函数L:printf(请输入你要录入的宠物的编号 n);printf(n);printf(%st%st%st%st%st%sn,CPETa.num,CPET,CPETa.A.sex,CP ETa.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) f

20、scanf(fp,%s%s%s%s%s%s,CPETi.num,CPET,CPETi.A.sex,CPETi.A.age,CPETi.A.color,CPETi.sum);i+; a=i;scanf(%s,CPETa.num);printf(n);printf(请输入你要录入的宠物的名字 n);printf(请输入你要录入的宠物的性别n);printf(请输入你要录入的宠物的年龄n);printf(请输入你要录入的宠物的颜色n);fp=fopen(宠物的各种信息 .txt,w+); fclose(fp); printf(scanf(%s,CPET);printf(n);

21、scanf(%s,CPETa.A.sex);printf(n);scanf(%s,CPETa.A.age);printf(n);scanf(%s,CPETa.A.color);printf(n);printf( 请输入录入后该种宠物的数量 n);scanf(%s,CPETa.sum);for(n=0;n=a;n+)fprintf(fp,n%st%st%st%st%st%s,CPETn.num,CPET,CPETn.A.sex,CPETn.A.age,CPETn.A.color,CPETn.sum);录入完成 , 继续录入请输入 y, 完成录入请输入 nn);getchar();sc

22、anf(%c,&b);if(b=y|b=Y)system(cls);printf(void Change() / 修改宠物信息a=a+1;system(cls);goto L;getchar();if(b=n)信息录入成功 , 数据初始化正在进入上层界面 n);INF CPET100;FILE *fp;int a,i,b;char c;char n100;fp=fopen(宠物的各种信息 .txt,r+);printf(请输入修改后的宠物的编号 n);printf(你输入的宠物编号不存在,请重新输入 n);i=0;while(!feof(fp) fscanf(fp,%s%s%s%s%s%s,C

23、PETi.num,CPET,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; break;if(i=a)goto L;printf(请输入修改后的宠物的性别 n);printf(请输入修改后的宠物的年龄 n);printf(请输入修改后的该宠物的数量 n);fp=fopen(宠物的各种信息 .txt,w+);scanf(%s,CPETb.num)

24、;printf(n);printf( 请输入修改后的宠物的名称 n);scanf(%s,CPET);printf(n);scanf(%s,CPETb.A.sex);printf(n);scanf(%s,CPETb.A.age);printf(n);printf( 请输入修改后的宠物的颜色 n);scanf(%s,CPETb.A.color);printf(n);scanf(%s,CPETb.sum);printf(n);fclose(fp);for(i=0;ia;i+)fprintf(fp,n%st%st%st%st%st%s,CPETi.num,CPET,CPETi.

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

温馨提示

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

评论

0/150

提交评论