版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025四季度重庆五一职业技术学院合同工招聘24人参考考试试题及答案解析
- 2026中国农业科学院第一批统一招聘14人(蔬菜花卉研究所)笔试重点试题及答案解析
- 2025年无人机空中交通管理报告
- 2025-2026 学年四年级 道德与法治 期末冲刺卷 试卷及答案
- 2025年齐齐哈尔市总工会工会社会工作者招聘39人考试核心题库及答案解析
- 2025年眉山市青神县人民法院公开招聘劳务派遣司法警察的备考题库及答案详解1套
- 2025四川自贡市第一人民医院招聘食堂工人8人备考核心试题附答案解析
- 2025年儿童安全教育游戏化五年开发报告
- 2026年长沙市中小学素质教育实践基地岳麓营地编外合同制教师、教官招聘备考题库及参考答案详解
- 2025广西南宁市武鸣区陆斡中心卫生院招聘编外工作人员1人考试核心题库及答案解析
- 2023-2024学年广东省广州市白云区七年级(上)期末数学试卷(含答案)
- 【MOOC】计算机网络-中国科学技术大学 中国大学慕课MOOC答案
- 购物中心营运管理规范
- 2024-2025学年人教版七年级数学上册期末达标测试卷(含答案)
- 正常顺产护理个案
- DL∕T 1396-2014 水电建设项目文件收集与档案整 理规范
- 科技奥运成果推广
- DL-T5181-2017水电水利工程锚喷支护施工规范
- 走近核科学技术智慧树知到期末考试答案2024年
- 牛肉丸项目市场营销方案
- 三通、大小头面积计算公式
评论
0/150
提交评论