收藏 分享(赏)

长江大学工程技术学院课程设计实习报告.doc

上传人:dreamzhangning 文档编号:2283402 上传时间:2018-09-09 格式:DOC 页数:10 大小:750KB
下载 相关 举报
长江大学工程技术学院课程设计实习报告.doc_第1页
第1页 / 共10页
长江大学工程技术学院课程设计实习报告.doc_第2页
第2页 / 共10页
长江大学工程技术学院课程设计实习报告.doc_第3页
第3页 / 共10页
长江大学工程技术学院课程设计实习报告.doc_第4页
第4页 / 共10页
长江大学工程技术学院课程设计实习报告.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、长江大学工程技术学院课程设计实习报告小型图书借阅管理系统的设计学生姓名:江赟 学号:20080778 序号:08专业班级:机械设计制造及其自动化 60802指导老师:程彩凤报告日期:2009 年 6 月 16 日一、 课程设计的题目与要求1、问题的提出:解决少量图书的网上借阅问题,2、功能要求组建各种功能以实现用户对不同功能的选择实现查询和显示功能,包括:1.)按书名查询 2.)按作者查询 3.)显示库存信息办理借阅手续办理还书手续查询学生所借图书信息二、课程设计题目功能1、系统功能模块框图设计2、数据结构说明由一主函数应用户要求调用六个子函数来实现上述所要求的功能。3、详细设计 主函数设计:

2、由于系统要求能重复使用,所以需使用循环结构,而且需要由用户进行选择,故将主函数设定为 While Case 循环。由主循环调用六个子函数来实现上述所要求的功能:1、按作者查询子函数 2、按书名查询子函数 3、显示库存子函数4、图书借阅子函数 5、图书还理子函数 6、查询学生借阅信息子函数1、按作者查询子函数:先由用户输入作者,将输入值与文件信息进行比较,输出该作者作品信息。 2、按书名查询子函数:先由用户输入书名,将输入值与文件信息进行比较,输出该书信息。 3、显示库存信息子函数:选择 3 后,程序自动输出存在状态为“1”的所有图书信息。4、图书借阅子函数:用户先输入学号,判断学号是否存在:正

3、确:输入书名:图书在库,借书;找不到书,无法借阅错误,无法借书;5、图书还理子函数:用户先输入学号,判断学号是否存在:正确:输入书名:书是被该生借 走的,还书 ; 书不是被该生借 走的,无法还书; 错误,输出错误提示,无法还书 ;6、查询学生借阅信息子函数:用户先输入学号,判断学号是否正确:正确,输出该生借阅信息; 错误,输出错误提示 小型图书借阅管理系统按书名查询 按作者名查询 显示图书库存信息办理借阅手续 办理还书手续 查询学生所借图书信息4、调试与设计两个源文件数据程序运行,进入界面。按提示操作,查找余秋雨的作品,显示如图:按提示操作,查找名为“大学化学”的图书,显示如图:执行正确操作后

4、,显示库存信息屏幕显示:运行借阅程序,屏幕输出:运行办理还书手续程序,屏幕输出:运行查询学生所借图书信息程序,屏幕输出:三、课程设计总结通过这次课程设计,对 c 语言程序设计有了更深的理解,从遇到问题到解决问题,使自己对 c 语言的运行环境与运行条件更加明白,对许多函数能更好的掌握与运用四、附录 程序清单实现查询和显示功能1.)按书名查询:选择“1” ,程序进入按书名查询子函数:(例为查找余秋雨作品)2.)按作者查询2.)按作者查询选择“2” ,程序进入按作者查询子函数:(例为查找“大学化学”图书)void find_author()char writer20;int i,t=0;printf

5、(“input the writer:“); 输入“余秋雨”scanf(“%s“,writer);printf(“n“);for(i=0;iM;i+)if(strcmp (writer,bki.bkzuoz)=0) 在源文件中查找作 者为余秋雨的图书 t=1;puts (str1);printf(“%-10s%-18s%-10s%-13f%-12d%-10snnn“,bki.bknum,bki.bkname,bki.bkzuoz,bki.bkdanjia,bki.flag,bki.readnum);if (t=0)printf (“can not find the book“); 没找到,输出

6、“can not find the book“找到了输出图书信息void find_bkname()char name20;int i,t=0;printf (“input the books name:“); 输入 “大学化学” scanf(“%s“,name);printf(“n“);for(i=0;iM;i+)if(strcmp(name,bki.bkname)=0) 在源文件中查找作 名为“大学化学”的图书t=1;puts(str1);printf(“%-10s%-18s%-10s%-13f%-12d%-10snnn“,bki.bknum,bki.bkname,bki.bkzuoz,b

7、ki.bkdanjia,bki.flag,bki.readnum);if(t=0)printf(“can not find the bookn“); 没找到,输出 can not find the book找到了,图书信息3.)显示库存信息直接选择“3” ,程序进入显示库存信息子函数:办理借阅手续选择“4” ,程序进入办理借阅手续子函数:(例为学号为 2008004 的学生借阅“大学化学”图书)void show_bkxx() int i;printf (“book is there!n“); puts(str1);for(i=0;iM;i+)if(bki.flag=1)printf(“%-1

8、0s%-18s%-10s%-13f%-12d%-10snnn“,bki.bknum,bki.bkname,bki.bkzuoz,bki.bkdanjia,bki.flag,bki.readnum);选择“3” 后,程序直接输出所有未被借出的图书信息void lend_book() FILE *fp1,*fp2;int i,j,a;int k=1,m=1;char n10;char bkname10; fp1=fopen(“d:JX0208_bk.txt“,“w“);fp2=fopen(“d:JX0208_stu.txt“,“w“); printf(“put you studentnumbern

9、“); 输入学生学号 ;scanf(“%s“,n);puts(str2);for(j=0;jN;j+)if(strcmp(n,stuj.stunum)=0)printf(“%-10s%-8s%-8s%-8dnn“,stuj.stunum, stuj.stuname,stuj.stuzhuanye,stuj.stubenshu);k=0;printf(“put the booknamen“); 输入图书名 ;scanf(“%s“,bkname);puts(str1);for(i=0;iM;i+)if(strcmp(bkname,bki.bkname)=0m=0;break;以写的方式打开两个源文

10、件验证学号,正确,则输出该学生信息if(m)printf(“the book cant be findn“); 输入的图书名错误,或该书已被借走 ;elsestrcpy(bki.readnum,stuj.stunum); 将学生的学号替换借阅人学号 stuj.stubenshu+=1; 将学生的借阅书数加一 bki.flag=0; 图书被借出了,所以存在状态改为“0”printf(“Successn“);if(k)printf(“wrong number!n“); 验证后发现是错误的学号!fputs(str1,fp1);for(a=0;aM;a+)fprintf(fp1,“%-10s%-18s

11、%-10s%-13f%-12d%-10snnn“,bka.bknum,bka.bkname,bka.bkzuoz,bka.bkdanjia,bka.flag,bka.readnum);fclose(fp1);fputs(str2,fp2);for(a=0;aN;a+)fprintf(fp2,“%-10s%-8s%-8s%-8dnn“,stua.stunum,stua.stuname,stua.stuzhuanye,stua.stubenshu);fclose(fp2); 将更改后的信息写入文件,覆盖原信息办理还书手续选择“5” ,程序进入办理还书手续子函数:(例为学号为 2008004 的学生

12、还“大学化学”图书)void return_book()int i,j,a,l;int t=0,n=0;char snum20;char bname50;FILE *fp1,*fp2; ;fp1=fopen(“d:JX0208_bk.txt“,“w“); 以写的方式打开源文件fp2=fopen(“d:JX0208_stu.txt“,“w“);printf(“put you studentnumbern“); 输入学号 ;2008004scanf(“%s“,snum);for(i=0;iN;i+)if(strcmp(snum,stui.stunum)=0) 判断学号是否正确 ;t=1;if(st

13、ui.stubenshu=0) printf(“you have no book needed to return!“);break;else printf(“put the name that you want to return:“); 输入图书名scanf(“%s“,bname);for(j=0;jM;j+)if(strcmp(bname,bkj.bkname)=0strcpy(bkj.readnum,“无“);stui.stubenshu-=1;bkj.flag=1;if(l=0) printf(“wrong bookname!“);printf(“Successn“);if (t=0

14、)printf(“wrong number!n“);输入正确,还书成功!学号错误!fputs(str1,fp1);for(a=0;aM;a+)fprintf(fp1,“%-10s%-18s%-10s%-13f%-12d%-10snnn“,bka.bknum,bka.bkname, bka.bozo, bka.bkdanjia,bka.flag,bka.readnum);fclose(fp1);fputs(str2,fp2);for(a=0;aN;a+)fprintf(fp2,“%-10s%-8s%-8s%-8dnn“,stua.stunum,stua.stuname,stua.stuzhuan

15、ye,stua.stubenshu);fclose(fp2);、查询学生所借图书信息选择“6” ,程序进入查询学生所借图书信息子函数:(例为查询学号为 2008004 的学生所借图书信息)void show_xsxx() char xh20;int i,t=0;printf (“put your studentnumber:“); 输入学号 ;scanf(“%s“,xh);printf(“n“);puts(str2);for(i=0;iM;i+)if(strcmp(xh,stui.stunum)=0) 验证学号 ;t=1;printf (“%-10s%-8s%-8s%-8dnn“,stui.stunum,stui.stuname,stui.stuzhuanye,stui.stubenshu);if(t=0)printf(“wrong number!n“);学号正确,输出学生所借图书信息将更改后的信息写入文件,覆盖原信息

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

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报