图书管理系统(含源代码)c语言_数据结构课程设计报告
时间:2025-07-07
时间:2025-07-07
数据结构大作业
图书管理系统
工程管理 121279044 伍杨
目录
一、
二、
三、 题目要求 ................................................................... 2 总体设计 ................................................................... 2 编码实现 ................................................................... 3
1) 定义图书结构体 ....................................................... 3
2) 登记操作 ............................................................... 4
3) 查看操作 ............................................................... 8
4) 删除操作 ............................................................. 11
5) Main函数 ........................................................... 20
四、
五、
六、
调试与测试 .............................................................. 26 五心得体会 .............................................................. 28 用户手册 ................................................................. 28
一、 题目要求
1) 目的要求
本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成管理系统设计,以及C语言算法的掌握,并能最终实现本系统的功能要求,通过这个程序可以学习到以前调试短程序没有的的经验。
2) 题目要求
实现图书管理信息系统的设计。要求实现图书添加、显示全部图书、查询、借阅和归还。主要考查利用文件的操作!
二、 总体设计
三、 编码实现
1) 定义图书结构体
struct book{
char bookname[20]; //书名
int NO; //书编号
char type[20]; //类型
int date; //到书日期
};
struct person{
char name[10]; //姓名
char classes[20]; //班级
int number; //学号
char telephone[12]; //联系电话
int NO; //书编号
char bookname[20]; //书名
int borrowdate; //借书日期
int returndate; //还书日期
2) 登记操作
void new_book()
{
FILE *fp; struct book b; //登记新书
int i,j;
printf("请朱老师输入此次收到的书本总数:"); if((fp=fopen("shuku.txt","a"))==NULL){ printf("File open error!\n"); exit(0); }
scanf("%d",&i);
for(j=0;j<i;j++){ printf("请朱老师输入书名:"); scanf("%s",b.bookname); fprintf(fp,"%s",b.bookname); printf("请朱老师输入书编号:"); scanf("%d",&b.NO); fprintf(fp," %d",b.NO); printf("请朱老师输入类型:"); scanf("%s",b.type);
}
} printf("请朱老师输入到书日期:"); scanf("%d",&b.date); fprintf(fp," %d",b.date); if(fclose(fp)){ } printf("Can not close the file!\n"); exit(0);
void new_person()
{
FILE *fp; struct person p; char choice; //登记借书 if((fp=fopen("jieshujilu.txt","a"))==NULL){ printf("File open error!\n"); exit(0); }
printf("请朱老师输入借书人姓名:"); scanf("%s",http://); fprintf(fp,"%s",http://); printf("请朱老师输入借书人班级:"); scanf("%s",p.classes); fprintf(fp," %s",p.classes); printf("请朱老师输入借书人学号:"); scanf("%d",&p.number); fprintf(fp," %d",p.number); printf("请朱老师输入借书人联系电话:"); scanf("%s",p.telephone); fprintf(fp," %s",p.telephone); printf("请朱老师输入书编号:"); scanf("%d",&p.NO); fprintf(fp," %d",p.NO); printf("请朱老师输入书名:"); scanf("%s",p.bookname); fprintf(fp," %s",p.bookname); printf("请朱老师输入借书日期:"); scanf("%d",&p.borrowdate); fprintf(fp," %d",p.borrowdate);
scanf("%d",&p.returndate); fprintf(fp," %d",p.returndate); printf("\n\t您想继续吗?(y/n)"); scanf(" %c",&choice); if(choice=='Y'||choice=='y'){ } system("cls"); new_person(); if(fclose(fp)){ } printf("Can not close the file!\n"); exit(0);
}实现程序对文件的读取
void Read()
{
int i=0; int j=0; ifstream in("Libra.txt",ios::out); in>>i;
nt;
} if(i>0&&i<=Max) { in>>data[j].id>>data[j].name>>data[j].type>>data[j].status>>data[j].coufor(j=1;j<=i;j++) { } } in.close();
3) 查看操作
v void see_book()
{
FILE *fp; long NO; char bookname[20]; char type[20]; long date; //查看书库记录
}
} printf("File open error!\n"); exit(0); while(!feof(fp)) { fscanf(fp,"%s%ld%s%ld",bookname,&NO,type,&date); printf("%-10s %-10ld %-10s %ld\n",bookname,NO,type,date); }; if(fclose(fp)){ } printf("Can not close the file!\n"); exit(0);
void see_person()
{ //查看所有借书记录
char name[10];
char classes[20];
int number;
char telephone[20];
int NO;
char bookname[20];
int borrowdate;
int returndate;
fscanf(fp,"%s %s %ld %s %ld %s %ld %ld",name,classes,&number,telephonwhile(!feof(fp)) { if((fp=fopen("jieshujilu.txt","r"))==NULL){ } printf("File open error!\n"); exit(0); e,&NO, …… 此处隐藏:4280字,全部文档内容请下载后查看。喜欢就下载吧 ……
下一篇:浅析美国的新公共管理运动