
课程设计学 号 班 级 姓 名 指导老师 课程设计任务书 题目:某大学图书管理平台(1)一、课程设计时间2009~10第2学期第1周,共计1周,20学时。二、课程设计内容用C语言编写硬件完成下面任务:1 录入图书信息(根据图书馆的管理状况自行设置,要具备实用性);2 借书处理(数量不足三本,不予外借,并显示相应的提醒信息);3 还书处理。三、课程设计规定1. 程序质量: 贯彻结构化的程序设计思想。 用户界面友好c语言设计图书管理系统,功能明确,操作便捷。 用户界面中的菜单至少要包含“图书信息录入”、“借书处理”、“还书处理”、“退出”4项。 代码要适度缩进,并给出必要的注解,以提高程序的可读性。2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式跟内容参看提供的模板。四、指导老师跟学员签字指导学生:________ 学生签名:________五、说明书成绩六、教师评语 沈 阳 航 院 设 计 用 纸目 录一、需求分析 1二.程序流程图 2三、核心科技的推动说明及相应程序段 5四、课设总结 10五、参考文献 10六、源程序 1014一、 需求分析经过对程序设计题目的剖析可知,整个程序的设计推动大致分为四个模块,每一个模块对应一个函数。

这些函数分别是,录入图书信息函数,借书函数,还书函数,查询函数。它们的功能分别是:1:录入图书信息函数;主要是推动将图书信息录入并储存至书库中去。2:借书函数;主要推动借阅图书的功能。3:还书函数;主要推动将阅览的书籍还回书库的功能。4:查询函数;主要用途是查询图书现在的库存状况。除前面介绍的功用之外,程序还带有退出功能。可以在程序的一次运行当中循环执行所有的功能,并按照需要中止程序的执行。图书都包括书的编号,书的名称,书的作者c语言设计图书管理系统,书的数量等信息。将图书记录类型定义为结构体类型。 二.程序流程图1、程序总体流程图 真输入i=1? 假录入图书真输入i=2? 假借阅图书真输入i=3? 假归还图书真输入i=4? 假图书查询输入i=5?退出 图1 程序总体2. 具体功能框图(1)录入图书信息变量;i=0,book[i].num,book[i].name,book[i].ni<addnum假 book[i].num<0 真输出book[i].num值输出名称.作者.数量all+book[i].num=all输出“录入成功”Returni++(2)借书函数i=0,hao[10]i<addnum当book[i].num=hao真 book[i].n<3 假输出“不予外借” Returnbook[i].n--,all--i++输出“借书成功”输出图书信息printf("借书成功\n");printf("不予外借\n");i++(3)还书函数;i=0,hao[10]i<addnumbook[i].num=hao输出“还书成功”book[i].n++,all++输出图书信息i++( 4 )查询函数i=0i<sum输出图书信息i++三、核心科技的推动说明及相应程序段本程序主要由四个自定义函数和一个主函数组成,其中主函数以菜单的方式读取其他变量来推动要求的所有功能。

在这种函数当中,录入图书信息函数,借书函数,还书函数,查询函数是程序中较为核心的个别,下面分别详细表明;1. 录入图书信息函数;此函数是录入图书信息,包括编号,名称,作者,数量。void add(){ int i; printf("请输入要录入的图书数量,按回车键确定:"); scanf("%d",&addnum); for(i=0;i<addnum;i++) { printf("\n请输入书的编号:"); scanf("%s",book[i].num); if(book[i].num<0)return; printf("\n请输入书的名称:"); scanf("%s",book[i].name); printf("\n请输入书的作者:"); scanf("%s",book[i].writer); printf("\n请输入此书的数量:"); scanf("%d",&book[i].n); all+=book[i].n; printf("录入成功。\n"); };}2. 借书函数;输入要阅览的书的编号(书的编号唯一),然后查询书库存状况,如果库存超过三本了则提醒不予外借,如果库存大于等于三本时,显示借书成功,并将所借书的数量赋为负一,库存也赋为正一,具体程序段如下;void borrow(){ int i; char hao[10]; printf("请输入你应借阅的书的编号\n"); scanf("%s",hao); for(i=0;;i++) if(strcmp(book[i].num,hao)==0) { if(book[i].n<3) { printf("不予外借\n"); return; } else{ printf("借书成功\n"); book[i].n--; all--; printf("%s %s %s %d\n",book[i].num,book[i].name,book[i].writer,book[i].n); return; } }}3. 还书函数;输入要还的书的编号,如果所输入的编号在未借图书中,显示还书顺利,把所还书的总量赋为正一,库存也赋为正一,具体程序如下;void giveback(){ char hao[10]; int i; printf("请输入你应还书的编号:\n"); scanf("%s", hao); for(i=0;;i++) if(strcmp(book[i].num,hao)==0) { printf("还书成功\n"); book[i].n++; all++; printf("%s %s %s %d\n",book[i].num,book[i].name,book[i].writer,book[i].n); return; }}4. 查询图书现在的信息;主要用途是知道图书现在的库存状况。

void chaxun(){ int i; for(i=0;i<sum;i++) printf("%d %s %d\n",book[i].num,book[i].name,book[i].n);}四、课设总结通过这一周的课程设计训练,我深深的感受到了C语言实践的重要性,理论只有应用于实践才能真正作为自己的知识。在课程设计过程中,我见到了这些难题,很多困难,如知识点掌握不清晰,不稳固,不全面,特别是对第二个任务的理解不太明白,通过向老师询问,查阅相关资料等,终于完成了这次的课程设计任务。过程中借助亲自动手动脑,我学到了这些,并且促使了我为此课程的兴趣,鉴定了我现在坚持C语言的实践的决心,增强了学习的自信和勇敢,使我收益匪浅。在课程设计答辩过程中,通过教授的启发和回答,又知道了这些,收获了众多。这次课程设计会使我现在在工作中无论遭遇何种困难都会尽力尝试各类方式来完成任务。五、参考文献1 谭浩强.C程序设计.北京:清华大学出版社,20052 刘成等.C语言程序设计实验指导与习题集.北京:中国铁道出版社,2006六、源程序#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>struct book { char num[20]; char name[20]; char writer[20]; int n; }; struct book book[100];int all,sum;int addnum;void menu();void add();void borrow();void giveback();void chaxun();void main(){int n; while(1) { menu(); printf("\n 请输入您应选用的操作序号,按回车键确定:"); scanf("%d",&n); switch(n) { case 1: add();break; case 2: borrow();break; case 3: giveback();break; case 4: chaxun();break; case 5: exit(0); default: printf("输入错误,请输入列表中存在的序号!\n "); } }}void menu(){ printf(" ************************图书管理平台*************************** \n"); { printf(" 1录入图书信息\n" ); printf(" 2借阅图书信息\n"); printf(" 3归还图书信息\n"); printf(" 4查询现存图书数量\n "); printf(" 5退出\n"); }}void add(){ int i; printf("请输入要录入的图书数量,按回车键确定:"); scanf("%d",&addnum); for(i=0;i<addnum;i++) { printf("\n请输入书的编号:"); scanf("%s",book[i].num); if(book[i].num<0)return; printf("\n请输入书的名称:"); scanf("%s",book[i].name); printf("\n请输入书的作者:"); scanf("%s",book[i].writer); printf("\n请输入此书的数量:"); scanf("%d",&book[i].n); all+=book[i].n; printf("录入成功。

\n"); };}void borrow(){ int i; char hao[10]; printf("请输入你应借阅的书的编号\n"); scanf("%s",hao); for(i=0;;i++) if(strcmp(book[i].num,hao)==0) { if(book[i].n<3) { printf("不予外借\n"); return; } else{ printf("借书成功\n"); book[i].n--; all--; printf("%s %s %s %d\n",book[i].num,book[i].name,book[i].writer,book[i].n); return; } }} void giveback(){ char hao[10]; int i; printf("请输入你应还书的编号:\n"); scanf("%s", hao); for(i=0;;i++) if(strcmp(book[i].num,hao)==0) { printf("还书成功\n"); book[i].n++; all++; printf("%s %s %s %d\n",book[i].num,book[i].name,book[i].writer,book[i].n); return; }}void chaxun(){ int i; for(i=0;i<addnum;i++) printf("%s %s %s %d\n",book[i].num,book[i].name,book[i].writer,book[i].n); }
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-141799-1.html
完全物质化的叫兽
美国急了
你会越来约差