c语言课程设计报告~图书管理系统.doc_第1页
c语言课程设计报告~图书管理系统.doc_第2页
c语言课程设计报告~图书管理系统.doc_第3页
c语言课程设计报告~图书管理系统.doc_第4页
c语言课程设计报告~图书管理系统.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

作者:电子商务09-2班 卢佳 学号:0918230209高级语言程序设计(c)课程设计报告书设计题目 图书管理系统 姓名 专业班级 学号 指导老师 成绩 营销管理学院电子商务系2011年1月 - 1 -pa作者:电子商务09-2班 卢佳 学号:0918230209图书信息管理系统目录一 引言3二 系统功能和原始数据3三 程序总体设计4四 功能模块函数设计和调试5五 程序清单12六 课程设计总结17一 引言在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机解决实际问题的基本方法,熟悉c程序开发的全过程.本任务应用指针编制小型的图书管理系统.通过整个程序开发的过程,提高综合应用c语言的能力,编程和调试能力.二 系统功能和原始数据(一) 系统功能(1)主菜单0.图书信息录入1.图书信息浏览2按书名查询图书信息3.按isbn查询图书信息4.增加图书信息5.按书名排序6.删除记录7.保存文件8.打开文件9.退出 (2)各项功能0.图书信息录入:输入图书的名字、isbn、作者、价格、出版社等。1. 图书信息浏览:图书的名字、isbn、作者、价格、出版社等2.查看与书的名字有关的信息:根据书名查找书。3.查看与作者有关的书的信息:根据作者查找书。4.增加书的信息:输入书的名字、isbn、作者、价格、出版社等。5按照书名排序:字母的形式排序6删除记录:删除一条书的信息7.保存文件8.文件打开9.退出(二) 原始数据图书信息:图书信息包括:书名.isbn.分类号.作者.出版日期.出版社.价格文件结构:书名isbn分类号作者出版时间出版单位价格c语言123xx1谭浩强09-01-21高等教育出版社15数学234xx2彭辉09-01-21高等教育出版社16思修345xx3邹邹09-01-21高等教育出版社17英教456xx4王浩09-01-21高等教育出版社18应用文567xx5瑞瑞09-01-21高等教育出版社19概率678xx6雪雪09-01-21高等教育出版社20管理学789xx7小邹09-01-21高等教育出版社21线代890xx8周敏09-01-21高等教育出版社22军事901xx9张向东 刘毅09-01-21高等教育出版社23运筹012xx0崔崔09-01-21高等教育出版社24三 程序总体设计(一)数据结构:struct record char name20; char isbn20; char author40; char price10; char company30;(二)模块划分:主函数main菜单menustruct record结构体void list()显示书籍信息void add()输入图书信息voidsearch_name()search_isbn()查找 voidlistbyname()排序功能void exit()退出四 功能模块函数设计和调试(一) 函数原型,功能和形参说明函数原型:void adduser() void list() void search_name() void search_isbn() void add() void listbyname() void dele() void save() void read()函数功能:adduser() 增加书籍信息 list() 显示书籍信息search_name() 按书名查找search_isbn() 按isbn号码查找add() 增加书籍信息listbyname() 按书名排序dele() 删除书籍信息save() 保存read() 文件打开参数说明:read()/*从文件中读入数据*/ file *fp; /*定义文件指针*/(二)函数流程图adduser 输入函数输入书名输入isbn输入作者输入分类号输入出版日期输入价格输入出版单位继续添加结束search_name 按书名查找mark=0i=0a=0char name20i=a显示书籍信息inumif(strcmp(,name)=0查找相同书i+按任意键返回主菜单没有相同书名纪录按任意键返回主菜单书名查找与isbn查找方法相同删除书籍信息i,j,delemark=0mun=0i=0inumif(strcmp(studenti.isbn,isbn)=null)删除书籍信息删除i+删除成功没有该书籍纪录没有该书籍纪录按书名删除与按isbn删除方法相同(三)运行结果五 程序清单 #include /*引用库函数*/ #include #include#include #include #include #define null 0 ;struct record char name20; char isbn20; char author40; char type10; char date10; char price10; char company30;student30;struct linklist struct record us; struct linklist *next;a;struct linklist *head=null;int num=0;file *fp;int menu_select();/*菜单函数*/int adduser();int list();int search_name();int search_isbn();int add();int listbyname();int dele();int save();int read();int exit();void main() system(cls);/*运行前清屏*/ for(;) switch(menu_select() case 0: adduser(); break; case 1: list(); break; case 2: search_name(); break; case 3: search_isbn(); break; case 4: add(); break; case 5: listbyname(); break; case 6: dele(); break; case 7: save(); break; case 8: read(); break; case 9: exit(0); menu_select() int s; int a; cout*_* 按任意键进入菜单! *_* endl; getch(); system(cls); couttt*menu*nendl; couttt 0. 图书信息录入endl; couttt 1. 图书信息浏览 endl; couttt 2. 按书名查询图书信息endl; couttt 3. 按isbn查询图书信息endl; couttt 4. 增加图书信息endl; couttt 5. 按书名排序endl; couttt 6. 删除记录endl; couttt 7. 数据保存endl; couttt 8. 文件打开endl; couttt 9.退出endl; couttt*endl; do couts; a=s; while (a9); return a;adduser() /输入函数 coutntt* 请输入图书信息 *endl; ; coutstudentnum.isbn; coutstudentnum.author; coutstudentnum.type; coutstudentnum.date; coutstudentnum.price; pany; num+; coutz; if(z=y)|(z=y) adduser(); return(0);int list() /显示函数 int i; system(cls); if(num!=0) coutntt* 以下为该书所有信息*; for(i=0;inum;i+)/*循环输入*/ coutntt书名:; coutnttisbn: studenti.isbn; coutntt作者: studenti.author; coutntt分类号: studenti.type; coutntt出版日期: studenti.date; coutntt价格: studenti.price; coutntt出版单位:pany; couttt; if(i+1num) coutntt_; system(pause); coutntt*; else coutntt书库中无任何纪录; coutntt按任意键返回主菜单:; getch(); return(0);search_name() /按书名查找 int mark=0; int i; int a=0; coutntt* 按书名查找 *; char name20; coutname; for(i=a;inum;i+) if(strcmp(,name)=0) coutntt* 以下是您查找的信息 *; coutntt书名: ; coutnttisbn: studenti.isbn; coutntt作者: studenti.author; coutntt分类号: studenti.type; coutntt出版日期: studenti.date; coutntt价格: studenti.price; coutntt出版单位:pany; coutntt*; mark+; if(i+1)num) couty; if(y=y)|(y=y) a=i; continue; else return(0); else coutntt按任意键返回主菜单; getch(); return(0); if(mark=0) coutntt没有相同书名纪录; coutntt按任意键返回主菜单; getch(); return(0); search_isbn() /按isbn查找 int mark=0; int i; int a=0; coutntt* 按isbn查找 *; char isbn10; coutisbn; for(i=0;inum;i+) if(strcmp(studenti.isbn,isbn)=0) coutntt* 以下是您查找的书籍信息 *; coutntt书名: ; coutnttisbn: studenti.isbn; coutntt分类号: studenti.type; coutntt出版日期: studenti.date; coutntt价格: studenti.price; coutntt作者: studenti.author; coutntt出版单位:pany; coutntt*; coutntt按任意键返回主菜单:; mark+; getch(); return(0); if(mark=0) coutntt没有更改信息; coutntt按任意键返回主菜单; getch(); return(0); return(0);add() /增加书籍信息 int i; if(fp=fopen(student.bin,wb)=null) coutntt文件打开失败; for (i=0;inum;i+) if (fwrite(&studenti,sizeof(struct record),1,fp)!=1) coutntt写入文件错误!n; coutntt* 请输入书籍信息 *endl; ; coutstudentnum.isbn; coutstudentnum.author; coutstudentnum.date; coutstudentnum.type; coutstudentnum.price; pany; num+; coutntt是否继续添加?(y/n):; if(getch()=y) adduser(); return(0); fclose(fp); coutntt图书文件已保存; coutntt按任意键退出程序ntt; exit(0); return(0);void deletebyisbn() int i,j; int deletemark=0; char isbn20; coutisbn; if(num=0) coutntt对不起,文件中无任何纪录; coutntt按任意键返回主菜单; getch(); return; for (i=0;inum;i+) if(strcmp(studenti.isbn,isbn)=null) coutntt以下是您要删除的书籍纪录:; coutntt书名: ; coutnttisbn: studenti.isbn; coutntt分类号: studenti.type; coutntt出版日期: studenti.date; coutntt价格: studenti.price; coutntt作者: studenti.author; coutntt出版单位:pany; coutu; if(u=y)|(u=y) for(j=i;jnum-1;j+) studentj=studentj+1; num-; deletemark+; coutntt删除成功; coutv; if(v=y)|(v=y) deletebyisbn(); return; else return; continue; if(deletemark=0) coutntt没有该书籍的纪录; coutm; if(m=y)|(m=y) deletebyisbn(); return; void deletebyname() int a=0; int findmark=0; int j; int deletemark=0; int i; char name20; coutname; for(i=a;inum;i+) if(strcmp(,name)=null) coutntt以下是您要删除的书籍纪录:; findmark+; coutntt_; coutntt书名: ; coutnttisbn: studenti.isbn; coutntt分类号: studenti.type; coutntt作者: studenti.author; coutntt出版日期: studenti.date; coutntt价格: studenti.price; coutntt出版单位:pany; coutntt_; coutn; if(n=y)|(n=y) for(j=i;jnum-1;j+) studentj=studentj+1; num-; deletemark+; coutntt删除成功; if(i+1)num) coutl; if(l=y)|(l=y) a=i; continue; couto; if(o=y)|(o=y) deletebyname(); return; if(i+1)num) coutp; if(p=y)|(p=y) a=i; continue; else continue; if(deletemark=0)&(findmark=0) coutntt没有该书籍的纪录; coutq; if(q=y)|(q=y) deletebyisbn(); return; return; else if(findmark!=0) coutntt没有重名信息; coutntt没有该书纪录; coutr; if(r=y)|(r=y) deletebyisbn(); return; return; dele() /删除书籍信息 int choic; coutntt1-按isbn号码删除 2-按书名删除; coutchoic; switch (choic) case 1: deletebyisbn(); break; case 2: deletebyname(); break; return(0);listbyname() /按书名排序 int i,j; struct record tmp; for(i=1;inum;i+) if(strcmp(,)0) tmp=studenti; j=i-1; do studentj+1=studentj; j-; while (strcmp(,)=0); studentj+1=tmp; coutx; if(x=y)|(x=y) list(); return(0);save() /保存资料 int j; file*fp; fp=fopen(student.txt,w); if (fp=null) cout不能打开文件.; if(num!=0) for(j=0;jnum;

温馨提示

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

评论

0/150

提交评论