#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
struct Lib {
int num; //登陆号
char name[32]; //书名
char nat[32]; //作者名
char adr[32]; //出版单位
int time; //出版时间
int num2; //分类号
int price; //价格
};
struct Lib lib[100];
int count=0,i=0;
char input() { //图书信息录入
for(; i<40; i++) {
printf("请输入图书登陆号:");
scanf("%d",&lib[i].num);
printf("请输入图书书名:");
scanf("%s",&lib[i].name);
printf("请输入作者名:");
scanf("%s",&lib[i].nat);
printf("请输入出版单位:");
scanf("%s",&lib[i].adr);
printf("请输入出版时间:");
scanf("%d",&lib[i].time);
printf("请输入分类号:");
scanf("%d",&lib[i].num2);
printf("请输入价格:");
scanf("%d",&lib[i].price);
count++;//记录录入信息的个数
system("cls");//清屏
return -1;
}
}
void brouse() { //图书信息浏览
int i;
printf(" 登录号 书名 作者名 出版单位 出版时间 分类号 价格 \n");
for(i=0; i<count; i++) {
printf(" %d %s %s %s %d %d %d\n",lib[i].num,lib[i].name,lib[i].nat,lib[i].adr,lib[i].time,lib[i].num2,lib[i].price);
}
printf("请按任意键返回");
_getch();
}
void name() { //书名查询
int i;
char name[10];
printf("请输入所查图书名字:\n");
scanf("%s",name);
for(i=0; i<count; i++)
if(strcmp(lib[i].name,name)==0) {
printf("查询结果如下:\n");
printf(" 登录号 书名 作者名 出版单位 出版时间 分类号 价格 \n");
printf(" %d %s %s %s %d %d %d\n",lib[i].num,lib[i].name,lib[i].nat,lib[i].adr,lib[i].time,lib[i].num2,lib[i].price);
break;
}
if(i>=count) {
printf("\n\n\t狠抱歉,没有该图书的信息\n");
}
printf("请按任意键返回");
_getch();
}
void nat() { //作者名查询
int i;
char nat[10];
printf("请输入所查询作者的名字:\n");
scanf("%s",nat);
for(i=0; i<count; i++)
if(strcmp(lib[i].nat,nat)==0) {
printf("查询结果如下:\n");
printf(" 登录号 书名 作者名 出版单位 出版时间 分类号 价格 \n");
printf(" %d %s %s %s %d %d %d\n",lib[i].num,lib[i].name,lib[i].nat,lib[i].adr,lib[i].time,lib[i].num2,lib[i].price);
break;
}
if(i>=count) {
printf("\n\n\t狠抱歉,没有该图书的信息\n");
}
printf("请按任意键返回");
_getch();
}
void search() { //图书信息查询
void num();
void name();
void tel();
int i;
printf("\n");
printf(" 1.按书名查询 \n");
printf(" 2.按作者名查询 \n");
printf(" 3.返回管理系统页面 \n");
printf("\n");
scanf("%d",&i);
system("cls");
switch(i) {
case 1:
name();
break;
case 2:
nat();
break;
case 3:
break;
}
}
void renum() { //登录号修改
char name[10];
int i,t;
printf("请输入需要修改的图书名字:");
scanf("%s",name);
printf("\n\n");
for(i=0; i<count; i++)
if(strcmp(lib[i].name,name)==0) {
printf("本图书初始登录号为:%d\n",lib[i].num);
printf("修改后的登录号是:");
scanf("%d",&t);
lib[i].num=t;
printf("\n");
printf("修改成功!!\n");
break;
}
if(i>=count) {
printf("\n\n\t狠抱歉,没有该图书的信息\n");
}
printf("请按任意键返回");
_getch();
}
void re_name() { //修改书名
char name[10];
int i;
char t[10];
printf("请输入需要修改的图书名字:");
scanf("%s",name);
printf("\n");
for(i=0; i<count; i++)
if(strcmp(lib[i].name,name)==0) {
printf("本图书初始名字是:%d\n",lib[i].name);
printf("修改后的名字是:");
scanf("%s",t);
strcpy(lib[i].name,t);
printf("\n");
printf("修改成功!!\n");
break;
}
if(i>=count) {
printf("\n\n很抱歉,没有该图书的信息\n\n");
}
printf("请按任意键返回");
_getch();
}
void renat() { //作者名修改
char name[10];
int i;
char nat[3];
printf("请输入需要修改的图书名字:");
scanf("%s",name);
printf("\n\n");
for(i=0; i<count; i++)
if(strcmp(lib[i].name,name)==0) {
printf("本职工初始性别是:%d\n",lib[i].nat);
printf("修改后的之后的性别是:");
scanf("%s",nat);
strcpy(lib[i].nat,nat);
printf("\n");
printf("修改成功!!\n");
break;
}
if(i>=count) {
printf("\n\n很抱歉,没有该图书的信息\n\n");
}
printf("请按任意键返回");
_getch();
}
void readr() { //出版单位修改
int i;
char adr[10];
char name[10];
printf("请输入需要修改的图书名字:");
scanf("%s",name);
printf("\n\n");
for(i=0; i<count; i++)
if(strcmp(lib[i].name,name)==0) {
printf("本图书初始出版单位是:%d\n",lib[i].adr);
printf("修改后的出版单位是:");
scanf("%s",adr);
strcpy(lib[i].adr,adr);
printf("\n");
printf("修改成功!!\n");
break;
}
if(i>=count) {
printf("\n\n很抱歉,没有该图书的信息\n\n");
}
printf("请按任意键返回");
_getch();
}
void retime() { //
int time;
char name[10];
int i;
printf("请输入需要修改的图书名字:");
scanf("%s",name);
printf("\n\n");
for(i=0; i<count; i++)
if(strcmp(lib[i].name,name)==0) {
printf("图书的初始出版时间是:%s\n",lib[i].time);
printf("修改后的出版时间是:");
scanf("%d",&time);
lib[i].time=time;
printf("\n");
printf("修改成功!!\n");
break;
}
if(i>=count) {
printf("\n\n很抱歉,没有该图书的信息\n\n");
}
printf("请按任意键返回");
_getch();
}
void renum2() { //分类号修改
int num2;
char name[10];
int i;
printf("请输入需要修改的图书名字:");
scanf("%s",name);
printf("\n\n");
for(i=0; i<count; i++)
if(strcmp(lib[i].name,name)==0) {
printf("本图书初始的分类号是:%d\n",lib[i].num2);
printf("修改后的分类号是:");
scanf("%d",&num2);
lib[i].num2=num2;
printf("\n");
printf("修改成功!!\n");
break;
}
if(i>=count) {
printf("\n\n很抱歉,没有该图书的信息\n\n");
}
printf("请按任意键返回");
_getch();
}
void reprice() { //
int price;
char name[10];
int i;
printf("请输入需要修改的图书名字:");
scanf("%s",name);
printf("\n\n");
for(i=0; i<count; i++)
if(strcmp(lib[i].name,name)==0) {
printf("图书的初始价格是:%s\n",lib[i].price);
printf("修改后的价格是:");
scanf("%d",&price);
lib[i].price=price;
printf("\n");
printf("修改成功!!\n");
break;
}
if(i>=count) {
printf("\n\n很抱歉,没有该图书的信息\n\n");
}
printf("请按任意键返回");
_getch();
}
void revise() { //图书信息修改。
void renum();
void re_name();
void resex();
void reage();
void rexueli();
void repay();
void rezhuzhi();
void retel();
int j;
printf(" 1.登录号修改 \n");
printf(" 2.图书名修改 \n");
printf(" 3.作者名修改 \n");
printf(" 4.出版单位修改 \n");
printf(" 5.出版时间修改 \n");
printf(" 6.分类号修改 \n");
printf(" 7.价格修改 \n");
printf(" 8.返回管理系统页面 \n");
scanf("%d",&j);
system("cls");
switch(j) {
case 1:
renum();
break;
case 2:
re_name();
break;
case 3:
renat();
break;
case 4:
readr();
break;
case 5:
retime();
break;
case 6:
renum2();
break;
case 7:
reprice();
break;
case 8:
break;
}
}
void dele() { //图书信息的删除
int i,j;
char del_name[10];
printf("请输入需要删除的图书名字:\n");
scanf("%s",del_name);
printf("\n");
for(i=0; i<count; i++) {
if((strcmp(lib[i].name,del_name)==0)) {
for(j=i; j<count; j++) {
lib[j]=lib[j+1];
}
printf("\t删除成功!!!\n\n");
count--;
}
}
printf("\n请按任意键返回\n");
_getch();
}
void save() { //文件建立及保存
FILE * fp;
int i;
if((fp=fopen("lib","wb"))==NULL) {
printf("不能打开文件\n");
return;
}
for(i=0; i<count; i++) {
if(fwrite(&lib[i],sizeof(struct Lib),1,fp)!=1)
printf("文件输出错误\n");
}
fclose(fp);
printf("\n\n\t\t保存成功!!!\n\n");
printf("请按任意键返回");
_getch();
}
void read() { //数据的读取
FILE * fp;
fp=fopen("lib","rb");
do {
fread(&lib[i],sizeof(struct Lib),1,fp);//地址 长度 条数 指针
count++;
i++;
} while(!feof(fp)); //判断不等于0
i--;
count--;
fclose(fp);
printf("\n\n\t\t读取成功!!! \n\n");
printf("请按任意键返回");
_getch();
}
void quit() {
int q;
printf("\n\n\t\t1,确定退出\n\n");
printf("\t\t2,取消退出\n \n");
scanf("%d",&q);
switch(q) {
case 1:
return;
break;
case 2:
break;
}
}
int main() {
int k;
while(1) {
system("cls");
printf("(1) 图书信息录入\n");
printf("(2) 图书信息浏览\n");
printf("(3) 图书信息查询\n");
printf("(4) 图书信息修改\n");
printf("(5) 图书信息删除\n");
printf("(6) 图书数据保存\n");
printf("(7) 图书信息读取\n");
printf("(8) 退出 \n");
printf("\n\n");
scanf("%d",&k);
switch(k) {
case 1:
system("cls");
input();
break;
case 2:
system("cls");
brouse();
break;
case 3:
system("cls");
search();
break;
case 4:
system("cls");
revise();
break;
case 5:
system("cls");
dele();
break;
case 6:
system("cls");
save();
break;
case 7:
system("cls");
read();
break;
case 8:
system("cls");
quit();
break;
}
}
}
发下格式化的代码段,太乱了,点代码块再复制过来