大一C语言课程设计图书信息管理系统.docx
- 文档编号:2103740
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:19
- 大小:66.35KB
大一C语言课程设计图书信息管理系统.docx
《大一C语言课程设计图书信息管理系统.docx》由会员分享,可在线阅读,更多相关《大一C语言课程设计图书信息管理系统.docx(19页珍藏版)》请在冰豆网上搜索。
大一C语言课程设计图书信息管理系统
高级语言程序设计课程设计
评语:
学院班级
姓名学号
成绩指导老师
年月日
一、目的
1.进一步掌握和利用C语言进行程设计的能力;
2、 进一步理解和运用结构化程设计的思想和方法;
3、 初步掌握开发一个小型实用系统的基本方法;
4、 学会调试一个较长程序的基本方法;
5、 学会利用流程图或N-S图表示算法;
6、 掌握书写程设计开发文档的能力(书写课程设计报告);
二、内容与设计思想。
(1)题目:
图书信息包括:
登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
试设计一图书信息管理系统,使之能提供以下功能:
系统以菜单方式工作
图书信息录入功能(图书信息用文件保存)--输入
图书信息浏览功能--输出
查询和排序功能:
(至少一种查询方式)--算法
按书名查询
按作者名查询
图书信息的删除与修改(可选项)
(2).系统功能与分析(填写你所设计的菜单及流程图)
截图略
返回主菜单
退出
显示图书记录
流程图:
浏览模块流程图
按书名查找模块流程图
按作者查找模块流程图
插入模块流程图
(3)数据结构
typedefstructbook
{
intsort;
charbook_name[15];
charauthor_name[15];
intvert_number;
charpublish_unit[15];
charpublish_time[10];
intprice;
}B
(4).模块设计
根据功能需要:
源文件
函数名
功能
save()
保存
input()
输入
get()
获取
output()
输出
book_name
通过书名查找
author_name()
通过作者查找
modify()
修改
delet()
删除
(5)总体设计思想:
(6)调试过程:
测试数据及结果,出现了哪些问题
截图略
(7)程序有待改进的地方及本次实习的收获和建议
……
(8)源程序清单(主要代码)
#include<>
#include<>
#include<>
#defineLENsizeof(structbook)
typedefstructbook
{
intsort;
charbook_name[15];
charauthor_name[15];
intvert_number;
charpublish_unit[15];
charpublish_time[10];
intprice;
}B;
B*P,*p1,boo;
intnum=0,f=0;
intsave();
voidinput();
intget();
voidoutput();
voidbook_name();
voidauthor_name();
voidmodify();
voiddelet();
intmain()
{
intre=1,t,j=0;
intn,choice;
while(re==1)
{
t=1;
system("cls");
printf("*****************************\n");
printf("主菜单\n\n");
printf("1.录入信息\n");
printf("2.查看信息\n");
printf("3.查询信息\n");
printf("4.删除与修改信息\n");
printf("5.退出\n");
printf("*****************************");
printf("\n");
if(j==1)printf("\n\t选择错误!
");
printf("\n\t请选择1-5:
_\b\b");
scanf("%d",&choice);
switch(choice)
{
case1:
{
printf("\n\t1:
录入信息\n");
input();
printf("\n\t1.返回主菜单;\n\t2.退出\n\t\t请选择:
_\b\b");
scanf("%d",&re);
break;
}
case2:
{
printf("\n\t2.查看信息\n");
output();
printf("\n\t1.返回主菜单;\n\t2.退出\n\t\t请选择:
_\b\b");
scanf("%d",&re);
break;
}
case3:
{
while(t==1)
{
printf("\n\t3.查询信息\n");
printf("\n\t请选择查询方式:
\n\t1.按书名\n\t2.按作者名\n\t3.其余任意数字键返回主菜单_\b\b");
scanf("%d",&n);
if(n==1)
book_name();
elseif(n==2)
author_name();
else
{
re=1;
gotolebel;
}
printf("\n\t1.返回上一层;\n\t2.返回主菜单;\n\t3.退出\n\t请选择:
_\b\b");
scanf("%d",&t);
if(t==1)
system("cls");
if(t==2)
re=1;
if(t==3)re=0;
}
lebel:
break;
}
case4:
{
while(t==1||f==1)
{
printf("\n\t4.删除与修改信息\n");
printf("\n\t请选择:
\n\t1.删除信息;\n\t2.修改信息\n\t3.其余任意数字键返回主菜单_\b\b");
scanf("%d",&n);
if(n==1)
delet();
elseif(n==2)
modify();
else
{
re=1;
gotolebe;
}
printf("\n\t1.返回上一层;\n\t2.返回主菜单;\n\t3.退出\n\t\t请选择:
_\b\b");
scanf("%d",&t);
if(t==1)
system("cls");
if(t==2)re=1;
if(t==3)re=0;
}
lebe:
break;
}
case5:
{
re=0;
break;
}
default:
{
re=1;
j=1;
}
}
}
return0;
}
intsave()
{
FILE*fp;
inti,n=0,n1=0;
if((fp=fopen("","a+"))==NULL)
return0;
fprintf(fp,"%d\n",num);
for(i=0;i { fprintf(fp,"%d%s%s%d%s%s%d",P[i].sort,P[i].book_name, P[i].author_name,P[i].vert_number,P[i].publish_unit,P[i].publish_time,P[i].price); fprintf(fp,"\n"); } fclose(fp); return1; } intget() { FILE*fp; inti; fp=fopen("","r"); if(fp==NULL) return0; else { fscanf(fp,"%d",&num); if(num>0) { P=(B*)malloc(LEN*num); for(i=0;i { fscanf(fp,"%d%s%s%d%s%s%d",&P[i].sort,P[i].book_name, P[i].author_name,&P[i].vert_number,P[i].publish_unit,P[i].publish_time,&P[i].price); } fclose(fp); return1; } else { fclose(fp); return0; } } } voidinput() { intresult; inti; printf("\t\t要录入信息的书籍数量为: __本\b\b"); scanf("%d",&num); if(num>0) { P=(B*)malloc(LEN*num); for(i=0;i { P[i].sort=i+1; printf("\n\tNO.%d",P[i].sort); printf("\n"); printf("\t请按序输入: 书名作者名分类号出版单位出版时间价格\n\t\t"); scanf("%s%s%d%s%s%d",P[i].book_name,P[i].author_name,&P[i].vert_number,P[i].publish_unit, P[i].publish_time,&P[i].price); printf("\n"); } result=save(); if(result==0) { printf("\t录入信息失败! \n"); num=0; } if(result==1) { printf("\t成功录入信息! \n"); } } else { num=0; printf("\t输入错误! "); } } voidoutput() { inti; get(); if(get()==1) { printf("\n\t\t成功获取信息! \n"); for(i=0;i { printf("\n\t\tNO.\t%d\n",P[i].sort); printf("\t\t书名作者名序列号出版单位出版时间价格\n"); printf("\t\t%s%s%d%s%s%d",P[i].book_name,P[i].author_name,P[
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大一 语言 课程设计 图书 信息管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)