diff --git a/谭文的代码.cpp b/谭文的代码.cpp new file mode 100644 index 0000000..9db1e61 --- /dev/null +++ b/谭文的代码.cpp @@ -0,0 +1,1022 @@ +#include +#include +#include +#include +#include +#include +#include +#define BACKSPACE 8 +#define PASS_MAXLEN 128 +#define LEN sizeof(struct Book) +#define LEN1 sizeof(struct reader) +#include"zzh.h" + +void home();//עҳ +void Reg();//ע +void Log();//¼ +void Adm();//Ա +int UserMenu();//ûҳ +int AdminMenu();//Աҳ +void BroBook();// +void BacBook();// +void LooBook(int n);//ѯ鼮 +void AddBook();//鼮 +void DelBook();//ɾ鼮 +void FixBook();//޸鼮 +int Total();//ͳ +int Total1();//ͳ˻->޸ûظ +int Total2();//ͳƶ +void SBAll(int q);//ѯ鼮 +void SBAut(int q);//ͼ߲ѯ +void SBNam(int q);//ͼֲѯ +void SBCat(int q);//ͼѯ +void ed();// +void Reader();//߽Ϣ +void Readername();//ֲҽ +void Allreader();//в鿴 + + +int main(){ + home(); +} + +//ҳ +void home(){ + system("cls"); +while(1){ + char c; + printf("******************************************************************************************\n"); + printf("* ͼϵͳVersion 2.0) *\n"); + printf("******************************************************************************************\n"); + printf("* *\n"); + printf("* ѽӭʹͼϵͳ *\n"); + printf("* *\n"); + printf("* ʲôأ *\n"); + printf("* *\n"); + printf("* 鷳ֱʾҪִеIJ *\n"); + printf("* *\n"); + printf("* *\n"); + printf("******************************************************************************************\n"); + printf("*ͨû𣿣 * ҵMaster𣿣 *\n"); + printf("* * *\n"); + printf("* 1.עû,ǩԼo(**) * 3.Master½ (*/*) *\n"); + printf("* 2.Լǩˣֱӵ½ * *\n"); + printf("* * *\n"); + printf("******************************************************************************************\n\n\n"); + printf("\t\t\t\t\t\t\t\t\tִеIJ"); + c=getch(); + if(c=='1'){ + Reg(); + break; + }else if(c=='2'){ + Log(); + break; + }else if (c=='3'){ + Adm(); + } + system("cls"); +} + +} +//ע +void Reg(){ + FILE *fp=fopen("˺Ź.txt","r"); + fp=fopen("˺Ź.txt","r"); + system("cls"); + int k=0; + char t; + int i=0,l1=0,l2=0; + char c; + char UserName[50],PassWord[10],RePassWord[10]; + char name[100],password[100]; + toxy(40,2); + printf("ǩԼESCص½棩\n\n\n");/*x=40y=2*/ + printf(" ȡְɦ(bb*)/,ֻӢ,Ŷ\n\n "); + printf("\n\n 룬Ҫй¶ѼСBBs 3t \n\n "); + printf("\n\n ȷһQAQ\n\n "); + toxy(27,7); + while(1){ + c=getch(); + if(c==27) home(); + if(c=='\r'||c=='\n'){ + UserName[i]=0; + break; + } + else if(c==8) + { + if(i==0) i=0; + else + { + printf("\b \b"); + i=i-1; + } + }else if((c<='Z'&&c>='A')||(c<='z'&&c>='a')||(c<='9'&&c>='0')){ + UserName[i++]=c; + putchar(c); + } + } + l1=strlen(UserName); + toxy(27,11); + while(1){ + int i=0; + char c; + while(1){ + c=getch(); + if(c==27) home(); + if(c=='\n'||c=='\r'){ + PassWord[i]=0; + break; + } + else if(c==BACKSPACE){ + PassWord[--i]='\0'; + putchar(BACKSPACE); + putchar(' '); + putchar(BACKSPACE); + }//DELETE + else{ + PassWord[i++]=c; + putchar('*'); + } + } + l2=strlen(PassWord); + i=0; + toxy(27,15); + while(1){ + c=getch(); + if(c==27) home(); + if(c=='\n'||c=='\r'){ + RePassWord[i]=0; + break; + } + else if(c==8) + { + if(i==0) i=0; + else + { + printf("\b \b"); + i=i-1; + } + } + else{ + RePassWord[i++]=c; + putchar('*'); + } + } + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ע. \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ע.. \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ע... \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ע. \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ע.. \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + if(!l1||!l2){ + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t Ǹ(n*) \n"); + printf("\t\t\t \n"); + printf("\t\t\t ûΪ \n"); + printf("\t\t\t Esc˳سע \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + t=getch(); + while(t!=27&&t!=13){ + t=getch(); + continue; + } + if(t==27){ + system("cls"); + printf("ת..."); + home(); + }else if(t==13){ + system("cls"); + printf("ת..."); + Reg(); + } + }else { + + int j=Total1();//һjû,Totalͳıжٸû + for(int i=0;i='A')||(c<='z'&&c>='a')||(c<='9'&&c>='0')){ + UserName[i++]=c; + putchar(c); + } + } + i=0; + toxy(27,11); + while(1){ + c=getch(); + if(c==27) home(); + if(c=='\r'||c=='\n'){ + PassWord[i]=0; + break; + } + else if(c==8) + { + if(i==0) i=0; + else + { + printf("\b \b"); + i=i-1; + } + } + else if((c<='Z'&&c>='A')||(c<='z'&&c>='a')||(c<='9'&&c>='0')){ + PassWord[i++]=c; + putchar('*'); + } + } + int j=Total1(); + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ½. \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ½.. \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ½... \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ½. \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ½.. \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + for(int f=0;f='A')||(c<='z'&&c>='a')||(c<='9'&&c>='0')){ + AdminName[i++]=c; + putchar(c); + } + } + toxy(27,11); + i=0; + while(1){ + c=getch(); + if(c==27) home(); + if(c=='\r'||c=='\n'){ + PassWord[i]=0; + break; + } + else if(c==8) + { + if(i==0) i=0; + else + { + printf("\b \b"); + i=i-1; + } + } + else if((c<='Z'&&c>='A')||(c<='z'&&c>='a')||(c<='9'&&c>='0')){ + PassWord[i++]=c; + putchar('*'); + } + } + int j=1; + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ½. \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ½.. \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ½... \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ½. \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + printf("\n\n\n"); + printf("\t\t\t\n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t ½.. \n"); + printf("\t\t\t \n"); + printf("\t\t\t \n"); + printf("\t\t\t\n"); + Sleep(500); + system("cls"); + for(int f=0;fnext=p1; + p2=p1; + p1=(struct Book*)malloc(LEN); + } + strcpy(p1->num,Num);// + strcpy(p1->nam,Nam);// + strcpy(p1->aut,Aut);// + strcpy(p1->pub,Pub);//Ƴ + strcpy(p1->cat,Cat);// + p1->many=Many;//Ƹ + p1->price=Price;//Ƶ + } + if(n==0){ + head=NULL; + } + else{ + p2->next=p1; + p1->next=NULL; + fclose(fp); + } + } + p=head; + for(;p!=NULL;){ + if(!strcmp(p->num,Re)){ + flag=1; + k=p->many; + (p->many)--; + } + p=p->next; + } + if((k>0)&&flag){ + + fp=fopen("ͼ.txt","w"); + fclose(fp); + fp=fopen("ͼ.txt","a"); + p=head; + for(;p!=NULL;){ + fprintf(fp,"%-8s%-8s%-16s%-16s%-16s%-10d%10.2f\n",p->num,p->nam,p->aut,p->pub,p->cat,p->many,p->price); + p=p->next; + } + free(p); + fclose(fp); + if((fp1=fopen(".txt","r"))==NULL){ + fp1=fopen(".txt","w"); + fclose(fp1); + } + fp1=fopen(".txt","a"); + printf("ѧţ"); + scanf("%d",&Xuehao); + printf("֣"); + scanf("%s",Mingzi); + printf("(/·/)"); + scanf("%s",Riqi); + fprintf(fp1,"%-8d%-23s%-18s%-10s\n",Xuehao,Mingzi,Riqi,Re); + fclose(fp1); + printf("ɹ,밴ʱ黹,Esc˳\n"); + t=getch(); + while(t!=27){ + t=getch(); + continue; + } + if(t==27){ + UserMenu(); + } + } + else{ + if(flag!=0){ + printf("ûҪ鼮,Esc\n"); + while(t!=27){ + t=getch(); + continue; + } + UserMenu(); + }else{ + printf("治㣬Esc\n"); + } + } + while(t!=27){ + t=getch(); + continue; + } + UserMenu(); +} + + +// +void BacBook(){ + system("cls"); + struct reader *head=NULL; + struct Book *zhead=NULL; + struct Book *zp,*zp1,*zp2; + struct reader *p,*p1,*p2; + FILE *fp,*fp1; + float Price=0; + char t,ReName[100]; + int Many; + int n=0,j=0,k=0,flag=0,l=0;//kǿ; + char Num[20]={'\0'},Aut[20]={'\0'},Pub[20]={'\0'},Nam[20]={'\0'},Cat[20]={'\0'}; + int Xuehao,ReXuehao; + char Mingzi[20]={'\0'},Riqi[20]={'\0'},Shuming[20]={'\0'}; + fp=fopen(".txt","r"); + if(fp==NULL){ + system("cls"); + printf("δڶļϵԱ\n"); + printf("Esc\n"); + t=getch(); + while(t!=27){ + t=getch(); + continue; + } + UserMenu(); + }else{ + printf("ѧţ");// + scanf("%d",&ReXuehao); + printf("ţ"); + scanf("%s",ReName); + j=Total2(); + for(int i=0;inext=p1; + p2=p1; + p1=(struct reader*)malloc(LEN1); + } + p1->xuehao=Xuehao; + strcpy(p1->username,Mingzi); + strcpy(p1->time,Riqi); + strcpy(p1->name,Shuming); + } + } + if(n==0){ + head=NULL; + }else{ + p2->next=p1; + p1->next=NULL; + fclose(fp); + } + fp=fopen(".txt","w"); + fclose(fp); + fp=fopen(".txt","a"); + p=head; + for(;p!=NULL;){ + fprintf(fp,"%-8d%-23s%-18s%-10s\n",p->xuehao,p->username,p->time,p->name); + p=p->next; + } + free(p); + fclose(fp); + if(flag){ + printf("Ƿȷϻ飬밴س,˳밴Esc\n"); + t=getch(); + while(t!=13&&t!=27){ + t=getch(); + continue; + } + if(t==27){ + printf("ת..."); + Sleep(1000); + UserMenu(); + } + printf("ɹEsc"); + n=0,flag=0; + l=Total(); + fp1=fopen("ͼ.txt","r"); + for(int i=0;inext=zp1; + zp2=zp1; + zp1=(struct Book*)malloc(LEN); + } + strcpy(zp1->num,Num);// + strcpy(zp1->nam,Nam);// + strcpy(zp1->aut,Aut);// + strcpy(zp1->pub,Pub);//Ƴ + strcpy(zp1->cat,Cat);// + zp1->many=Many;//Ƹ + zp1->price=Price;//Ƶ + } + if(n==0){ + zhead=NULL; + } + else{ + zp2->next=zp1; + zp1->next=NULL; + fclose(fp1); + } + + zp=zhead; + for(;zp!=NULL;){ + if(!strcmp(zp->num,ReName)){ + ++(zp->many); + } + zp=zp->next; + } + fp1=fopen("ͼ.txt","w"); + fclose(fp1); + fp1=fopen("ͼ.txt","a"); + zp=zhead; + for(;zp!=NULL;){ + fprintf(fp1,"%-8s%-8s%-16s%-16s%-16s%-10d%10.2f\n",zp->num,zp->nam,zp->aut,zp->pub,zp->cat,zp->many,zp->price); + zp=zp->next; + } + fclose(fp1); + t=getch(); + while(t!=27){ + t=getch(); + continue; + } + if(t==27){ + UserMenu(); + } + } + else{ + system("cls"); + printf("ڽû,Esc\n"); + while(t!=27){ + t=getch(); + continue; + } + if(t==27){ + UserMenu(); + } + } + } + } + + +