C语言程序设计报告之图书信息管理系统_第1页
C语言程序设计报告之图书信息管理系统_第2页
C语言程序设计报告之图书信息管理系统_第3页
C语言程序设计报告之图书信息管理系统_第4页
C语言程序设计报告之图书信息管理系统_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、 C语言专周报告指导老师:王飞班级:10611学号:18姓名:古辰风2021/6/13一 设计题目:图书管理系统二 设计要求:图书信息包括:图书号、书名、作者名、分类号、价格、借阅次数等,试设计一个图书管理系统使之提供以下功能:a) 系统以菜单方式工作b) 进入系统需要用户名和密码c) 图书信息录入功能d) 图书信息浏览功能e) 图书信息查询功能按书名、按作者名f) 图书借阅次数排序功能g) 图书信息的删除与修改h) 系统退出三 需求分析:1 操作对象有多个属性,故其类型为结构体类型2 多个对象数据的录入采用循环实现3 图书信息保存到文件中,涉及到文件的读写操作。4 排序操作可采用冒泡排序和选

2、择法排序5 主函数中根据用户不同选择执行不同操作可通过“多分支选择语句switch实现四 概要设计1数据结构设计图书管理系统为结构:图书号、书名、作者名、分类号、价格、借阅次数struct 结构体名 图书号类型定义; 书名类型定义; 作者名类型定义; 分类号类型定义; 价格类型定义; 借阅次数类型定义; ;2模块功能说明本程序包括七个主要模块main()清屏并显示主菜单提示用户选择所要执行的操作根据用户的选择执行相应模块1登入模块实现系统的登入2录入模块实现图书信息的录入3显示模块实现图书信息的显示4查询模块按用户指定要求按书名、按作者名查询指定对象的图书信息5删除模块删除相应对象的通讯信息6

3、修改模块修改相应对象的通讯信息7排序模块按用户指定要求按书名、按作者名将通讯信息进行排序五 详细设计#include#include#include#define N 3int mi();/*密码函数*/void menu();/*菜单函数*/void inputinfo();/*录入函数*/void bookname();/*按书名查询*/void anthor();/*按作者名查询*/void lan();/*浏览功能*/void paixu();/*排序功能*/void readate();/*文件读出*/void cha();/*查询*/void bookname();/按书名查询vo

4、id author();/按作者名查询void paixu();/排序void chugai();/删除修改void del();/删除void gai();/修改struct stuchar books20;char name20;char author20;char lei20;char price20;int num; sN;/*主函数*/void main()int z=0;printf(ttt图书信息管理系统);printf(n版本号:NB 1.0n);printf(n制作人:江涛火n);printf(n所在班级:10611n);printf(n学号:18n);printf(n设计时

5、间:2021-6-2nn);z=mi();printf(欢送使用本系统);if(z=1)menu();elseexit(0);/*登入密码函数*/int mi()char key20=2219,key120;int i;for(i=0;i3;i+)printf(请输入用户密码:);gets(key1);if(strcmp(key,key1)=0)printf(密码输入正确n);return (1);elseprintf(密码错误);/*功能选择菜单*/void menu()int n;while(1)printf(+n);printf(+ 功能表: +n);printf(+n);printf(

6、+ 1 图书信息录入 +n);printf(+ 2 图书信息浏览 +n);printf(+ 3 图书信息查询 +n);printf(+ 4 按借阅次数排序 +n);printf(+ 5 图书信息的删除与修改 +n);printf(+ 6 退出系统 +n);printf(+n);scanf(%d,&n);switch(n)case 1: inputinfo(); break;case 2: lan(); break;case 3: cha(); break;case 4: paixu(); break;case 5: chugai(); break;case 6: printf(ttttt谢谢你

7、的使用!再见!);exit(0);default :printf(错误);/*数据录入*/void inputinfo()FILE *fp;int i,k;if(fp=fopen(huo.txt,wb)=NULL)printf(翻开文件出错);exit(0);for(i=0;iN;i+)printf(n图书号、书名、作者名、分类、价格、借阅次数n);scanf(%s%s%s%s%s%d,&si.books,,si.author,si.lei,si.price,&si.num);k=i;for(i=0;ik;i+)if(fwrite(&si,sizeof(struct stu),1

8、,fp)!=1)printf(写入文件失败);fclose(fp);exit(0);fclose(fp);printf(写入成功);return;/*文件读取数据*/void readate()FILE *fp;int i;if(fp=fopen(huo.txt,rb)=NULL)printf(不能翻开文件);exit(0);for(i=0;iN;i+)if(fread(&si,sizeof(struct stu),1,fp)=1);elseprintf(读取文件出错);fclose(fp);exit(0);fclose(fp);return;/*浏览*/void lan()int i;rea

9、date();for(i=0;iN;i+)if(!i)printf(n图书号 书名 作者名 分类 价格 借阅次数n);printf(%s%13s%13s%13s%13s%13dn,si.books,,si.author,si.lei,si.price,si.num);return;/*查询菜单*/void cha()int ch;while(1)printf(+n);printf(+ 1 按书名查询 +n);printf(+ 2 按作者名查询 +n);printf(+ 3 返回主菜单 +n);printf(+n);ch=getchar();scanf(%d,&ch);switch

10、(ch)case 1:bookname();break;case 2:author();break;case 3:return;default:printf(从新选择:);/*按书名查询*/void bookname()int i;char str20;readate();printf(请输入书名n);scanf(%s,str);for(i=0;iN;i+)if(strcmp(,str)=0)printf(%10s%10s%10s%10s%10s%10d,si.books,,si.author,si.lei,si.price,si.num);return;print

11、f(没有你要查询的);/*按作者名查询*/void author()int i;char str20;readate();printf(请输入作者名n);scanf(%s,str);for(i=0;iN;i+)if(strcmp(si.author,str)=0)printf(%10s%10s%10s%10s%10s%10d,si.books,,si.author,si.lei,si.price,si.num);return;printf(没有你要查询的);return;/*排序*/void paixu()FILE *fp;int i,j,temp;char tempbooks2

12、0;char tempname20;char tempauthor20;char templei20;char tempprice20; readate();for(i=0;iN-1;i+)for(j=i+1;jN;j+)if(si.numsj.num)strcpy(tempbooks,si.books);strcpy(tempname,);strcpy(tempauthor,si.author);strcpy(templei,si.lei);strcpy(tempprice,si.price);temp=si.num; strcpy(si.books,sj.books);str

13、cpy(,);strcpy(si.author,sj.author);strcpy(si.lei,sj.lei);strcpy(si.price,sj.price);si.num=sj.num;strcpy(sj.books,tempbooks);strcpy(,tempname);strcpy(sj.author,tempauthor);strcpy(sj.lei,templei);strcpy(sj.price,tempprice);sj.num=temp;printf(排序完成);if(fp=fopen(huo.txt,wb)=NULL)prin

14、tf(翻开文件出错);exit(0);for(i=0;iN;i+)if(fwrite(&si,sizeof(struct stu),1,fp)!=1)printf(写入文件失败);fclose(fp);exit(0);fclose(fp);printf(写入成功);return;/*删除修改*/void chugai()int ch;while(1)printf(+n);printf(+ 1 删除图书信息 +n);printf(+ 2 修改图书信息 +n);printf(+ 3 返回主菜单 +n);printf(+n);ch=getchar();scanf(%d,&ch);switch(ch)

15、case 1:del();break;case 2:gai();break;case 3:return;default:printf(从新选择:);/*删除*/void del()FILE *fp;int i;char str20;readate();printf(请输入要删除的书名:);scanf(%s,str);for(i=0;iN;i+)if(strcmp(,str)=0)strcpy(si.books,0);strcpy(,0);strcpy(si.author,0);strcpy(si.lei,0);strcpy(si.price,0);si.num=0;

16、if(fp=fopen(huo.txt,wb)=NULL)printf(翻开文件出错);exit(0);for(i=0;iN;i+)if(fwrite(&si,sizeof(struct stu),1,fp)!=1)printf(写入文件失败);fclose(fp);exit(0);fclose(fp);printf(写入成功);return;/*修改*/void gai()FILE *fp;int i;char str20;readate();printf(请输入要修改的书名:);scanf(%s,str);for(i=0;iN;i+)if(strcmp(,str)=0)printf(n图书号、书名、作者名、分类、价格、借阅次数n);scanf(%s%s%s%s%s%d,&si.books,,si.author,si.lei,si.price,&si.num);if(fp=fopen(huo.txt,wb)=NULL)printf(翻开文件出错);exit(0);for(i=0;iN;i+)if(fwrite(&si,sizeof(struct stu),1,fp)!=1)printf(写入文件失败);fclose(fp);exit(0)

温馨提示

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

最新文档

评论

0/150

提交评论