C语言程序设计基础课程设计_第1页
C语言程序设计基础课程设计_第2页
C语言程序设计基础课程设计_第3页
C语言程序设计基础课程设计_第4页
C语言程序设计基础课程设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、武汉工商学院信息工程学院项目名称:图书信息管理系统 2016学生姓名:袁智琴23 日 学 号:15401023班 级:15计科实验班指导教师:胡成松1 /1目录1. 实验的目的和意义11.1目的11.2意义12. 系统功能的描述22. 1实验功能设计22. 2实验功能描述23. 系统存储结构设计与描述5N=(i-1);4. 系统功能实现与算法描述54. 1信息查询功能64. 2信息排序功能64. 3图书信息删除功能74. 4图书信息修改功能85. 系统性能测试105.1菜单函数的功能测试105. 2录入函数的功能测试105. 3浏览函数的功能测试115. 4查询函数的功能测试125. 5排序函

2、数的功能测试135. 6修改函数的功能实现145. 7删除函数的功能测试145. 8添加图书信息功能测试155. 9结束函数的功能测试166. 设计小结17致谢18参考文献19附录201 / 11. 实验的目的和意义1.1目的随着人们生活水平的日益提髙,人们对文化的需求也越来越大。在人们的业余生活中,越来越多的人乐于享受 文字给生活带来的乐趣。而图书也是学生的学习过程中必不可少的。而本项目旨在研发一个图书馆的管理系统,实现图书馆的信息化管理。在方便读者査询借阅图书的同时,方便 图书管理员对图书进行管理。对于用户来说,操作简便易行,本系统提供了按照isbn,书名,作者,出版单位, 出版年份,价格

3、6种方式的查询书目操作。本系统提供添加书目,删除书目,编辑书目信息等操作,方便后台 管理员对所有图书进行管理。1.2意义随着社会的发展,传统的图书管理方式已不再符合现代社会需求,相比传统繁琐复杂的图书借出与还入方式, 用简单的c语言程序代码编写的图书管理系统就可以更简单的实现图书信息录入,修改,删除,查询和浏览以 及保存等功能,让用户使用是更易上手,使得复杂且大量的图书管理操作更容易使用。1 /12. 系统功能的描述图书管理系统具有图书信息的录入保存,信息导入,浏览.査询和图书信息的排序,删除等功能。2. 1实验功能设计图书信息管理系统开发图书信息包括:书劣、作者名、ISBN号、出版单位、出版

4、年份、价格等。试设计一个图书信息管理系统, 使之能提供以下功能:(1)系统以菜单方式工作;(2)图书信息录入功能(图书信息用文件保存);(3)图书信息浏览功能:(4)查询和排序功能:(至少一种查询方式)1)按书名査询:2)按作者名査询:3)按出版社査询:4)按岀版年份查询。(5)修改图书信息:对某图书信息进行修改(6)删除图书:将某图书的信息删除(7)退岀根据题目所给问题,要求所编程序要实现以下功能:图书信息录入模块的实现:系统中文件的保存和读写功能的实现;图书信息的浏览:图书信息的査询。分为按图书书名査询,按作者名查询,按isbn编号查询以及按出版单位查询。图书信息按年份排序,修改的功能。对

5、某本图书的删除功能以及退出功能。系统菜单的的设计。对程序的设计和检测的功能。2. 2实验功能描述程序运行以后就会显示菜单界而:图书管理系统:1 图书信息录入2 图书信息浏览3 图书信息査询4. 图书信息排序5 修改图书信息6 删除图书7 退出系统如下是功能模块:图书管理系统图21功能模块图(1)图书信息录入 进入系统后会显示菜单界而,选择图书信息录入功能后会岀现请输入需要录入信息的 图书数量,从键盘输入需录入信息的图书数咼后就开始录入图书信息,录入结束后会自动保存入已创建的文件 里,然后会出现提示:返回主菜单请选择1,退出请选择0,根据提示选择退出系统或返回主菜单。(2)图书信息浏览功能 进入

6、系统后会显示菜单界而,根据菜单选择2图书信息浏览功能.然后就会依 次显示出图书的书名,作者名,isbn编号,出版单位,出版年份和图书价格,若先前已经录入过图书信息则会 依次显示出图书信息,若未录入过则会显示空白,结束后会出现返回主菜单或退出选项,根据提示进行退出或 返回主菜单操作。(3)图书信息查询功能 进入主菜单后选择3信息查询功能,然后界而上会显示査询方式:1按书名查询 2按作者名查询3按isbn编号查询4按出版单位查询,根据选项选择査询方式。若已找到此图书就会显示此 图书的书需,作者名,isbn编号,出版单位,出版年份和价格:若未找到此图书,界而会显示未找到此图书的 相关信息。若要继续修

7、改请按否则请按5 o结束后会显示返回主菜单和退岀系统选项,根拯选项进行 退岀或返回主菜单操作。(4)图书排序功能 进入主菜单后选择4图书信息排序功能,菜单界而显示排序方式(从小到大):1 按作者名排序2按isbn编号查询3按岀版年份查询,选择排序方式后开始排序操作,完成后显示出排序后所 有的图书信息。结朿后会显示返回主菜单和退出系统选项,根据选项进行退出或返回主菜单操作。(5)修改图书信息功能进入主菜单后选择5图书信息修改功能,菜单界而会显示“请输入你要修改的图 书的书名或isbn编号”,若在已录入的图书信息中找到此图书,则会显示“已找到此图书的相关信息! 若 未找到则会显示“未找到此书的相关

8、信息! ”然后显示此书的书名,作者名,isbn编号,出版单位,出版年份, 价格信息。在完成此操作后界面会显示岀一个选项菜单,根据选项选择需要修改的图书信息后根据提示输入修 改后的图书信息,在完成修改后,会输出修改后的全部的图书信息。若要继续修改请按y,结束修改请按n结 束后根据提示选择返回主菜单或者退出。(6)删除图书功能 进入主菜单候选择6删除图书功能,运行界而会显示岀删除前已录入的所有图书信息, 根据提示输入需要被删除的图书书名,若找到此图书则显示已找到此书的相关信息并输出其所有信息,若未找 到则显示未找到此书的相关信息。完成删除操作后,显示出删除后所有图书信息。结朿后根据提示选择退出系

9、统或返回主菜单。添加图书信息功能 进入主菜单后选择信息添加功能.然后输入需要添加信息的图书数量,选择后依次输 入图书的信息。结朿后若要继续添加请按分,否则请按o结束后若要返回主菜单请按,退出系统 请按任意键Q(7)退岀系统功能 选择退出系统后,运行界而显示岀“谢谢使用!”后退出系统。1 / 13. 系统存储结构设计与描述1)系统需要存储的信息包含图书书名、图书作者名、isbn编号、出版单位、岀版年份、图书价格,英中 图书书名.图书作者名、isbn编号、岀版单位信息均使用字符数组类型存放,出版年份信息使用int类型存放, 图书价格信息使用float类型存放:2 )系统设计的结构体泄义如下:str

10、uct bookchar shuming20;/图书书名char name20;/图书作者名char isbn 20;/图书 isbn 编号char chubandanwei 20 ;/出版单位int year;/出版年份float prize; /图书价格 stu Ml;系统左义了一个比己可录入的最大的信息量。#define M 100003 )保存函数save 0将已录入的所有图书信息从内存保存到硬盘中保存在book, txt文本里。for(i=0:i12345678亠一一5一一5一一殳一一口 息息息息.一.序 图图图程kti-亠独囹修t口亠一一口1 / 1諭入你的选择:畏狗拼音输入袪全:

11、图5J菜单功能测试图5. 2录入函数的功能测试显示菜单后选择1图书信息录入功能,输入需要录入信息的图书数量,然后进行图书信息的录入。如图5- 2所示I A9:课程设计图书管理系统Debug图书管理疾统一exJ5.3浏览函 数的功能测 试显示菜单 后选则2图书 信息浏览功能, 输出先前已经 录入的图书信 息。图书管理系貉自自“询序序 1111排i程 WW改嗨 图图图匿修12 3 4 5 6 7 请输入你的选择:1请输入需要录入信息的图书数量:3出岀伤 _L,r,IV J.r1V s V Jl.rIV nIh.plh:qn2匕3id- 0_二潮20号位份2512海99 同A-上19年汞i岀出价 r

12、IIvlInpr1V JLPrIV vlInr*IV &MIh.plh:q12西98五b-江19 国王三_:?位份20 = 名者bnw 為is出出价WWW.gpgpgPgpgpgF 入入入入入入 474747x75 主冃青主冃青青主冃图图图图图图1 3 3 3 3 3 3 B:B:B:BB:12 3 4 5 6? 磴El-母 .-51?改除加出 图要亠篇雷 、 12345678 yv/xyxcyv/v位查询勰年份请输入你的迦孕3 查1 旬方式:13名:高数己找到相关图电?isbn 编号吕数 王五 dT2456若要返回主茉单请按力退岀请按任意铠:图5-4査询功能测试图如图5-5示若输入错误则显示

13、未找到相关书籍。G:Debug111111111.exen亠一亘 _一2一一口序 图图图程 專加a 修删囂 5 6 7 8 ( ZX /I / I请输入你的选择:3查询方式:0:课程设计图书管理系统Debug图与管理系统一.exe11呈询 号查询淸揄入奁询方式;1请踹入需要查找的书名:三国演义未技到该作者的相关图书?若要返回主茉单请按力退岀请按任意谗捜犯拼音镰人法全:图5-5查询错误提示5. 5排序函数的功能测试显示菜单后选择图书信息排序功能。然后在按作者名排序,按isbn编号排序,按岀版年份排序这三种排序方式 中任选一种,然后输岀排序后的所有图书信息(按从小到大的顺序)。图书管理系统息(=息

14、息询序序清输入你的选择:42 按isbn编号排序3按出版年份排序亠15,:3制五同三王刘张 入后 输序名国语数 注昴书三英高岀版鱼位上海岀版年份199819992003价格20.0023.0025.00若要返回王菜牟请按并退出请按任意键:图5-6排序功能测试图5. 6修改函数的功能实现显示菜单后选择图书信息修改功能,输入你要修改的图书的书需或isbn编号.若找到此书则显示已找到此 书的相关信息并输出该图书的所有信息,否则则显示未找到此术的相关信息!然后选择修改图书信息的类型, 在输入修改后的图书信息,修改完成后输出所有的图书信息。若要继续修改请按结束修改请按1。如 图所示MG:Debug111

15、111111.exeM备鑼黠信息青输入你的囲軒5清输入你要修改的书籍的isbn编号:b-12345已拽到该图书的相关信息?请输入修改后的加编号:d-12456书名 担吾1.1名王五 张三is bn编号 a-1234S d-124S6 c-12345崔缠修改请按y,普里位河南结束请按请输入你的囲圣:岀版年份199fi20061999价格17耐24962丄08若要返回主菜单请按几退岀请按任意谴:图5-7修改功能测试图5. 7删除函数的功能测试显示菜单后选择图书信息删除功能.输出删除前所有的图书信息,然后输入需要删除信息的图书书需,若 找到此书则显示已找到此书的相关信息,否则就显示未找到。若确认删除

16、就按Y否则就按删除完成后显示 删除后所有的图书信息!如图5-7-1所示” G:课程设计爵B管理统Debug图exe”览 自:| 罚a 忌询序序 車_排图图程 丈亠冬修请输人你的选择:6价格17.00 24.OR 21.00岀版年份199619992006位聲北南岀上湖河号5 5 5 歐4 4 4 写 3 3 3 为bn121212 息isa-h-C- 信图者同戏三除名语数修IJ书英 12345678号息is 兰a所-IRI鄭国 删书英高思三1 /1图5-9删除错误提示5. 8添加图书信息功能测试显示菜单后选择图书信息添加功能,输入需要添加信息的图书数量,然后依次添加入信息。如下图所示G:Deb

17、ug111111111.exe:a-al23=上海:2W054询J?l自省心 各一*三竺鱼二d 信亠歯因图程改除加岀 图图修删証 3 4 5 6 7 8 z z z z三ol?23 年 汞io出岀| 人 fMJnISD勺uJnY rikl薔97 四C-河19 史李勇 历tw2-l 名编单年 名者hnw 菲.“電尬 ISD勺-JFrirvnnIsn图图因图一 RRrR書|:鬻 入人入入入入 土冃青青青土星冃i;l主星冃土冃土冃主垦EES图图图一图510信息添加功能测试5. 9结束函数的功能测试显示菜单后选择退出功能,显示“谢谢使用!P:课程设计图书管理萦统Debug图.exe11息息询序图图程请

18、输入你的选择:7谢谢使用?Press any key to continue图5-10修改功能测试图6设计小结用C语言编写的图书管理系统实现了图书信息的录入保存,导入浏览,査询,排序,删除,修改等功能, 是图书管理操作的方便快捷化,是复杂的工作变得简单在编写图书管理系统代码的过程中,我遇到了很多问 题:1保存和导入函数的运用上存在很多问题,首先是对保存和导入函数的用法和理解含糊不淸,英次就对何 时需要调用保存和导入函数不太淸楚。在查阅一些书籍和案例后,淸楚了如何使用保存和导入函数匚2对结构 体变量左义和结构体之间的信息交换不太熟悉,例如在对图书信息进行排序的过程中需要对整个结构体的信息 进行交

19、换,需左义一个新的有相同结的构体类型名的结构体变量才能进行结构体信息之间的交换。且交换的顺 序十分重要。在请教老师后和査阅相关书籍后,加深了我对结构体的认识和理解。3对于一些细节上的问题不 够细心。例如一条语句后的分号,左义的变量类型,变量的使用,函数调用中实参和形参的类型等。通过一次 又一次对程序的测试,最后解决了这些细节上的问题。这次的课程设计巩固了我对c语言课程学习,加深了我 对一些程序算法的理解。并认识到程序设讣并不只是对程序代码设计能力的检测,更是对程序报告编写能力考 验。致谢本次的课程设计实验中我遇到很到问题.不管是细节问题还是一些算法问题都让我耗费了一泄的时间。在 解决问题的过程

20、中,周困的老师和同学都给与了我很大的帮助。通过老师和同学的指导和帮助一些知识点薄弱 的地方都得到了加强。非常感谢老师和同学的帮助,让我能够准确完成课程设计报告。通过这次课程设计实验 我了解到团队合作的重要性,不论是在以后的学习中还是将来的工作中我都会谨记图解合作和不耻下问的重要 性。参考文献1 胡成松,黄玉兰,李文红C语言程序设计M北京:机械工业出版社,2015.82 周红,苏晓光.C语言程序设计实用教程M北京:人民邮电岀版社,2013. 113 王新,孙雷C语言课程设计M.北京:淸华大学出版社,2016:142-1471 / 11 /1附录#include #include #include

21、 int mean();void save(int);void load();void input();void look();void search();void paixu();void xiugai();void shumingl(char ch20); void name 1 (char ch20); void isbnl(char ch20); void cbdw(char ch20); void year 1 (int a);void prize 1 (float a);void back();void add();void xuanxiangO;#define M 10000图书

22、书名 图书作者名 图书isbn编号 出版单位int N=0; struct bookchar shuniing20;char name20;char isbn20;char chubandanwei20;int year;出版年份float prize; 图书价格stuM;int mean()int choose; printf(H printf(H= 1 MM MM MMMM 1 丿 9printf(Kt(l) printf(nt(2) printf(nt(3) printf(Ht(4) printf(Ht(5) printf(Ht(6) printf(nt(7) printf(nt(8)

23、printf(”=图书管理系统W);图书信息录入n”); 图书信息浏览n“); 图书信息查询nj; 图书信息排序F); 修改图书信息if); 删除图书信息n“); 添加图书信息nj; 退出程序W);=W);printf(n请输入你的选择:t”); scanf( n %d &choose);printf(HnH);return choose;void save(int N)FILE *fp;int i;if(fp=fopen(Hbook.txtH;,wbH)=NULL)printf(Hcannot open file nH);return;)for(i=0:iN;i+)fwrite(&stui,

24、sizeof(struct book),l,fp); fclose(fp);void load()FILE*fp;int i=0;if(fp=fopen(nbook.txtH,rbH)=NULL)printf(Kcannot open infilenH); exit(O);1while (!feof(fp)fread(&stiii,sizeof(striict book),l,fp); i+;1fclose(fp);N=(M);)void input()int i;pri ntf(请输入需要录入信息的图书数量:t);scanf(”d”,&N);printf(HnH);for(i=0;iN;i+

25、)printf(”请输入第d本图书的书名:i+l); scanf(n%sstui.shuming);printf(请输入第d本图书的作者名:”,i+1); scanf( H %s M ,stu i. name);printf(*谓输入苗d本图书的isbn编号打+1); scanf(n%s,&stui.isbn);printf(”请输入第本图书的出版单位:“,i+1);scanf(n%s,stui.chubandanwei);printf(”请输入第d本图书的出版年份:“,i+1); scanf(n %df&stu i .year);printf(请输入第d本图书的价格:”,i+1); scan

26、f( H %f19&stu i .prize);printf(nnH);save(N);void look()int i;load();primf(”书名t作者名tisbn编号t出版单位t出版年份t价格n”);for(i=0;iN;i+) printf(,r%st%st%stt%stt%dtt%.2fn,stui.shuming,,stui.isbn,stui.chubandan wei,stui.year,stui.prize);)void search()int i,a,flog=0;priiHf(喳询方式:ntl按书名查询tt2按作者名查询nt3按isbn编号查询t4按

27、出版单位查询 W);printf(Hn请输入查询方式:H);scanf(”d”,&a);switch(a)case 1:char chi20;printfC*请输入需要查找的书名:J;scanf(,%s,chl);printf(HnH);load();for(i=0;iN;i+)if(strcmp( stui.shuming.ch l)=0)printfC1已找到相关图书!n”); printf(M45l作者名Wsbn编号t出版单位1岀版年份(价格S);printf(,%st%st%stt%stt%dtt%.2fnH,stui.shuming,,stui.isbn,stui.

28、chubandanwei,stui.year,stui.pri ze);flog=l;break;case 2:char ch220;print请输入需要查找的作者名:”);scanf(”s,ch2);printf(nnM);load();for(i=0;iN;i+)if(strcmp(xh2)=0)printfC已找到相关图书!E);printf(Hn书名t作者名tisbn编号t出版单位t出版年份t价格W);printf(,%st%st%stt%st%dtt%.2fn,stui.shuming,,stui.isbn,stui.chubandanwei,st

29、ui.year5stui.priz e);temp=stu|j;stuj=stu|j+l; stuj+l=temp;prim”排序后的所有图书信息为:n“); for(i=0;iN;i+)printf(H%st%st%stt%st%dtt%.2fn,stui.shuming,,stui.isbn,stui.chubandanwei5stui.yeanstui.prize);break;case 2:load();fbr(i=O;iN;i+)for(j=0;jO)temp=stuj:stu(j=stu|j+l;stuj+l=temp;printf(M排序后的所有图书信息为Anf

30、or(i=0;iN;i+)printf(,%st%st%stt%st%dtt%.2fn,stui.shuming,,stui.isbn,stui.chubandanwei,stui.year,stui.prizc);break;case 3:load();for(i=0;iN;i+)for(j=0;jstuj+ lj.year)temp=stuj;stuj=stuU+l; stuj+l=temp;printfC排序后的所有图书信息为W);for(i=0;iN;i+)printf(n%st%st%stt%st%dtt%.2fnH,stui.shuming5stui.naine,stui.isbn,stui.chubandanwei,stui.year,stui.priz e);break:void xiugai()int ij,flog=0;char chi20,ch:print请输入你要修改的书籍的isbn编号:L); scanf(H%s,chl);printf(MnH);load();fbr(i=O;iN;i+)if(strcmp(stui.isbn,ch 1 )=0) printf(H * *$* * * * * * * * * * *printf

温馨提示

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

评论

0/150

提交评论