版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计课程设计报告图书管理系统专业计算机科学与技术学生姓名于露班级b计123学号1210704324指导教师张静林完成日期2013年6月1 课程设计的目的1. 加强对c语言程序设计课程知识的理解,掌握c语言应用程序的开发方法和步骤2. 进一步掌握和利用c语言进行程序设计的能力3. 进一步理解和运用结构化程序设计的思想和方法4. 初步掌握开发一个小型实用系统的基本方法5. 学会调试一个较长程序的基本方法6. 学会利用流程图或n-s图表示算法7. 掌握书写程序设计开发文档的能力(书写课程设计报告)2 课程设计任务3 课程设计课题课题1:图书管理系统总体程序框图系统的总体流程图开始编译运行main
2、 打开文件数据读入结构体中执行选择 调用不同函数程序# include <stdio.h># include <string.h># include <stdlib.h>struct list char num20 ; /*图书编号*/ char name40 ; /*书名*/ char author40 ; /*作者*/ char publish 40; /*出版社*/ double price ; /*价格*/;struct list b40 ;int w=0; /*定义一个全局变量,用来记录bookinfo.txt文件中的数据个数*/void sear
3、ch_allinformation(struct list b) ; /*查看全部图书信息*/void check_bookinformation (struct list b ); /*查找图书信息*/void add_bookinformation (struct list b ); /*添加图书信息*/void delete_bookinformation (struct list b ); /*删除图书信息*/void borrow_book (struct list b ) ; /*借阅图书*/int main () int i = 0 ; int choice1; file *fp
4、 ; printf(" * * *n"); printf(" * 欢迎进入图书馆信息管理系统 *n"); printf(" * * *n"); fp = fopen ("e:bookinfo.txt" , "r") ; if(fp = null) printf("can not open the file !n") ; exit (0) ; while (! feof(fp) fscanf(fp,"%s%s%s%s%lf" , /*调用函数将文件中的数据读
5、入结构变量中*/ bi.num,,bi.author,bi.publish,&bi.price) ; i+ ; w=i-1; fclose (fp) ; do printf("#");printf(" 功能选项: n");printf(" 1:查看全部图书信息 n") ;printf(" 2:查找图书信息 n") ;printf(" 3:添加图书信息 n") ;printf(" 4:删除图书信息 n") ;printf(" 5:借阅图书 n&q
6、uot;) ;printf(" 0:退出系统 n") ;printf("#");printf("请选择操作:"); scanf("%d" , &choice1); switch (choice1) case 1 : search_allinformation (b); break ; case 2 : check_bookinformation( b ); break ; case 3 : add_bookinformation (b ); break ; case 4 : delete_bookinfor
7、mation( b); break ; case 5 : borrow_book( b); break ; case 0 : break ;while (choice1 != 0); printf("谢谢使用!n"); return 0; /*查看全部图书信息*/void search_allinformation (struct list b)int i; printf(" #n"); printf(" # 查看全部图书信息! #n"); printf(" #n"); printf("图书的相关信息:
8、编号 书名 作者 出版社 价格n"); for(i=0;i<w;i+) printf(" %s %s %s %s %.2fn", /*将数据输出到屏幕中*/ bi.num, , bi.author, bi.publish, bi.price); printf("%d " , w); printf("#n"); /*查找图书信息*/void check_bookinformation(struct list b )int i, flag=0;char s20; printf("输入编号:n&quo
9、t;) ; /*提示输入图书编号*/ scanf("%s" , s); printf(" #n"); printf(" # 查找图书信息! #n"); printf(" #n"); for(i=0;i<w;i+) if (strcmp(s, bi.num)=0) printf("该图书的相关信息: 编号 书名 作者 出版社 价格n"); printf(" %s %s %s %s %.2fn", bi.num, , bi.author, bi.publish
10、, bi.price); flag = 1; break; if (flag = 0) printf("该图书编号不存在!n"); printf("是否要继续查找? y:是 ; n:否n") ; getchar(); switch(getchar()case 'y': check_bookinformation( b ) ; /*调用函数本身继续查找*/case 'n' : break ; printf("#n");/*添加图书信息*/void add_bookinformation(struct li
11、st b ) int i, count=0, choice3; struct list p ;file *fp2 ; printf(" #n"); printf(" # 添加图书信息! #n"); printf(" #n"); printf("请输入该图书的相关信息:n") ; printf("编号 书名 作者 出版社 价格n"); scanf(" %s %s %s %s %lf", p.num , ,p.author,p.publish,&p.price
12、); printf(" 添加成功 !n"); printf(" 是否显示添加后的信息? 1:是 ; 2:否 n"); printf(" 请选择:"); scanf("%d" , &choice3); switch (choice3) case 1 : for(i=0;i<w;i+) if(strcmp(p.num,bi.num)>0) count + ; for(i=w;i>count;i-) bi = bi-1 ; bi = p ; w+; /*每添加一本图书,图书数目都会增加一个*/
13、fp2 = fopen ("e:bookinfo.txt" , "w") ; if(fp2 = null) printf("can not open the file !n"); exit (0) ; for(i=0;i<w;i+) fprintf(fp2," %s %s %s %s %.2fn" , bi.num,,bi.author,bi.publish,bi.price); fclose (fp2) ; for(i=0;i<w;i+) printf(" %s %s %s %
14、s %.2fn" , bi.num,,bi.author,bi.publish,bi.price); case 2 : break ; printf("#n"); /*删除图书信息*/void delete_bookinformation (struct list b ) int i, flag= 0,choice4; char s20 ; printf(" #n"); printf(" # 删除图书信息 #n"); printf(" #n"); printf("请输入图书编号:&
15、quot;);scanf("%s", s); for(i=0;i<w;i+) if(strcmp(s,bi.num)=0) printf(" 删除成功 !n"); printf(" 是否显示删除后的信息? 1:是 ; 2:否 n"); printf(" 请选择:"); scanf("%d" , &choice4); switch (choice4) case 1 : printf("删除后的图书信息: 编号 书名 作者 出版社 价格n"); for(i=0;i&
16、lt;w;i+) if(strcmp(s,bi.num)!=0) printf(" %s %s %s %s %.2fn", bi.num, , bi.author, bi.publish, bi.price); case 2 : break ; flag = 1 ; break ; if(flag = 0)printf("该图书编号不存在!n"); printf("#n"); /*借阅图书*/void borrow_book(struct list b ) int i=0, n=0,flag=0, x=0;int m;
17、/*定义一个变量用来记录sendinfo.txt文件中的数据个数*/struct list q;struct student char name20 ; char number40 ;struct student stu50 ; file *fp ; file *fp4 ; printf(" #n"); printf(" # 借阅图书 #n"); printf(" #n"); a: printf("输入图书编号:"); scanf("%s" , q.num ); fp = fopen (&quo
18、t;e:bookinfo.txt" , "a") ; if(fp = null) printf("can not open the file !n"); exit (0) ; for(i=0;i<w;i+) if(strcmp(q.num , bi.num) =0) flag=1; if(flag=0) printf("该图书编号不存在, 请重新输入!n"); borrow_book( b ) ; fclose(fp) ; if(flag=1) fp4 = fopen ("e:sentinfo.txt&quo
19、t; , "r") ; if(fp4 = null) printf("can not open the file !n") ; exit (0) ; while (! feof(fp4) fscanf(fp4,"%s%s" , /*调用函数将文件中的数据读入结构变量中*/ stui.number,) ; i+ ; n=i-1; fclose (fp4) ; fp = fopen ("e:sentinfo.txt" , "a") ; if(fp = null) printf(&q
20、uot;can not open the file !n"); exit (0) ; for(i=0;i<n;i+) if(strcmp(q.num, stui.number) =0) printf("该图书已借出!"); printf("是否继续续借? y or nn"); getchar(); if(getchar()='y') goto a;else x = 1; if(x = 0) /*若该图书未借出,则执行以下操作*/ printf("请输入学号: "); scanf("%d", &m); if(fp=fopen("e:sendinfo.txt","a") = null) printf("file open error!n"); exit(0); fprintf(fp," %s %d",q.num , m ); fclose(fp); printf(" 借阅成功!n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年沪科版九年级物理上册阶段测试试卷
- 淄博市物业维修服务指南
- 2020卫生室公共卫生整改报告
- 港口码头廉政合同
- 手球场地租赁合同
- 2025年人教版八年级科学下册阶段测试试卷
- 媒体制作培训指南
- 福建水利电力职业技术学院《Python编程》2023-2024学年第一学期期末试卷
- 2025年沪科版九年级物理上册月考试卷含答案
- 2025春季中国石油工程建设限公司高校毕业生招聘14人高频重点提升(共500题)附带答案详解
- 2025年中国烟草总公司湖北省公司校园招聘227人高频重点提升(共500题)附带答案详解
- 2024版带货主播电商平台合作服务合同范本3篇
- 2025公司资产划转合同
- 2024-2030年中国铝汽车紧固件行业销售规模与盈利前景预测报告
- 广东省清远市2023-2024学年高一上学期期末质量检测物理试题(解析版)
- 2024-2025学年人教版数学五年级上册期末检测试卷(含答案)
- 《外盘期货常识》课件
- 【MOOC】土力学-西安交通大学 中国大学慕课MOOC答案
- 医院医保科工作总结
- 2024-2025学年译林版八年级英语上学期重点词汇短语句子归纳【考点清单】
- 物业客服个人述职报告范例
评论
0/150
提交评论