欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

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

    • 资源ID:2384916       资源大小:309KB        全文页数:23页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    高级语言程序设计(C)课程设计报告书设计题目 图书管理系统 姓名 专业班级 学号 指导老师 成绩 营销管理学院电子商务系2011年1月目录一 引言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显示书籍信息i<numif(strcmp(studenti.name,name)=0查找相同书i+按任意键返回主菜单没有相同书名纪录按任意键返回主菜单书名查找与ISBN查找方法相同删除书籍信息i,j,delemark=0mun=0i=0i<numif(strcmp(studenti.isbn,isbn)=NULL)删除书籍信息删除i+删除成功没有该书籍纪录没有该书籍纪录按书名删除与按ISBN删除方法相同(三)运行结果五 程序清单 #include<iostream.h> /*引用库函数*/ #include <stdio.h>#include<iostream.h>#include <string.h>#include <conio.h>#include <stdlib.h>#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"); cout<<"tt*MENU*n"<<endl; cout<<"tt 0. 图书信息录入"<<endl; cout<<"tt 1. 图书信息浏览 "<<endl; cout<<"tt 2. 按书名查询图书信息"<<endl; cout<<"tt 3. 按ISBN查询图书信息"<<endl; cout<<"tt 4. 增加图书信息"<<endl; cout<<"tt 5. 按书名排序"<<endl; cout<<"tt 6. 删除记录"<<endl; cout<<"tt 7. 数据保存"<<endl; cout<<"tt 8. 文件打开"<<endl; cout<<"tt 9.退出"<<endl; cout<<"tt*"<<endl; do cout<<"n 输入你的选择(09):" cin>>s; a=s; while (a<0|a>9); return a;adduser() /输入函数 cout<<"ntt* 请输入图书信息 *"<<endl; cout<<"ntt输入书名:" /*交互输入*/ cin>>studentnum.name; cout<<"ntt输入ISBN:" cin>>studentnum.isbn; cout<<"ntt输入作者:" cin>>studentnum.author; cout<<"ntt输入分类号:" cin>>studentnum.type; cout<<"ntt输入出版日期:" cin>>studentnum.date; cout<<"ntt输入价格:" cin>>studentnum.price; cout<<"ntt输入出版单位:" cin>>studentnum.company; num+; cout<<"ntt是否继续添加?(Y/N):" char z; cin>>z; if(z='y')|(z='Y') adduser(); return(0);int list() /显示函数 int i; system("cls"); if(num!=0) cout<<"ntt* 以下为该书所有信息*" for(i=0;i<num;i+)/*循环输入*/ cout<<"ntt书名:"<<studenti.name; cout<<"nttISBN: "<<studenti.isbn; cout<<"ntt作者: "<<studenti.author; cout<<"ntt分类号: "<<studenti.type; cout<<"ntt出版日期: "<<studenti.date; cout<<"ntt价格: "<<studenti.price; cout<<"ntt出版单位:"<<studenti.company; cout<<"tt" if(i+1<num) cout<<"ntt_" system("pause"); cout<<"ntt*" else cout<<"ntt书库中无任何纪录" cout<<"ntt按任意键返回主菜单:" getch(); return(0);search_name() /按书名查找 int mark=0; int i; int a=0; cout<<"ntt* 按书名查找 *" char name20; cout<<"ntt请输入书名:" cin>>name; for(i=a;i<num;i+) if(strcmp(studenti.name,name)=0) cout<<"ntt* 以下是您查找的信息 *" cout<<"ntt书名: "<<studenti.name; cout<<"nttISBN: "<<studenti.isbn; cout<<"ntt作者: "<<studenti.author; cout<<"ntt分类号: "<<studenti.type; cout<<"ntt出版日期: "<<studenti.date; cout<<"ntt价格: "<<studenti.price; cout<<"ntt出版单位:"<<studenti.company; cout<<"ntt*" mark+; if(i+1)<num) cout<<"ntt是否继续查找相同名字的信息:(y/n)" char y;cin>>y; if(y='y')|(y='Y') a=i; continue; else return(0); else cout<<"ntt按任意键返回主菜单" getch(); return(0); if(mark=0) cout<<"ntt没有相同书名纪录" cout<<"ntt按任意键返回主菜单" getch(); return(0); search_isbn() /按ISBN查找 int mark=0; int i; int a=0; cout<<"ntt* 按ISBN查找 *" char isbn10; cout<<"ntt请输入ISBN:" cin>>isbn; for(i=0;i<num;i+) if(strcmp(studenti.isbn,isbn)=0) cout<<"ntt* 以下是您查找的书籍信息 *" cout<<"ntt书名: "<<studenti.name; cout<<"nttISBN: "<<studenti.isbn; cout<<"ntt分类号: "<<studenti.type; cout<<"ntt出版日期: "<<studenti.date; cout<<"ntt价格: "<<studenti.price; cout<<"ntt作者: "<<studenti.author; cout<<"ntt出版单位:"<<studenti.company; cout<<"ntt*" cout<<"ntt按任意键返回主菜单:" mark+; getch(); return(0); if(mark=0) cout<<"ntt没有更改信息" cout<<"ntt按任意键返回主菜单" getch(); return(0); return(0);add() /增加书籍信息 int i; if(fp=fopen("student.bin","wb")=NULL) cout<<"ntt文件打开失败" for (i=0;i<num;i+) if (fwrite(&studenti,sizeof(struct record),1,fp)!=1) cout<<"ntt写入文件错误!n" cout<<"ntt* 请输入书籍信息 *"<<endl; cout<<"ntt输入书名:" cin>>studentnum.name; cout<<"ntt输入ISBN号码:" cin>>studentnum.isbn; cout<<"ntt输入作者:" cin>>studentnum.author; cout<<"ntt输入出版日期:" cin>>studentnum.date; cout<<"ntt输入分类号:" cin>>studentnum.type; cout<<"ntt输入价格:" cin>>studentnum.price; cout<<"ntt输入出版单位:" cin>>studentnum.company; num+; cout<<"ntt是否继续添加?(Y/N):" if(getch()='y') adduser(); return(0); fclose(fp); cout<<"ntt图书文件已保存" cout<<"ntt按任意键退出程序ntt" exit(0); return(0);void deletebyisbn() int i,j; int deletemark=0; char isbn20; cout<<"ntt请输入要删除ISBN号码:" cin>>isbn; if(num=0) cout<<"ntt对不起,文件中无任何纪录" cout<<"ntt按任意键返回主菜单" getch(); return; for (i=0;i<num;i+) if(strcmp(studenti.isbn,isbn)=NULL) cout<<"ntt以下是您要删除的书籍纪录:" cout<<"ntt书名: "<<studenti.name; cout<<"nttISBN: "<<studenti.isbn; cout<<"ntt分类号: "<<studenti.type; cout<<"ntt出版日期: "<<studenti.date; cout<<"ntt价格: "<<studenti.price; cout<<"ntt作者: "<<studenti.author; cout<<"ntt出版单位:"<<studenti.company; cout<<"ntt是否删除?(y/n)" char u;cin>>u; if(u='y')|(u='Y') for(j=i;j<num-1;j+) studentj=studentj+1; num-; deletemark+; cout<<"ntt删除成功" cout<<"ntt是否继续删除?(y/n)" char v;cin>>v; if(v='y')|(v='Y') deletebyisbn(); return; else return; continue; if(deletemark=0) cout<<"ntt没有该书籍的纪录" cout<<"ntt是否继续删除?(y/n)" char m;cin>>m; if(m='y')|(m='Y') deletebyisbn(); return; void deletebyname() int a=0; int findmark=0; int j; int deletemark=0; int i; char name20; cout<<"ntt请输入要删除书籍名称:" cin>>name; for(i=a;i<num;i+) if(strcmp(studenti.name,name)=NULL) cout<<"ntt以下是您要删除的书籍纪录:" findmark+; cout<<"ntt_" cout<<"ntt书名: "<<studenti.name; cout<<"nttISBN: "<<studenti.isbn; cout<<"ntt分类号: "<<studenti.type; cout<<"ntt作者: "<<studenti.author; cout<<"ntt出版日期: "<<studenti.date; cout<<"ntt价格: "<<studenti.price; cout<<"ntt出版单位:"<<studenti.company; cout<<"ntt_" cout<<"ntt是否删除?(y/n)" char n;cin>>n; if(n='y')|(n='Y') for(j=i;j<num-1;j+) studentj=studentj+1; num-; deletemark+; cout<<"ntt删除成功" if(i+1)<num) cout<<"ntt是否继续删除相同书籍信息?(y/n)" char l;cin>>l; if(l='y')|(l='Y') a=i; continue; cout<<"ntt是否继续删除?(y/n)" char o;cin>>o; if(o='y')|(o='Y') deletebyname(); return; if(i+1)<num) cout<<"ntt是否继续删除相同书名信息?(y/n)" char p;cin>>p; if(p='y')|(p='Y') a=i; continue; else continue; if(deletemark=0)&&(findmark=0) cout<<"ntt没有该书籍的纪录" cout<<"ntt是否继续删除?(y/n)" char q;cin>>q; if(q='y')|(q='Y') deletebyisbn(); return; return; else if(findmark!=0) cout<<"ntt没有重名信息" cout<<"ntt没有该书纪录" cout<<"ntt是否继续删除?(y/n)" char r;cin>>r; if(r='y')|(r='Y') deletebyisbn(); return; return; dele() /删除书籍信息 int choic; cout<<"ntt1-按ISBN号码删除 2-按书名删除" cout<<"ntt请选择:" cin>>choic; switch (choic) case 1: deletebyisbn(); break; case 2: deletebyname(); break; return(0);listbyname() /按书名排序 int i,j; struct record tmp; for(i=1;i<num;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&&j>=0); studentj+1=tmp; cout<<"ntt排序成功,是否显示?(y/n)" char x;cin>>x; 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;j<num;j+) fwrite(student,sizeof(student),1,fp); cout<<"保存成功!" fclose(fp); return(0); read()/*从文件中读入数据*/ int n; int m=0,num; FILE *fp; /*定义文件指针*/ char filename20; /*定义文件名*/ cout<<"输入文件名:"<<endl; cin>>filename; /*输入文件名*/ if(fp=fopen("student.txt","rb")=NULL) /*打开文件*/ cout<<"=>提示:无法打开这个文件!"<<endl; /*打开失败信息*/ cout<<"ttt" system("pause"); return(n); fscanf(fp,"%d",&num); /*读入总记录量*/ while(m<num) /*循环读入数据*/ 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+m.company);m+; n+=num; fclose(fp); /*关闭文件*/ cout<<"=>提示:读入数据成功,可选择【图书信息浏览】查看"<<endl; cout<<"ttt" system("pause"); return(n); 六 课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对本人实际工作能力的具体训练和考察过程.在整整两周的日子里,可以学到很多很多的的东西,在设计中遇到了很多编程问题,通过查找资料、回顾课本等终于完成了课程设计。参考文献:C语言程序设计题解与上级指导清华大学出版社C程序设计清华大学出版社

    注意事项

    本文(c语言课程设计报告~图书管理系统.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开