图书管理系统(含源代码)c语言_数据结构课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构大作业
图书管理系统
工程管理121279044 伍
目录
一、题目要求 (1)
二、总体设计 (2)
三、编码实现 (2)
1) 定义图书结构体 (2)
2) 登记操作 (2)
3) 查看操作 (2)
4) 删除操作 (2)
5) Main函数 (2)
四、调试与测试 (2)
五、五心得体会 (2)
六、用户手册 (2)
一、题目要求
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;
if((fp=fopen("shuku.txt","a"))==NULL){ printf("File open error!\n");
exit(0);
}
printf("请朱老师输入此次收到的书本总数:");
scanf("%d",&i);
for(j=0;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);
fprintf(fp," %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",);
fprintf(fp,"%s",);
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);
printf("请朱老师输入还书日期:");
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;
all=i;
if(i>0&&i<=Max)
{
for(j=1;j<=i;j++)
{
in>>data[j].id>>data[j].name>>data[j].type>>data[j].status>>data[j].cou