C语言课程设计
学生姓名:袁盛升
学生学号:1021112128
所在班级:10211121
任课教师:姜林
图书馆管理系统
【设计目的】
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等.
试设计一图书信息管理系统,使之能提供以下功能:
1)系统以菜单方式工作
2)图书信息录入功能(图书信息用文件保存)--输入
3)图书信息浏览功能--输出
4)查询和排序功能:(至少一种查询方式)--算法
5)按书名查询
6)按作者名查询
7)图书信息的删除与修改(可选项)*/
【设计思路】
根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中去,所以应该提供下个结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的。
【总体设计】
图1 系统功能模块图
【详细设计】
1. 主函数
主函数设计要求简洁,只提供部分提示语和函数的调用
【程序】
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int get()
{
int o;
scanf("%d",&o);
}
struct BOOK
{
int ID,usr[10],total,store,days[10];
char name[31],aurthor[21];
}books[100];
/*上面是结构体的定义,用于存放书籍及借书的信息。*/
void page_title(char*menu_item)
{
printf("图书管理系统\n-%s-\n",menu_item);
}
/*通过参数menu_item,可以显示当前的状态。*/
void return_confirm()
{
printf("\n按任意返回\n");
getch();
}
/*上面是返回前请求确认的函数,以便在返回前观察结果*/
int search_book()
{
int n,i;
printf("输入图书序号:");
scanf("%d",&i);
for(n=0;n<100;n++)
{
if(books[n].ID==i)
{
printf("书名:%s\n",books[n].name);
printf("作者:%s\n",books[n].aurthor );
printf("存数:%d of ",books[n].store );
printf("%d\n",books[n].total);
return n;
}
}
printf("\n输入错误或无效图书序号\n");
return -1;
}
/*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返
回数组下标,如果找不到相应记录则提示错误并返回-1。*/
void book_out()
{
int n,s,l,d;
page_title("借阅图书");
if((n=search_book())!=-1 && books[n].store >0)
{
printf("请输入可借天数:\n");
scanf("%d",&d);
for(l=0;l<10;l++)
{
if(books[n].usr [l]==0)
{
books[n].usr[l]=s;
books[n].days[l]=d;
break;
}
}
books[n].store--;
}
if(n!=-1 && books[n].store==0)
printf("此书已借出。\n");
return_confirm();
}
/*上面是借书的函数,首先调用找书函数*/
void book_in()
{
int n,s,l;
page_title("图书归还");
if((n=search_book())!=-1 && books[n].store<books[n].total)
{
printf("借阅者图书证列表:\n");
for(l=0;l<10;l++)
if(books[n].usr[l]) !0;
printf("[%d]-%d天\n",books[n].usr[l],books[n].days[l]);
printf("请输入借书证序号:");
scanf("%d",&s);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==s)
{
books[n].usr[l]=0;
books[n].days[l]=0;
break;
}
}
books[n].store++;
}
if(n!=-1 && books[n].store==books[n].total)
printf("全部入藏。\n");
return_confirm();
}
void book_add()
{
int n;
page_title("注册新书");
for(n=0;n<100;n++)
if(books[n].ID==0)
break;
printf("序号:");
scanf("%d",&books[n].ID);
printf("书名:");
scanf("%s",&books[n].name);
printf("作者:");
scanf("%s",&books[n].aurthor);
printf("数量:");
scanf("%d",books[n].total);
books[n].store=books[n].total;
return_confirm();
}
void book_del()
{
int n;
page_title("注销旧书\n");
if((n=search_book())!=-1) books[n].ID=0;
printf("该书已注销\n");
return_confirm();
}
void main()
{
while(1)
{
menu:page_title("操作选单");
printf("请用数字选择操作\n\n");
printf("1,借阅图书\n2,归还图书\n");
printf("3,注册新书\n4,注销旧书\n\n");
printf("\n0,退出\n");
switch(get())
{
case 1: book_out();break;
case 2: book_in();break;
case 3: book_add();break;
case 4: book_del();break;
default : exit(0);
}
return;
}
}
【设计体会】
通过为期一周的课程设计,对《C语言》这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们软件工程专业的学习中占据着十分重要的地位。这个程序的结构大体是从网络上借鉴的,但是结果无法运行,只能自己修改,最后终于调试通过,同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。
C语言课程设计
学生姓名:
学生学号:
所在班级:
任课教师:
图书馆管理系统
【设计目的】
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等.
试设计一图书信息管理系统,使之能提供以下功能:
1)系统以菜单方式工作
2)图书信息录入功能(图书信息用文件保存)--输入
3)图书信息浏览功能--输出
4)查询和排序功能:(至少一种查询方式)--算法
5)按书名查询
6)按作者名查询
7)图书信息的删除与修改(可选项)*/
【设计思路】
根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中去,所以应该提供下个结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的。
【总体设计】
图1 系统功能模块图
【详细设计】
1. 主函数
主函数设计要求简洁,只提供部分提示语和函数的调用
【程序】
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int get()
{
int o;
scanf("%d",&o);
}
struct BOOK
{
int ID,usr[10],total,store,days[10];
char name[31],aurthor[21];
}books[100];
/*上面是结构体的定义,用于存放书籍及借书的信息。*/
void page_title(char*menu_item)
{
printf("图书管理系统\n-%s-\n",menu_item);
}
/*通过参数menu_item,可以显示当前的状态。*/
void return_confirm()
{
printf("\n按任意返回\n");
getch();
}
/*上面是返回前请求确认的函数,以便在返回前观察结果*/
int search_book()
{
int n,i;
printf("输入图书序号:");
scanf("%d",&i);
for(n=0;n<100;n++)
{
if(books[n].ID==i)
{
printf("书名:%s\n",books[n].name);
printf("作者:%s\n",books[n].aurthor );
printf("存数:%d of ",books[n].store );
printf("%d\n",books[n].total);
return n;
}
}
printf("\n输入错误或无效图书序号\n");
return -1;
}
/*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返
回数组下标,如果找不到相应记录则提示错误并返回-1。*/
void book_out()
{
int n,s,l,d;
page_title("借阅图书");
if((n=search_book())!=-1 && books[n].store >0)
{
printf("请输入可借天数:\n");
scanf("%d",&d);
for(l=0;l<10;l++)
{
if(books[n].usr [l]==0)
{
books[n].usr[l]=s;
books[n].days[l]=d;
break;
}
}
books[n].store--;
}
if(n!=-1 && books[n].store==0)
printf("此书已借出。\n");
return_confirm();
}
/*上面是借书的函数,首先调用找书函数*/
void book_in()
{
int n,s,l;
page_title("图书归还");
if((n=search_book())!=-1 && books[n].store<books[n].total)
{
printf("借阅者图书证列表:\n");
for(l=0;l<10;l++)
if(books[n].usr[l]) !0;
printf("[%d]-%d天\n",books[n].usr[l],books[n].days[l]);
printf("请输入借书证序号:");
scanf("%d",&s);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==s)
{
books[n].usr[l]=0;
books[n].days[l]=0;
break;
}
}
books[n].store++;
}
if(n!=-1 && books[n].store==books[n].total)
printf("全部入藏。\n");
return_confirm();
}
void book_add()
{
int n;
page_title("注册新书");
for(n=0;n<100;n++)
if(books[n].ID==0)
break;
printf("序号:");
scanf("%d",&books[n].ID);
printf("书名:");
scanf("%s",&books[n].name);
printf("作者:");
scanf("%s",&books[n].aurthor);
printf("数量:");
scanf("%d",books[n].total);
books[n].store=books[n].total;
return_confirm();
}
void book_del()
{
int n;
page_title("注销旧书\n");
if((n=search_book())!=-1) books[n].ID=0;
printf("该书已注销\n");
return_confirm();
}
void main()
{
while(1)
{
menu:page_title("操作选单");
printf("请用数字选择操作\n\n");
printf("1,借阅图书\n2,归还图书\n");
printf("3,注册新书\n4,注销旧书\n\n");
printf("\n0,退出\n");
switch(get())
{
case 1: book_out();break;
case 2: book_in();break;
case 3: book_add();break;
case 4: book_del();break;
default : exit(0);
}
return;
}
}
【设计体会】
通过为期一周的课程设计,对《C语言》这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们软件工程专业的学习中占据着十分重要的地位。这个程序的结构大体是从网络上借鉴的,但是结果无法运行,只能自己修改,最后终于调试通过,同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。
高级语言程序设计课程设计报告设计题目高校图书馆信息管理系统姓专班指导老师20xx年01月01日摘要绪论问题定义或系统分析总体设计与…
面向对象课程设计图书馆管理系统院系别信息工程系班级学号姓名指导教师时间课程设计任务书题目图书管理系统C语言课程设计系部信息工程系专…
经济管理学院本科课程设计论文数据库开发与应用课程设计学号姓名班级专业系别指导教师20xx年12月24日吉林目录第一章引言3第一节课…
管理信息系统实习报告专业班级学生姓名指导教师时间成绩评语王桃群20xx32320xx313一课程设计题目图书管理系统二系统需求1系…
课程设计实验报告课程名称数据库课程设计系院数学与计算机学院班级20xx级计算机科学与技术指导教师欧方平摘要随着人类社会的发展人类对…
中国地质大学本科生课程论文封面课程名称c语言课程设计教师姓名本科生姓名本科生学本科生专业所在院系类别:日期:课程设计评语注:1、无…
合肥学院计算机科学与技术系课程设计报告20xx20xx学年第二学期课学学专指业导班教生姓程C语言课程设计图书管理系统名号级师课程设…
课程设计报告书课程名称班级学号姓名指导老师通讯录管理系统一需求分析设计题目及要求建立通讯录信息信息至少包含编号姓名年龄电话通讯地址…
C语言课程设计报告图书信息管理系统设计指导老师:C语言程序设计编程实践是学习C语言程序设计的一重要环节,上机实习和课程设计是提高同…
第三章图书管理系统的设计与实现3.1系统的需求分析图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解…
课程设计报告基于JSP的图书管理系统专业班级计科姓名XXX学号123456指导老师XXXX20xx年1月1日第一章绪论11课题的研…