将写代码过程比较好的代码备份一下,下边代码是关于C语言实现的文件型图书管理系统的代码。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct book{
int num;
char bname[50];
char wname[20];
char press[50];
char sort[50];
int time;
float price;
};
int main()
{
int choice,n,x,y=1,c,c1=1234;
char a,d,b[10],b1[10]=“yjk”;
while(y){
system("cls");
printf("nnnnnnn");
printf("nn");
printf(" ============1-用户登录===========n");
printf(" ============0-退出系统===========n");
printf(" 请输入您的选择:");
scanf("%d",&n);
printf("n");
getchar();
switch(n){
case 0:
y=0;
break;
case 1:
printf(" 请输入您的用户名:");
gets(b);
printf("n");
printf(" 请输入您的密码:");
scanf("%d",&c);
printf("n");
if(strcmp(b,b1)!=0||c!=c1){
printf(" 验证失败,请重新输入!n");
scanf("%c",&d);
getchar();
system("cls");
}
else{
printf(" 验证通过!请按Enter键进入!n");
scanf("%c",&d);
getchar();
x=1;
while(x){
system("cls");
printf(" ------------------n");
printf(" ------------------nn");
printf(" || 1-添加图书 2-删除图书 ||nn");
printf(" || 3-图书列表 4-图书排序 ||nn");
printf(" || 5-查询图书 6-修改图书 ||nn");
printf(" || 7-录入数据 0-退出系统 ||nn");
printf("请输入所选择的序号:");
scanf("%d",&choice);
getchar();
system("cls");
switch(choice)
{
case 0:
x=0;break;
case 1:
head=load();
if(head==NULL){
printf("文件为空,请先录入数据!n");
getchar();
break;
}
else{
head=addbook(head);
printf("添加成功!n");
printf("是否将新信息保存到文件?(y/n)n");
scanf("%c",&a);
getchar();
switch(a){
case 'n':
break;
case 'y':
fprint(head);
printf("保存成功!n");
getchar();
break;
}
break;
}
case 2:
head=load();
if(head==NULL){
printf("文件为空,请先录入数据!n");
getchar();
break;
}
else{
deletebook(head);
getchar();
break;
}
break;
case 3:
head=load();
if(head==NULL){
printf("文件为空,请先录入数据!n");
getchar();
break;
}
else{
print_book(head);
getchar();
break;
}
case 4:
head=load();
if(head==NULL){
printf("文件为空,请先录入数据!n");
getchar();
break;
}
else{
paixu(head);
getchar();
}
break;
case 5:
head=load();
if(head==NULL){
printf("文件为空,请先录入数据!n");
getchar();
break;
}
else{
chaxun(head);
getchar();
}
break;
case 6:
head=load();
if(head==NULL){
printf("文件为空,请先录入数据!n");
getchar();
break;
}
else{
xiugai(head);
getchar();
break;
}
break;
case 7:
printf("注意:输入图书编码为0时结束!n");
head=creatbook();
printf("是否将输入的信息保存到文件以覆盖文件中已存在的信息?(y/n)n");
getchar();
scanf("%c",&a);
getchar();
switch(a){
case 'n':
break;
case 'y':
fprint(head);
printf("保存成功!n");
getchar();
break;
}
break;
default:
printf("您的输入有误,请重新输入!n");
getchar();
break;
}
}
}
break;
default:
printf(" 您的输入有误! 请重新输入!n");
getchar();
break;
}
}
}
{
int num,time,n;
char bname[50],wname[20],press[50],sort[50];
float price;
int size=sizeof(struct book);
head=tail=NULL;
printf(“请输入图书编号:”);
scanf("%d",&num);
printf(“请输入图书名:”);
scanf("%s",bname);
getchar();
printf(“请输入作者名:”);
scanf("%s",wname);
getchar();
printf(“请输入出版社:”);
scanf("%s",press);
getchar();
printf(“请输入类别:”);
scanf("%s",sort);
getchar();
printf(“请输入出版时间:”);
scanf("%d",&time);
getchar();
printf(“请输入价格:”);
scanf("%f",&price);
getchar();
while(1){
p->num=num;
strcpy(p->bname,bname);
strcpy(p->wname,wname);
strcpy(p->press,press);
strcpy(p->sort,sort);
p->time=time;
p->price=price;
p->next=NULL;
if(headNULL)
head=p;
else
tail->next=p;
tail=p;
do{
printf(“请输入图书编号:”);
scanf("%d",&num);
n=yanzheng(head,num);
if(n0)
break;
else
printf(“您输入的编号已存在,请重新输入!n”);
}while(1);
if(num==0)
break;
else
{
printf(“请输入图书名:”);
scanf("%s",bname);
getchar();
printf(“请输入作者名:”);<