主题:可以帮我看看哪有问题吗,运行出来一直不对
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
void save(); //函数声明
void load();
void input();
void search();
void search_shuming();
void search_author();
void search_ISBN();
void search_Publisher();
void search_year();
int search_num();
void xiugai();
void add();
void shuchu();
void revise(int z);
void delete1(int k);
unsigned long suiji();
int M=0; //图书实际数量
struct book //一个图书的结构体
{
char shuming[20];
char author[20];
char ISBN[60];
char Publisher[30];
char year[60];
int price;
unsigned long num; //图书编号
};
struct book book[1000];
int main()
{
int a;
while(1) //无限循环,除非你置break等类似的跳出循环语句循环才会中止
{
printf("================图书信息管理系统================\n");
printf(" \t1.录入图书信息 2.图书信息浏览 \n\n"); //\t换行
printf(" \t3.查询图书 4.图书信息修改和删除 \n\n");
printf(" \t5.添加图书 6.退出系统 \n\n");
printf("================================================\n");
printf(" 请选择,输入1-6键:");
scanf("%d",&a);
switch(a)
{
case 1:input();break;
case 2:shuchu();break;
case 3:search();break;
case 4:xiugai();break;
case 5:add();break;
case 6:exit(0);break;
default:printf("\n非法操作!\n"); //当其他不满足是执行default
}
system("pause"); //防止闪屏,程序暂定一下
system("cls"); //清屏
}
}
void input() //首次录入图书信息
{
int i,j;
printf("\n 欢迎进入录入图书信息\n");
printf("==================================================\n");
printf("\n输入要添加的图书的数量:");
for(i=0;i<10;i++)
{
scanf("%d",&j);
if(j<1000)
{
break; //跳出if循环
}
printf("该系统只能存放1000本以内的信息,请重新输入\n");
}
if(i==10)
{
printf("输入书的数量超过范围\n");
exit(0);
}
for(i=0;i<j;i++)
{
printf("输入第%d本图书的书名:",i+1);
scanf("%s",book[i].shuming);
printf("输入第%d本图书的作者名:",i+1);
scanf("%s",book[i].author);
printf("输入第%d本图书的ISBN:",i+1);
scanf("%s",book[i].ISBN);
printf("输入第%d本图书的出版单位:",i+1);
scanf("%s",book[i].Publisher);
printf("输入第%d本图书的出版年限:",i+1);
scanf("%d",book[i].year);
printf("输入第%d本图书的价格:",i+1);
scanf("%d",book[i].price);
book[i].num=suiji();
printf("该图书的编号被系统定义为:%lu\n",book[i].num);
}
M=j;
save(); //保存文件
}void save()
{
FILE * fp; //文件指针
int i;
if((fp=fopen("book.txt","wb"))==NULL) //已写入的方式打开文件,文件指针fp在调用fopen打开文件book.txt如果失败,则会成为一个空指针
{
printf("无法打开文件!\n");
exit(0); //正常状态退出
}
for(i=0;i<M;i++) //M是录入图书的数量
fwrite(&book[i],sizeof(struct book),1,fp); //在book文件中写入内容,sizeof计算什么的大小,1是要写入的内容个数
fclose(fp); //关闭文件
printf("============操作成功!============\n");
}
void load()
{
FILE * fp;
int i;
if((fp=fopen("book.txt","rb"))==NULL) //用读入的方式来打开book文件,文件指针fp在调用fopen打开文件book.txt如果失败,则会成为一个空指针
{
printf("无法打开文件!\n");
exit(0);
}
for(i=0;!feof(fp);i++) //feof检查是否读到了结尾
fread(&book[i],sizeof(struct book),1,fp); //读book.txt的内容, sizeof计算什么的大小,1是要写入的内容个数
fclose(fp);
M=i-1;
}
unsigned long suiji() //一个函数来编写图书编号
{
unsigned long h;
srand(time(NULL));
h=rand()%1000+1; //生成随机编号,从1到1001
return h;
}
void search() //查询的主菜单
{
int choice;
printf("\t\t欢迎进入图书查询模版\n");
printf("-------------------------------------------------\n");
printf(" 1.书名查询 2.作者名查询 3.ISBN查询 4.出版社查询 5.出版年限查询 6.图书编号查询\n");
printf("输入你需要的查询方式:");
scanf("%d",&choice);
switch(choice) //用Switch进行选择
{
case 1:search_shuming();break;
case 2:search_author();break;
case 3:search_ISBN();break;
case 4:search_Publisher();break;
case 5:search_year();break;
case 6:search_num();break;
default:printf("\n非法操作!\n");
}
}
void search_shuming() //按书名查询
{
int i,j=0;
char c1[20];
load();
printf("输入您需要查找的书名:");
getchar();
gets(c1);
for(i=0;i<M;i++)
if(strcmp(c1,book[i].shuming)==0)
{
if(j==0)
{
printf("=============图书相关信息===============\n");
printf("序列 图书编号 书名 作者名 ISBN 出版年限 价格 出版社\n");
}
printf("%2d",j+1);
printf(" %2u",book[i].num); //因为前面printf有空格,所以这空格
printf(" %2s",book[i].shuming);
printf(" %2s",book[i].author);
printf(" %2s",book[i].ISBN);
printf(" %2d",book[i].year);
printf(" %2d",book[i].price);
printf(" %2s",book[i].Publisher);
j++;
}
if(j==0)
printf("没有查找到此书名的图书!!!\n");
}
void search_author() //按作者名查询
{
int i,j=0;
char c1[20];
load();
printf("输入您需要查找的作者名");
getchar();
gets(c1);
for(i=0;i<M;i++)
if(strcmp(c1,book[i].author)==0)
{
if(j==0)
{
printf("=============图书相关信息===============\n");
printf("序列 图书编号 书名 作者名 ISBN 出版年限 价格 出版社\n");
}
printf("%2d",j+1);
printf(" %2u",book[i].num); //因为前面printf有空格,所以这空格
printf(" %2s",book[i].shuming);
printf(" %2s",book[i].author);
printf(" %2s",book[i].ISBN);
printf(" %2d",book[i].year);
printf(" %2d",book[i].price);
printf(" %2s",book[i].Publisher);
j++;
}
if(j==0)
printf("输入的作者名有误!!!\n");
}
void __cdecl search_ISBN(void) //按ISBN查询
{
int i,j=0;
char c1[20];
load();
printf("输入您需要查找的ISBN:");
getchar();
gets(c1);
for(i=0;i<M;i++)
if(strcmp(c1,book[i].ISBN)==0)
{
if(j==0)
{
printf("=============图书相关信息===============\n");
printf("序列 图书编号 书名 作者名 ISBN 出版年限 价格 出版社\n");
printf("%2d",j+1);
printf(" %2u",book[i].num); //因为前面printf有空格,所以这空格
printf(" %2s",book[i].shuming);
printf(" %2s",book[i].author);
printf(" %2s",book[i].ISBN);
printf(" %2d",book[i].year);
printf(" %2d",book[i].price);
printf(" %2s",book[i].Publisher);
j++;
}
if(j==0)
printf("输入的ISBN是错误的!!!\n");
}
}
void search_Publisher() //按出版社查询
{
int i,j=0;
char c1[20];
load();
printf("输入您需要查找的出版社:");
getchar();
gets(c1);
for(i=0;i<M;i++)
if(strcmp(c1,book[i].Publisher)==0)
{
if(j==0)
{
printf("=============图书相关信息===============\n");
printf("序列 图书编号 书名 作者名 ISBN 出版年限 价格 出版社\n");
printf("%2d",j+1);
printf(" %2u",book[i].num); //因为前面printf有空格,所以这空格
printf(" %2s",book[i].shuming);
printf(" %2s",book[i].author);
printf(" %2s",book[i].ISBN);
printf(" %2d",book[i].year);
printf(" %2d",book[i].price);
printf(" %2s",book[i].Publisher);
j++;
}
if(j==0)
printf("输入的出版社有误!!!\n");
}
}
void __cdecl search_year(void) //按出版年限查询
{
int i,j=0;
char
c1[20];
load();
printf("输入您需要查找的出版年限:");
getchar();
gets(c1);
for(i=0;i<M;i++)
if(strcmp(c1,book[i].year)==0)
{
if(j==0)
{
printf("=============图书相关信息===============\n");
printf("序列 图书编号 书名 作者名 ISBN 出版年限 价格 出版社\n");
printf("%2d",j+1);
printf(" %2u",book[i].num); //因为前面printf有空格,所以这空格
printf(" %2s",book[i].shuming);
printf(" %2s",book[i].author);
printf(" %2s",book[i].ISBN);
printf(" %2d",book[i].year);
printf(" %2d",book[i].price);
printf(" %2s",book[i].Publisher);
j++;
}
if(j==0)
printf("输入的出版年限有误!!!\n");
}
}
int search_num() //按图书编号查询
{
load(); //载入
int i,j=0,k;
unsigned long num;
printf("输入您需要查找的图书编号:");
scanf("%lu",&num); //lu无符号长整型
for(i=0;i<M;i++)
if(num==book[i].num)
{
printf("=============图书相关信息===============\n");
printf("序列 图书编号 书名 作者名 ISBN 出版年限 价格 出版社\n");
k=i;
printf("%2d",j+1);
printf(" %2u",book[i].num); //因为前面printf有空格,所以这空格
printf(" %2s",book[i].shuming);
printf(" %2s",book[i].author);
printf(" %2s",book[i].ISBN);
printf(" %2d",book[i].year);
printf(" %2d",book[i].price);
printf(" %2s",book[i].Publisher);
j++;
break;
}
if(j==0)
{
printf("该图书不存在\n");
k=-1;
}
return k;
}
void xiugai()
{
int choice;
printf("===========欢迎进入信息修改模块=============\n");
load();
int k=search_num(); //K是图书编号
if(k!=-1)
{
printf("1.删除信息 2.修改信息\n");
printf("请输入您的选择\n");
scanf("%d",&choice);
switch(choice)
{
case 1:delete1(k);break;
case 2:revise(k);break;
}
}
else
{
printf("没有查找到您要修改的图书信息\n");
}
}
void __cdecl delete1(int k)
{
char c1;
int i;
printf("确定删除?是输入y或Y,退出程序请按其他键\n");
getchar();
scanf("%c",&c1);
if(c1=='y'||c1=='Y')
{
for(i=k;i<M-1;i++)
book[i]=book[i+1];
M=M-1;
save();
printf("删除成功\n");
}
else
exit(0);
}
void revise(int z)
{
char c2;
int i=z;
printf("输入图书的书名:\n");
scanf("%s",book[i].shuming);
printf("输入第%d本图书的作者名:\n");
scanf("%s",book[i].author);
printf("输入第%d本图书的ISBN:\n");
scanf("%s",book[i].ISBN);
printf("输入第%d本图书的出版单位:\n");
scanf("%s",book[i].Publisher);
printf("输入第%d本图书的出版年限:\n");
scanf("%d",book[i].year);
printf("输入第%d本图书的价格:\n");
scanf("%d",book[i].price);
printf("确定修改?是输入y或Y,退出程序请按其他任意键\n");
getchar();
scanf("%c",&c2);
if(c2=='y'||c2=='Y')
save();
else
exit(0);
}
void add()
{
load();
int m,i,j;
printf("==========进入添加信息模板===========\n");
for(i=0;i<10;i++)
{
printf("请输入您需要添加的图书数量\n");
scanf("%d",&j);
if(j<1000-M)
{
m=j;
break;
}
printf("该系统只能存放1000本以内的信息,剩余%d本书的空间,请重新输入\n",1000-M);
}
if(i==10)
{
printf("输入的图书数量超过范围\n");
exit(0);
}
M=M+m;
for(i=0;i<m;i++)
{
printf("输入第%d本图书的书名:",i+1);
scanf("%s",book[M+i-m].shuming);
printf("输入第%d本图书的作者名:",i+1);
scanf("%s",book[M+i-m].author);
printf("输入第%d本图书的ISBN:",i+1);
scanf("%s",book[M+i-m].ISBN);
printf("输入第%d本图书的出版单位:",i+1);
scanf("%s",book[M+i-m].Publisher);
printf("输入第%d本图书的出版年限:",i+1);
scanf("%d",book[M+i-m].year);
printf("输入第%d本图书的价格:",i+1);
scanf("%d",book[M+i-m].price);
book[M+i-m].num=suiji();
printf("该图书的编号被系统定义为:%lu\n",book[M+i-m].num);
}
save();
}
void shuchu()
{
int i,j;
load();
printf("-------------------------------------------------------\n");
printf(" 图书相关信息\n");
printf("-------------------------------------------------------\n");
printf("序列 图书编号 书名 作者名 ISBN 出版年限 价格 出版社\n");
for(i=0;i<M;i++)
{
printf("%2d",i+1);
printf(" %2u",book[i].num); //因为前面printf有空格,所以这空格
printf(" %2s",book[i].shuming);
printf(" %2s",book[i].author);
printf(" %2s",book[i].ISBN);
printf(" %2d",book[i].year);
printf(" %2d",book[i].price);
printf(" %2s",book[i].Publisher);
printf("\n");
}
}
#include <stdlib.h>
#include <string.h>
#include <time.h>
void save(); //函数声明
void load();
void input();
void search();
void search_shuming();
void search_author();
void search_ISBN();
void search_Publisher();
void search_year();
int search_num();
void xiugai();
void add();
void shuchu();
void revise(int z);
void delete1(int k);
unsigned long suiji();
int M=0; //图书实际数量
struct book //一个图书的结构体
{
char shuming[20];
char author[20];
char ISBN[60];
char Publisher[30];
char year[60];
int price;
unsigned long num; //图书编号
};
struct book book[1000];
int main()
{
int a;
while(1) //无限循环,除非你置break等类似的跳出循环语句循环才会中止
{
printf("================图书信息管理系统================\n");
printf(" \t1.录入图书信息 2.图书信息浏览 \n\n"); //\t换行
printf(" \t3.查询图书 4.图书信息修改和删除 \n\n");
printf(" \t5.添加图书 6.退出系统 \n\n");
printf("================================================\n");
printf(" 请选择,输入1-6键:");
scanf("%d",&a);
switch(a)
{
case 1:input();break;
case 2:shuchu();break;
case 3:search();break;
case 4:xiugai();break;
case 5:add();break;
case 6:exit(0);break;
default:printf("\n非法操作!\n"); //当其他不满足是执行default
}
system("pause"); //防止闪屏,程序暂定一下
system("cls"); //清屏
}
}
void input() //首次录入图书信息
{
int i,j;
printf("\n 欢迎进入录入图书信息\n");
printf("==================================================\n");
printf("\n输入要添加的图书的数量:");
for(i=0;i<10;i++)
{
scanf("%d",&j);
if(j<1000)
{
break; //跳出if循环
}
printf("该系统只能存放1000本以内的信息,请重新输入\n");
}
if(i==10)
{
printf("输入书的数量超过范围\n");
exit(0);
}
for(i=0;i<j;i++)
{
printf("输入第%d本图书的书名:",i+1);
scanf("%s",book[i].shuming);
printf("输入第%d本图书的作者名:",i+1);
scanf("%s",book[i].author);
printf("输入第%d本图书的ISBN:",i+1);
scanf("%s",book[i].ISBN);
printf("输入第%d本图书的出版单位:",i+1);
scanf("%s",book[i].Publisher);
printf("输入第%d本图书的出版年限:",i+1);
scanf("%d",book[i].year);
printf("输入第%d本图书的价格:",i+1);
scanf("%d",book[i].price);
book[i].num=suiji();
printf("该图书的编号被系统定义为:%lu\n",book[i].num);
}
M=j;
save(); //保存文件
}void save()
{
FILE * fp; //文件指针
int i;
if((fp=fopen("book.txt","wb"))==NULL) //已写入的方式打开文件,文件指针fp在调用fopen打开文件book.txt如果失败,则会成为一个空指针
{
printf("无法打开文件!\n");
exit(0); //正常状态退出
}
for(i=0;i<M;i++) //M是录入图书的数量
fwrite(&book[i],sizeof(struct book),1,fp); //在book文件中写入内容,sizeof计算什么的大小,1是要写入的内容个数
fclose(fp); //关闭文件
printf("============操作成功!============\n");
}
void load()
{
FILE * fp;
int i;
if((fp=fopen("book.txt","rb"))==NULL) //用读入的方式来打开book文件,文件指针fp在调用fopen打开文件book.txt如果失败,则会成为一个空指针
{
printf("无法打开文件!\n");
exit(0);
}
for(i=0;!feof(fp);i++) //feof检查是否读到了结尾
fread(&book[i],sizeof(struct book),1,fp); //读book.txt的内容, sizeof计算什么的大小,1是要写入的内容个数
fclose(fp);
M=i-1;
}
unsigned long suiji() //一个函数来编写图书编号
{
unsigned long h;
srand(time(NULL));
h=rand()%1000+1; //生成随机编号,从1到1001
return h;
}
void search() //查询的主菜单
{
int choice;
printf("\t\t欢迎进入图书查询模版\n");
printf("-------------------------------------------------\n");
printf(" 1.书名查询 2.作者名查询 3.ISBN查询 4.出版社查询 5.出版年限查询 6.图书编号查询\n");
printf("输入你需要的查询方式:");
scanf("%d",&choice);
switch(choice) //用Switch进行选择
{
case 1:search_shuming();break;
case 2:search_author();break;
case 3:search_ISBN();break;
case 4:search_Publisher();break;
case 5:search_year();break;
case 6:search_num();break;
default:printf("\n非法操作!\n");
}
}
void search_shuming() //按书名查询
{
int i,j=0;
char c1[20];
load();
printf("输入您需要查找的书名:");
getchar();
gets(c1);
for(i=0;i<M;i++)
if(strcmp(c1,book[i].shuming)==0)
{
if(j==0)
{
printf("=============图书相关信息===============\n");
printf("序列 图书编号 书名 作者名 ISBN 出版年限 价格 出版社\n");
}
printf("%2d",j+1);
printf(" %2u",book[i].num); //因为前面printf有空格,所以这空格
printf(" %2s",book[i].shuming);
printf(" %2s",book[i].author);
printf(" %2s",book[i].ISBN);
printf(" %2d",book[i].year);
printf(" %2d",book[i].price);
printf(" %2s",book[i].Publisher);
j++;
}
if(j==0)
printf("没有查找到此书名的图书!!!\n");
}
void search_author() //按作者名查询
{
int i,j=0;
char c1[20];
load();
printf("输入您需要查找的作者名");
getchar();
gets(c1);
for(i=0;i<M;i++)
if(strcmp(c1,book[i].author)==0)
{
if(j==0)
{
printf("=============图书相关信息===============\n");
printf("序列 图书编号 书名 作者名 ISBN 出版年限 价格 出版社\n");
}
printf("%2d",j+1);
printf(" %2u",book[i].num); //因为前面printf有空格,所以这空格
printf(" %2s",book[i].shuming);
printf(" %2s",book[i].author);
printf(" %2s",book[i].ISBN);
printf(" %2d",book[i].year);
printf(" %2d",book[i].price);
printf(" %2s",book[i].Publisher);
j++;
}
if(j==0)
printf("输入的作者名有误!!!\n");
}
void __cdecl search_ISBN(void) //按ISBN查询
{
int i,j=0;
char c1[20];
load();
printf("输入您需要查找的ISBN:");
getchar();
gets(c1);
for(i=0;i<M;i++)
if(strcmp(c1,book[i].ISBN)==0)
{
if(j==0)
{
printf("=============图书相关信息===============\n");
printf("序列 图书编号 书名 作者名 ISBN 出版年限 价格 出版社\n");
printf("%2d",j+1);
printf(" %2u",book[i].num); //因为前面printf有空格,所以这空格
printf(" %2s",book[i].shuming);
printf(" %2s",book[i].author);
printf(" %2s",book[i].ISBN);
printf(" %2d",book[i].year);
printf(" %2d",book[i].price);
printf(" %2s",book[i].Publisher);
j++;
}
if(j==0)
printf("输入的ISBN是错误的!!!\n");
}
}
void search_Publisher() //按出版社查询
{
int i,j=0;
char c1[20];
load();
printf("输入您需要查找的出版社:");
getchar();
gets(c1);
for(i=0;i<M;i++)
if(strcmp(c1,book[i].Publisher)==0)
{
if(j==0)
{
printf("=============图书相关信息===============\n");
printf("序列 图书编号 书名 作者名 ISBN 出版年限 价格 出版社\n");
printf("%2d",j+1);
printf(" %2u",book[i].num); //因为前面printf有空格,所以这空格
printf(" %2s",book[i].shuming);
printf(" %2s",book[i].author);
printf(" %2s",book[i].ISBN);
printf(" %2d",book[i].year);
printf(" %2d",book[i].price);
printf(" %2s",book[i].Publisher);
j++;
}
if(j==0)
printf("输入的出版社有误!!!\n");
}
}
void __cdecl search_year(void) //按出版年限查询
{
int i,j=0;
char
c1[20];
load();
printf("输入您需要查找的出版年限:");
getchar();
gets(c1);
for(i=0;i<M;i++)
if(strcmp(c1,book[i].year)==0)
{
if(j==0)
{
printf("=============图书相关信息===============\n");
printf("序列 图书编号 书名 作者名 ISBN 出版年限 价格 出版社\n");
printf("%2d",j+1);
printf(" %2u",book[i].num); //因为前面printf有空格,所以这空格
printf(" %2s",book[i].shuming);
printf(" %2s",book[i].author);
printf(" %2s",book[i].ISBN);
printf(" %2d",book[i].year);
printf(" %2d",book[i].price);
printf(" %2s",book[i].Publisher);
j++;
}
if(j==0)
printf("输入的出版年限有误!!!\n");
}
}
int search_num() //按图书编号查询
{
load(); //载入
int i,j=0,k;
unsigned long num;
printf("输入您需要查找的图书编号:");
scanf("%lu",&num); //lu无符号长整型
for(i=0;i<M;i++)
if(num==book[i].num)
{
printf("=============图书相关信息===============\n");
printf("序列 图书编号 书名 作者名 ISBN 出版年限 价格 出版社\n");
k=i;
printf("%2d",j+1);
printf(" %2u",book[i].num); //因为前面printf有空格,所以这空格
printf(" %2s",book[i].shuming);
printf(" %2s",book[i].author);
printf(" %2s",book[i].ISBN);
printf(" %2d",book[i].year);
printf(" %2d",book[i].price);
printf(" %2s",book[i].Publisher);
j++;
break;
}
if(j==0)
{
printf("该图书不存在\n");
k=-1;
}
return k;
}
void xiugai()
{
int choice;
printf("===========欢迎进入信息修改模块=============\n");
load();
int k=search_num(); //K是图书编号
if(k!=-1)
{
printf("1.删除信息 2.修改信息\n");
printf("请输入您的选择\n");
scanf("%d",&choice);
switch(choice)
{
case 1:delete1(k);break;
case 2:revise(k);break;
}
}
else
{
printf("没有查找到您要修改的图书信息\n");
}
}
void __cdecl delete1(int k)
{
char c1;
int i;
printf("确定删除?是输入y或Y,退出程序请按其他键\n");
getchar();
scanf("%c",&c1);
if(c1=='y'||c1=='Y')
{
for(i=k;i<M-1;i++)
book[i]=book[i+1];
M=M-1;
save();
printf("删除成功\n");
}
else
exit(0);
}
void revise(int z)
{
char c2;
int i=z;
printf("输入图书的书名:\n");
scanf("%s",book[i].shuming);
printf("输入第%d本图书的作者名:\n");
scanf("%s",book[i].author);
printf("输入第%d本图书的ISBN:\n");
scanf("%s",book[i].ISBN);
printf("输入第%d本图书的出版单位:\n");
scanf("%s",book[i].Publisher);
printf("输入第%d本图书的出版年限:\n");
scanf("%d",book[i].year);
printf("输入第%d本图书的价格:\n");
scanf("%d",book[i].price);
printf("确定修改?是输入y或Y,退出程序请按其他任意键\n");
getchar();
scanf("%c",&c2);
if(c2=='y'||c2=='Y')
save();
else
exit(0);
}
void add()
{
load();
int m,i,j;
printf("==========进入添加信息模板===========\n");
for(i=0;i<10;i++)
{
printf("请输入您需要添加的图书数量\n");
scanf("%d",&j);
if(j<1000-M)
{
m=j;
break;
}
printf("该系统只能存放1000本以内的信息,剩余%d本书的空间,请重新输入\n",1000-M);
}
if(i==10)
{
printf("输入的图书数量超过范围\n");
exit(0);
}
M=M+m;
for(i=0;i<m;i++)
{
printf("输入第%d本图书的书名:",i+1);
scanf("%s",book[M+i-m].shuming);
printf("输入第%d本图书的作者名:",i+1);
scanf("%s",book[M+i-m].author);
printf("输入第%d本图书的ISBN:",i+1);
scanf("%s",book[M+i-m].ISBN);
printf("输入第%d本图书的出版单位:",i+1);
scanf("%s",book[M+i-m].Publisher);
printf("输入第%d本图书的出版年限:",i+1);
scanf("%d",book[M+i-m].year);
printf("输入第%d本图书的价格:",i+1);
scanf("%d",book[M+i-m].price);
book[M+i-m].num=suiji();
printf("该图书的编号被系统定义为:%lu\n",book[M+i-m].num);
}
save();
}
void shuchu()
{
int i,j;
load();
printf("-------------------------------------------------------\n");
printf(" 图书相关信息\n");
printf("-------------------------------------------------------\n");
printf("序列 图书编号 书名 作者名 ISBN 出版年限 价格 出版社\n");
for(i=0;i<M;i++)
{
printf("%2d",i+1);
printf(" %2u",book[i].num); //因为前面printf有空格,所以这空格
printf(" %2s",book[i].shuming);
printf(" %2s",book[i].author);
printf(" %2s",book[i].ISBN);
printf(" %2d",book[i].year);
printf(" %2d",book[i].price);
printf(" %2s",book[i].Publisher);
printf("\n");
}
}