c语言课程设计报告~图书管理系统.doc

上传人:土8路 文档编号:10356794 上传时间:2021-05-11 格式:DOC 页数:23 大小:309KB
返回 下载 相关 举报
c语言课程设计报告~图书管理系统.doc_第1页
第1页 / 共23页
c语言课程设计报告~图书管理系统.doc_第2页
第2页 / 共23页
c语言课程设计报告~图书管理系统.doc_第3页
第3页 / 共23页
c语言课程设计报告~图书管理系统.doc_第4页
第4页 / 共23页
c语言课程设计报告~图书管理系统.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《c语言课程设计报告~图书管理系统.doc》由会员分享,可在线阅读,更多相关《c语言课程设计报告~图书管理系统.doc(23页珍藏版)》请在三一文库上搜索。

1、高级语言程序设计(C)课程设计报告书设计题目 图书管理系统 姓名 专业班级 学号 指导老师 成绩 营销管理学院电子商务系2011年1月目录一 引言3二 系统功能和原始数据3三 程序总体设计4四 功能模块函数设计和调试5五 程序清单12六 课程设计总结17一 引言在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机解决实际问题的基本方法,熟悉C程序开发的全过程.本任务应用指针编制小型的图书管理系统.通过整个程序开发的过程,提高综合应用C语言的能力,编程和调试能力.二 系统功能和原始数据(一) 系统功能(1)主菜单0.图书信息录入1.图书信息浏览2按书名查询图书信息3.按ISBN查询图

2、书信息4.增加图书信息5.按书名排序6.删除记录7.保存文件8.打开文件9.退出 (2)各项功能0.图书信息录入:输入图书的名字、ISBN、作者、价格、出版社等。1. 图书信息浏览:图书的名字、ISBN、作者、价格、出版社等2.查看与书的名字有关的信息:根据书名查找书。3.查看与作者有关的书的信息:根据作者查找书。4.增加书的信息:输入书的名字、ISBN、作者、价格、出版社等。5按照书名排序:字母的形式排序6删除记录:删除一条书的信息7.保存文件8.文件打开9.退出(二) 原始数据图书信息:图书信息包括:书名.isbn.分类号.作者.出版日期.出版社.价格文件结构:书名Isbn分类号作者出版时

3、间出版单位价格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三 程序总体设计(一)数据结构

4、: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()

5、 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输入

6、作者输入分类号输入出版日期输入价格输入出版单位继续添加结束search_name 按书名查找mark=0i=0a=0char name20i=a显示书籍信息inumif(strcmp(studenti.name,name)=0查找相同书i+按任意键返回主菜单没有相同书名纪录按任意键返回主菜单书名查找与ISBN查找方法相同删除书籍信息i,j,delemark=0mun=0i=0inumif(strcmp(studenti.isbn,isbn)=NULL)删除书籍信息删除i+删除成功没有该书籍纪录没有该书籍纪录按书名删除与按ISBN删除方法相同(三)运行结果五 程序清单 #include /*引用

7、库函数*/ #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_s

8、elect();/*菜单函数*/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: sea

9、rch_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; co

10、uttt 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.name; coutstudentnum.isbn;

11、 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书名:studenti.name; coutnttISBN: studenti.isbn; coutntt作者:

12、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* 按书名查找 *; ch

13、ar name20; coutname; for(i=a;inum;i+) if(strcmp(studenti.name,name)=0) coutntt* 以下是您查找的信息 *; coutntt书名: studenti.name; coutnttISBN: studenti.isbn; coutntt作者: studenti.author; coutntt分类号: studenti.type; coutntt出版日期: studenti.date; coutntt价格: studenti.price; coutntt出版单位:pany; coutntt*; mark+; if(i+1)n

14、um) 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,

15、isbn)=0) coutntt* 以下是您查找的书籍信息 *; coutntt书名: studenti.name; 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没有更改信息; cou

16、tntt按任意键返回主菜单; 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.name; coutstudentnum.isbn; coutstudentnum.author; coutstud

17、entnum.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对不起,文件中无任何纪录; coutnt

18、t按任意键返回主菜单; getch(); return; for (i=0;inum;i+) if(strcmp(studenti.isbn,isbn)=NULL) coutntt以下是您要删除的书籍纪录:; coutntt书名: studenti.name; coutnttISBN: studenti.isbn; coutntt分类号: studenti.type; coutntt出版日期: studenti.date; coutntt价格: studenti.price; coutntt作者: studenti.author; coutntt出版单位:pany; coutu; if(u=y

19、)|(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

20、 i; char name20; coutname; for(i=a;inum;i+) if(strcmp(studenti.name,name)=NULL) coutntt以下是您要删除的书籍纪录:; findmark+; coutntt_; coutntt书名: studenti.name; coutnttISBN: studenti.isbn; coutntt分类号: studenti.type; coutntt作者: studenti.author; coutntt出版日期: studenti.date; coutntt价格: studenti.price; coutntt出版单位:p

21、any; 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) coutnt

22、t没有该书籍的纪录; 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(

23、); break; return(0);listbyname() /按书名排序 int i,j; struct record tmp; for(i=1;inum;i+) if(strcmp(studenti.name,studenti-1.name)0) tmp=studenti; j=i-1; do studentj+1=studentj; j-; while (strcmp(tmp.name,studentj.name)=0); studentj+1=tmp; coutx; if(x=y)|(x=Y) list(); return(0);save() /保存资料 int j; FILE*f

24、p; fp=fopen(student.txt,w); if (fp=NULL) cout不能打开文件.; if(num!=0) for(j=0;jnum;j+) fwrite(student,sizeof(student),1,fp); cout保存成功!; fclose(fp); return(0); read()/*从文件中读入数据*/ int n; int m=0,num; FILE *fp; /*定义文件指针*/ char filename20; /*定义文件名*/ cout输入文件名:filename; /*输入文件名*/ if(fp=fopen(student.txt,rb)=N

25、ULL) /*打开文件*/ cout提示:无法打开这个文件!endl; /*打开失败信息*/ coutttt; system(pause); return(n); fscanf(fp,%d,&num); /*读入总记录量*/ while(mnum) /*循环读入数据*/ fscanf(fp,%s%d%s%f%f%f%f%f%f%f,&studentn+m.name,&studentn+m.isbn,&studentn+m.author,&studentn+m.type,&studentn+m.date,&studentn+m.price,&studentn+pany);m+; n+=num; fclose(fp); /*关闭文件*/ cout提示:读入数据成功,可选择【图书信息浏览】查看endl; coutttt; system(pause); return(n); 六 课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对本人实际工作能力的具体训练和考察过程.在整整两周的日子里,可以学到很多很多的的东西,在设计中遇到了很多编程问题,通过查找资料、回顾课本等终于完成了课程设计。参考文献:C语言程序设计题解与上级指导清华大学出版社C程序设计清华大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1