|
|
|
|
#include<stdio.h>
|
|
|
|
|
#include<string.h>
|
|
|
|
|
#include<stdlib.h>
|
|
|
|
|
#include<math.h>
|
|
|
|
|
#include<ctype.h>
|
|
|
|
|
#include<windows.h>
|
|
|
|
|
#include<conio.h>
|
|
|
|
|
|
|
|
|
|
#define BACKSPACE 8
|
|
|
|
|
#define PASS_MAXLEN 128
|
|
|
|
|
#define LEN sizeof(struct Book)
|
|
|
|
|
|
|
|
|
|
void start();
|
|
|
|
|
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 SBAut();
|
|
|
|
|
int SBNam();
|
|
|
|
|
int SBCat();
|
|
|
|
|
|
|
|
|
|
int main(){
|
|
|
|
|
home();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>鼮<EFBFBD>Ľṹ<C4BD><E1B9B9>
|
|
|
|
|
|
|
|
|
|
struct Book//ͼ<><CDBC><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
{
|
|
|
|
|
char num[20],nam[20],aut[20],pub[20],cat[20];
|
|
|
|
|
int many;
|
|
|
|
|
float price;
|
|
|
|
|
struct Book *next;
|
|
|
|
|
};
|
|
|
|
|
struct reader{
|
|
|
|
|
int num;
|
|
|
|
|
char username[20],time[20],name[20];
|
|
|
|
|
struct reader *next;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>ҳ<EFBFBD><D2B3>
|
|
|
|
|
void home(){
|
|
|
|
|
system("cls");
|
|
|
|
|
while(1){
|
|
|
|
|
char c;
|
|
|
|
|
printf("******************************************************************************************\n");
|
|
|
|
|
printf("* ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Version 1.0 BETA<54><41> *\n");
|
|
|
|
|
printf("******************************************************************************************\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* <20><><EFBFBD><EFBFBD>ѽ<EFBFBD><D1BD><EFBFBD><EFBFBD>ӭʹ<D3AD><CAB9>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲô<CAB2>أ<EFBFBD> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* <20>鷳<EFBFBD><E9B7B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ʾ<EFBFBD><CABE>Ҫִ<D2AA>еIJ<D0B5><C4B2><EFBFBD> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("******************************************************************************************\n");
|
|
|
|
|
printf("*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>û<EFBFBD><C3BB>𣿣<EFBFBD> * <20><><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>Master<65>𣿣<EFBFBD> *\n");
|
|
|
|
|
printf("* * *\n");
|
|
|
|
|
printf("* 1.ע<><D7A2><EFBFBD>û<EFBFBD>,<2C><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>o(*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*)<29><> * 3.Master<65><72>½ (*/<2F><><EFBFBD><EFBFBD>*) *\n");
|
|
|
|
|
printf("* 2.<2E><>Լǩ<D4BC><C7A9><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>ֱ<EFBFBD>ӵ<EFBFBD>½<EFBFBD><C2BD> * *\n");
|
|
|
|
|
printf("* * *\n");
|
|
|
|
|
printf("******************************************************************************************\n\n\n");
|
|
|
|
|
printf("\t\t\t\t\t\t\t\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>еIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
c=getch();
|
|
|
|
|
if(c=='1'){
|
|
|
|
|
Reg();
|
|
|
|
|
break;
|
|
|
|
|
}else if(c=='2'){
|
|
|
|
|
Log();
|
|
|
|
|
break;
|
|
|
|
|
}else if (c=='3'){
|
|
|
|
|
Adm();
|
|
|
|
|
}else{
|
|
|
|
|
printf("WRONG!!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
system("cls");//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//ע<><D7A2>
|
|
|
|
|
void Reg(){
|
|
|
|
|
FILE *fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\<EFBFBD>˺Ź<EFBFBD><EFBFBD><EFBFBD>.txt","r");
|
|
|
|
|
fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\<EFBFBD>˺Ź<EFBFBD><EFBFBD><EFBFBD>.txt","r");
|
|
|
|
|
system("cls");
|
|
|
|
|
int k=0;
|
|
|
|
|
char t;
|
|
|
|
|
static char UserName[50],PassWord[10],RePassWord[10];
|
|
|
|
|
char name[100],password[100];
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>
|
|
|
|
|
scanf("%s",UserName);
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룺\n");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
while(1){
|
|
|
|
|
int i=0;
|
|
|
|
|
char c;
|
|
|
|
|
while(1){
|
|
|
|
|
c=getch();
|
|
|
|
|
if(c=='\n'||c=='\r'){
|
|
|
|
|
PassWord[i]=0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
else if(c==BACKSPACE){
|
|
|
|
|
PassWord[--i]='\0';
|
|
|
|
|
putchar(BACKSPACE);
|
|
|
|
|
putchar(' ');
|
|
|
|
|
putchar(BACKSPACE);
|
|
|
|
|
}//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DELETE<54><45>
|
|
|
|
|
else{
|
|
|
|
|
PassWord[i++]=c;
|
|
|
|
|
putchar('*');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
i=0;
|
|
|
|
|
printf("\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룺\n");//ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
while(1){
|
|
|
|
|
c=getch();
|
|
|
|
|
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('*');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
printf("\n");
|
|
|
|
|
int j=Total1();//һ<><D2BB><EFBFBD><EFBFBD>j<EFBFBD><6A><EFBFBD>û<EFBFBD>,Total<61><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>ٸ<EFBFBD><D9B8>û<EFBFBD><C3BB><EFBFBD>
|
|
|
|
|
for(int i=0;i<j;i++){
|
|
|
|
|
fscanf(fp,"%s %s",name,password);//<2F><><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>nameһ<65><D2BB>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>UserName<6D><65><EFBFBD>бȽ<D0B1><C8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ľ<EFBFBD>k++
|
|
|
|
|
if(strcmp(UserName,name)==0){
|
|
|
|
|
k++;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(k==0){
|
|
|
|
|
if(strcmp(PassWord,RePassWord)==0){
|
|
|
|
|
char t;
|
|
|
|
|
fprintf(fp,"%s %s",UserName,PassWord);
|
|
|
|
|
fputs("\n",fp);
|
|
|
|
|
fflush(stdin);
|
|
|
|
|
fclose(fp);
|
|
|
|
|
printf("ע<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD>밴<EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ز˵<EFBFBD>\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
if(t==13){
|
|
|
|
|
Log();
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
home();
|
|
|
|
|
}else {
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>벻һ<EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
Reg();
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
printf("<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD>밴<EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD>밴ESC\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!=13&&t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if(t==13){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
Reg();
|
|
|
|
|
}else if(t==27){
|
|
|
|
|
fclose(fp);
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
home();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><>¼
|
|
|
|
|
void Log(){
|
|
|
|
|
system("cls");
|
|
|
|
|
char UserName[50],PassWord[100];
|
|
|
|
|
char name[50],password[100];
|
|
|
|
|
char c;
|
|
|
|
|
int i=0;
|
|
|
|
|
int k=0;
|
|
|
|
|
char t;
|
|
|
|
|
FILE *fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\<EFBFBD>˺Ź<EFBFBD><EFBFBD><EFBFBD>.txt","r");
|
|
|
|
|
printf("<EFBFBD><EFBFBD>ӭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
while(1){
|
|
|
|
|
c=getch();
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룺\n");
|
|
|
|
|
i=0;
|
|
|
|
|
while(1){
|
|
|
|
|
c=getch();
|
|
|
|
|
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();
|
|
|
|
|
for(int f=0;f<j;f++){
|
|
|
|
|
fscanf(fp,"%s%s",name,password);
|
|
|
|
|
if(strcmp(UserName,name)==0){
|
|
|
|
|
if(strcmp(PassWord,password)==0){
|
|
|
|
|
printf("<EFBFBD><EFBFBD>¼<EFBFBD>ɹ<EFBFBD>\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...\n");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
UserMenu();
|
|
|
|
|
break;
|
|
|
|
|
}else{
|
|
|
|
|
printf("<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>벻ƥ<EFBFBD>䣬<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>¼<EFBFBD>밴<EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>밴Esc\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!=13&&t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if(t==13){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
Log();
|
|
|
|
|
}else if(t==27){
|
|
|
|
|
fclose(fp);
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
home();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
k++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(k==0){
|
|
|
|
|
printf("<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
printf("ע<EFBFBD><EFBFBD><EFBFBD>밴1,<2C><>¼<EFBFBD>밴2<EBB0B4><32><EFBFBD>˳<EFBFBD><CBB3>밴Esc");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!='1'&&t!='2'&&t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if(t=='1'){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
Reg();
|
|
|
|
|
}else if(t=='2'){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
Log();
|
|
|
|
|
}else if(t==27){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
home();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Ա
|
|
|
|
|
void Adm(){
|
|
|
|
|
system("cls");
|
|
|
|
|
char c;
|
|
|
|
|
int k=0;
|
|
|
|
|
char AdminName[50],PassWord[10],t;
|
|
|
|
|
char name[100],password[100];
|
|
|
|
|
int i=0;
|
|
|
|
|
FILE *fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Աר<EFBFBD><EFBFBD>.txt","r");
|
|
|
|
|
printf("<EFBFBD><EFBFBD>ӭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n");
|
|
|
|
|
while(1){
|
|
|
|
|
c=getch();
|
|
|
|
|
if(c=='\r'||c=='\n'){
|
|
|
|
|
AdminName[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')){
|
|
|
|
|
AdminName[i++]=c;
|
|
|
|
|
putchar(c);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룺\n");
|
|
|
|
|
i=0;
|
|
|
|
|
while(1){
|
|
|
|
|
c=getch();
|
|
|
|
|
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;
|
|
|
|
|
for(int f=0;f<j;f++){
|
|
|
|
|
fscanf(fp,"%s%s",name,password);
|
|
|
|
|
if(strcmp(AdminName,name)==0){
|
|
|
|
|
if(strcmp(PassWord,password)==0){
|
|
|
|
|
printf("<EFBFBD><EFBFBD>¼<EFBFBD>ɹ<EFBFBD>\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...\n");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
AdminMenu();
|
|
|
|
|
break;
|
|
|
|
|
}else{
|
|
|
|
|
printf("<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>벻ƥ<EFBFBD>䣬<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>¼<EFBFBD>밴<EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>밴Esc\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!=13&&t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if(t==13){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
Log();
|
|
|
|
|
}else if(t==27){
|
|
|
|
|
fclose(fp);
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
home();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
k++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(k==0){
|
|
|
|
|
printf("<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
printf("<EFBFBD>˳<EFBFBD><EFBFBD>밴Esc");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!='1'&&t!='2'&&t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if(t==27){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
home();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Ա<EFBFBD>˵<EFBFBD>
|
|
|
|
|
int AdminMenu(){
|
|
|
|
|
system("cls");
|
|
|
|
|
char t[10];
|
|
|
|
|
while(1){
|
|
|
|
|
printf("******************************************************************************************\n");
|
|
|
|
|
printf("* ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Version 1.0 BETA<54><41> *\n");
|
|
|
|
|
printf("******************************************************************************************\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* kuo`ni`ji`wa<77><61><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>ˣ<EFBFBD> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* <20><>ʲô<CAB2><C3B4>Ϊ<EFBFBD><CEAA>Ч<EFBFBD>͵<EFBFBD><CDB5><EFBFBD>~ *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>顣 *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* 2<><32>ɾ<EFBFBD><C9BE>ͼ<EFBFBD>顣 *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* 3<><33><EFBFBD><EFBFBD>ѯͼ<D1AF>顣 *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* 4<><34><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* 5<><35>û<EFBFBD><C3BB><EFBFBD>ˣ<EFBFBD><CBA3>˳<EFBFBD><CBB3><EFBFBD> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("******************************************************************************************\n");
|
|
|
|
|
printf("\n\n\t\t\t\t\t\t\t\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>еIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
scanf("%s",&t);
|
|
|
|
|
if(strcmp(t,"1")==0){
|
|
|
|
|
AddBook();
|
|
|
|
|
break;
|
|
|
|
|
}else if(strcmp(t,"2")==0){
|
|
|
|
|
DelBook();
|
|
|
|
|
break;
|
|
|
|
|
}else if(strcmp(t,"3")==0){
|
|
|
|
|
LooBook(1);
|
|
|
|
|
break;
|
|
|
|
|
}else if(strcmp(t,"4")==0){
|
|
|
|
|
FixBook();
|
|
|
|
|
break;
|
|
|
|
|
}else if(strcmp(t,"5")==0){
|
|
|
|
|
printf("Bye~~~");
|
|
|
|
|
return 0;
|
|
|
|
|
}else{
|
|
|
|
|
printf("Wrong");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//<2F>û<EFBFBD><C3BB>˵<EFBFBD>
|
|
|
|
|
int UserMenu(){
|
|
|
|
|
system("cls");
|
|
|
|
|
char t[10];
|
|
|
|
|
while(1)
|
|
|
|
|
{
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("******************************************************************************************\n");
|
|
|
|
|
printf("* ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Version 1.0 BETA<54><41> *\n");
|
|
|
|
|
printf("******************************************************************************************\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* <20><><EFBFBD><EFBFBD>ѽ <20>d(<28>䡤<EFBFBD>ء<EFBFBD><D8A1><EFBFBD>)/: *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* <20>кι<D0BA><CEB9><EFBFBD><EFBFBD>أ<EFBFBD> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* 2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* 3<><33><EFBFBD>Ҿ<EFBFBD><D2BE><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* 4<><34>ûʲô<CAB2><C3B4><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3>ݰ<EFBFBD> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("******************************************************************************************\n");
|
|
|
|
|
printf("\n\n\t\t\t\t\t\t\t\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>еIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
scanf("%s",t);
|
|
|
|
|
if(strcmp(t,"1")==0){
|
|
|
|
|
BroBook();
|
|
|
|
|
break;
|
|
|
|
|
}else if(strcmp(t,"2")==0){
|
|
|
|
|
BacBook();
|
|
|
|
|
break;
|
|
|
|
|
}else if(strcmp(t,"3")==0){
|
|
|
|
|
LooBook(0);
|
|
|
|
|
break;
|
|
|
|
|
}else if(strcmp(t,"4")==0){
|
|
|
|
|
printf("Bye~~~");
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
void BroBook(){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD>ӭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD>\n");
|
|
|
|
|
struct Book *head=NULL;
|
|
|
|
|
struct Book *p,*p1,*p2;
|
|
|
|
|
FILE *fp,*fp1;
|
|
|
|
|
float Price=0;
|
|
|
|
|
char t,ReName[100];
|
|
|
|
|
int Many;
|
|
|
|
|
int n=0,j=0,k=0,flag=0;//k<>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|
|
|
|
char Num[20]={'\0'},Aut[20]={'\0'},Pub[20]={'\0'},Nam[20]={'\0'},Cat[20]={'\0'};
|
|
|
|
|
int Xuehao;
|
|
|
|
|
char Mingzi[20]={'\0'},Riqi[20]={'\0'},Shuming[20]={'\0'};
|
|
|
|
|
fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\ͼ<EFBFBD><EFBFBD>.txt","r");
|
|
|
|
|
if(fp==NULL){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ,<2C><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա,<2C><><EFBFBD>س<EFBFBD><D8B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!=13){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
UserMenu();
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n");
|
|
|
|
|
scanf("%s",ReName);
|
|
|
|
|
j=Total();
|
|
|
|
|
for(int m=0;m<j;m++){
|
|
|
|
|
fscanf(fp,"%s%s%s%s%s%d%f",Num,Nam,Aut,Pub,Cat,&Many,&Price);
|
|
|
|
|
n++;
|
|
|
|
|
if(n==1){
|
|
|
|
|
p1=p2=(struct Book*)malloc(LEN);
|
|
|
|
|
head=p1;
|
|
|
|
|
}else{
|
|
|
|
|
p2->next=p1;
|
|
|
|
|
p2=p1;
|
|
|
|
|
p1=(struct Book*)malloc(LEN);
|
|
|
|
|
}
|
|
|
|
|
strcpy(p1->num,Num);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
strcpy(p1->nam,Nam);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
strcpy(p1->aut,Aut);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
strcpy(p1->pub,Pub);//<2F><><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
strcpy(p1->cat,Cat);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
p1->many=Many;//<2F><><EFBFBD>Ƹ<EFBFBD><C6B8><EFBFBD>
|
|
|
|
|
p1->price=Price;//<2F><><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
if(n==0){
|
|
|
|
|
head=NULL;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
p2->next=p1;
|
|
|
|
|
p1->next=NULL;
|
|
|
|
|
fclose(fp);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
p=head;
|
|
|
|
|
for(;p!=NULL;){
|
|
|
|
|
if(!strcmp(p->nam,ReName)){
|
|
|
|
|
flag=1;
|
|
|
|
|
k=p->many;
|
|
|
|
|
(p->many)--;
|
|
|
|
|
}
|
|
|
|
|
p=p->next;
|
|
|
|
|
}
|
|
|
|
|
if((k>0)&&flag){
|
|
|
|
|
|
|
|
|
|
fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\ͼ<EFBFBD><EFBFBD>.txt","w");
|
|
|
|
|
fclose(fp);
|
|
|
|
|
fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\ͼ<EFBFBD><EFBFBD>.txt","a");
|
|
|
|
|
p=head;
|
|
|
|
|
for(;p!=NULL;){
|
|
|
|
|
fprintf(fp,"%-8d%-8s%-16s%-16s%-16s%-10d%10.2f\n",Num,Nam,Aut,Pub,Cat,Many,Price);
|
|
|
|
|
p=p->next;
|
|
|
|
|
}
|
|
|
|
|
free(p);
|
|
|
|
|
fclose(fp);
|
|
|
|
|
if((fp1=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.txt","r"))==NULL){
|
|
|
|
|
fp1=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.txt","w");
|
|
|
|
|
fclose(fp1);
|
|
|
|
|
}
|
|
|
|
|
fp1=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.txt","a");
|
|
|
|
|
printf("<EFBFBD>밴<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>\n ѧ<><D1A7> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룺\n");
|
|
|
|
|
scanf("%d%s%s%s",&Xuehao,Mingzi,Riqi,Shuming);
|
|
|
|
|
fprintf(fp1,"\n%-8d%-23s%-18s%-10s\n",Xuehao,Mingzi,Riqi,Shuming);
|
|
|
|
|
fclose(fp1);
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>,<2C>밴ʱ<EBB0B4>黹,<2C><>Esc<73><63><EFBFBD>˳<EFBFBD>\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if(t==27){
|
|
|
|
|
UserMenu();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
if(flag!=0){
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD>治<EFBFBD><EFBFBD>\n,<2C><>Esc<73><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
while(t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
UserMenu();
|
|
|
|
|
}else{
|
|
|
|
|
printf("û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>鼮\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Esc<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
while(t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
UserMenu();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
void BacBook(){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("BacBook\n");
|
|
|
|
|
system("pause");
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
void LooBook(int n){
|
|
|
|
|
system("cls");
|
|
|
|
|
while(1){
|
|
|
|
|
char t;
|
|
|
|
|
printf("******************************************************************************************\n");
|
|
|
|
|
printf("* ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Version 1.0 BETA<54><41> *\n");
|
|
|
|
|
printf("******************************************************************************************\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* 2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߲<EFBFBD><DFB2><EFBFBD> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* 3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *\n");
|
|
|
|
|
printf("* *\n");
|
|
|
|
|
printf("* <20><>ESC<53><43><EFBFBD><EFBFBD> *\n");
|
|
|
|
|
printf("******************************************************************************************\n");
|
|
|
|
|
printf("\n\n\t\t\t\t\t\t\t\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>еIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!='1'&&t!='2'&&t!='3'&&t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if(t=='1'){
|
|
|
|
|
SBNam();
|
|
|
|
|
break;
|
|
|
|
|
}else if(t=='2'){
|
|
|
|
|
SBAut();
|
|
|
|
|
break;
|
|
|
|
|
}else if(t=='3'){
|
|
|
|
|
SBCat();
|
|
|
|
|
break;
|
|
|
|
|
}else if(t==27){
|
|
|
|
|
if(n==0){
|
|
|
|
|
UserMenu();
|
|
|
|
|
}else if(n==1){
|
|
|
|
|
AdminMenu();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int SBAut(){
|
|
|
|
|
system("cls");
|
|
|
|
|
struct Book *head;
|
|
|
|
|
struct Book *p1,*p2;
|
|
|
|
|
FILE *fp;
|
|
|
|
|
int n=0;
|
|
|
|
|
int m=0,Many=0;
|
|
|
|
|
float Price=0;
|
|
|
|
|
char t,ReName[100];
|
|
|
|
|
int i=0,k=0,j=0;
|
|
|
|
|
char Num[20]={'\0'},Aut[20]={'\0'},Pub[20]={'\0'},Nam[20]={'\0'},Cat[20]={'\0'};
|
|
|
|
|
if((fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\ͼ<EFBFBD><EFBFBD>.txt","r"))==NULL){
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD>ESC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
UserMenu();
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>\n");
|
|
|
|
|
scanf("%s",ReName);
|
|
|
|
|
j=Total();
|
|
|
|
|
for(int i=0;i<j;i++){
|
|
|
|
|
fscanf(fp,"%s%s%s%s%s%d%f",Num,Nam,Aut,Pub,Cat,&Many,&Price);
|
|
|
|
|
if(strcmp(Aut,ReName)==0){
|
|
|
|
|
if(k==0){
|
|
|
|
|
printf("<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t\t<EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD>\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
}
|
|
|
|
|
k++;
|
|
|
|
|
printf("%-8s%-8s%-16s%-16s%-16s%-10d%10.2f\n",Num,Nam,Aut,Pub,Cat,Many,Price);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(k==0){
|
|
|
|
|
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鼮\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD>Esc<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD>,<2C><><EFBFBD>س<EFBFBD><D8B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!=13&&t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if(t==13){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
SBAut();
|
|
|
|
|
}else if(t==27){
|
|
|
|
|
fclose(fp);
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
UserMenu();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD>밴<EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>밴ESC\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!=13&&t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if(t==13){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
SBAut();
|
|
|
|
|
}else if(t==27){
|
|
|
|
|
fclose(fp);
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
UserMenu();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
system("pause");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int SBNam(){
|
|
|
|
|
system("cls");
|
|
|
|
|
struct Book *head;
|
|
|
|
|
struct Book *p1,*p2;
|
|
|
|
|
FILE *fp;
|
|
|
|
|
int n=0;
|
|
|
|
|
int m=0,Many=0;
|
|
|
|
|
float Price=0;
|
|
|
|
|
char t,ReName[100];
|
|
|
|
|
int i=0,k=0,j=0;
|
|
|
|
|
char Num[20]={'\0'},Aut[20]={'\0'},Pub[20]={'\0'},Nam[20]={'\0'},Cat[20]={'\0'};
|
|
|
|
|
if((fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\ͼ<EFBFBD><EFBFBD>.txt","r"))==NULL){
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD>ESC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
UserMenu();
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>\n");
|
|
|
|
|
scanf("%s",ReName);
|
|
|
|
|
j=Total();
|
|
|
|
|
for(int i=0;i<j;i++){
|
|
|
|
|
fscanf(fp,"%s%s%s%s%s%d%f",Num,Nam,Aut,Pub,Cat,&Many,&Price);
|
|
|
|
|
if(strcmp(Nam,ReName)==0){
|
|
|
|
|
if(k==0){
|
|
|
|
|
printf("<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t\t<EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD>\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
}
|
|
|
|
|
k++;
|
|
|
|
|
printf("%-8s%-8s%-16s%-16s%-16s%-10d%10.2f\n",Num,Nam,Aut,Pub,Cat,Many,Price);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(k==0){
|
|
|
|
|
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鼮\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD>Esc<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD>,<2C><><EFBFBD>س<EFBFBD><D8B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!=13&&t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if(t==13){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
SBAut();
|
|
|
|
|
}else if(t==27){
|
|
|
|
|
fclose(fp);
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
UserMenu();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD>밴<EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>밴ESC\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!=13&&t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if(t==13){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
SBAut();
|
|
|
|
|
}else if(t==27){
|
|
|
|
|
fclose(fp);
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
UserMenu();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int SBCat(){
|
|
|
|
|
system("cls");
|
|
|
|
|
struct Book *head;
|
|
|
|
|
struct Book *p1,*p2;
|
|
|
|
|
FILE *fp;
|
|
|
|
|
int n=0;
|
|
|
|
|
int m=0,Many=0;
|
|
|
|
|
float Price=0;
|
|
|
|
|
char t,ReName[100];
|
|
|
|
|
int i=0,k=0,j=0;
|
|
|
|
|
char Num[20]={'\0'},Aut[20]={'\0'},Pub[20]={'\0'},Nam[20]={'\0'},Cat[20]={'\0'};
|
|
|
|
|
if((fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\ͼ<EFBFBD><EFBFBD>.txt","r"))==NULL){
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD>ESC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
UserMenu();
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
scanf("%s",ReName);
|
|
|
|
|
j=Total();
|
|
|
|
|
for(int i=0;i<j;i++){
|
|
|
|
|
fscanf(fp,"%s%s%s%s%s%d%f",Num,Nam,Aut,Pub,Cat,&Many,&Price);
|
|
|
|
|
if(strcmp(Cat,ReName)==0){
|
|
|
|
|
if(k==0){
|
|
|
|
|
printf("<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\t\t<EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD>\t\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
}
|
|
|
|
|
k++;
|
|
|
|
|
printf("%-8s%-8s%-16s%-16s%-16s%-10d%10.2f\n",Num,Nam,Aut,Pub,Cat,Many,Price);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(k==0){
|
|
|
|
|
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鼮\n");
|
|
|
|
|
printf("<EFBFBD><EFBFBD>Esc<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD>,<2C><><EFBFBD>س<EFBFBD><D8B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!=13&&t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if(t==13){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
SBAut();
|
|
|
|
|
}else if(t==27){
|
|
|
|
|
fclose(fp);
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
UserMenu();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD>밴<EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>밴ESC\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
while(t!=13&&t!=27){
|
|
|
|
|
t=getch();
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if(t==13){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
Sleep(1000);
|
|
|
|
|
SBAut();
|
|
|
|
|
}else if(t==27){
|
|
|
|
|
fclose(fp);
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת...");
|
|
|
|
|
UserMenu();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>鼮
|
|
|
|
|
void AddBook(){
|
|
|
|
|
system("cls");
|
|
|
|
|
int Many;
|
|
|
|
|
float Price;
|
|
|
|
|
FILE *fp;
|
|
|
|
|
int i;
|
|
|
|
|
char Num[20]={'\0'},Aut[20]={'\0'},Pub[20]={'\0'},Nam[20]={'\0'},Cat[20]={'\0'};
|
|
|
|
|
if((fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\ͼ<EFBFBD><EFBFBD>.txt","r"))==NULL){
|
|
|
|
|
fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\ͼ<EFBFBD><EFBFBD>.txt","w");
|
|
|
|
|
fclose(fp);
|
|
|
|
|
}
|
|
|
|
|
fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\ͼ<EFBFBD><EFBFBD>.txt","a");
|
|
|
|
|
printf("\n<EFBFBD>밴<EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ:\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>\n");
|
|
|
|
|
for(;i!=27;)//Ϊ<><CEAA>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>κ<EFBFBD><CEBA><EFBFBD>esc<73>˳<EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n");
|
|
|
|
|
scanf("%s%s%s%s%s%d%f",Num,Nam,Aut,Pub,Cat,&Many,&Price);
|
|
|
|
|
fprintf(fp,"%-8s%-9s%-14s%-16s%-18s%-7d%-8.2f\n",Num,Nam,Aut,Pub,Cat,Many,Price);
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>밴<EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>밴Esc\n");
|
|
|
|
|
i=getch();//<2F><>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD><69><EFBFBD>պ<EFBFBD><D5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ָ<EFBFBD><D6B8>
|
|
|
|
|
for (;i!=13&&i!=27;)//<2F><>ֻ֤<D6A4><D6BB><EFBFBD><EFBFBD>CR<43><52>ESC<53><43><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>ѭ<EFBFBD><D1AD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>'CR'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
i=getch();
|
|
|
|
|
}
|
|
|
|
|
fclose(fp);
|
|
|
|
|
printf("\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>!");
|
|
|
|
|
getch();
|
|
|
|
|
AdminMenu();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//ɾ<><C9BE><EFBFBD>鼮
|
|
|
|
|
void DelBook(){
|
|
|
|
|
system("cls");
|
|
|
|
|
struct Book *head;
|
|
|
|
|
struct Book *p,*p1,*p2;
|
|
|
|
|
FILE *fp;
|
|
|
|
|
int n=0;
|
|
|
|
|
int m=0,Many=0;
|
|
|
|
|
float Price=0;
|
|
|
|
|
char t;
|
|
|
|
|
int i=0,k=0,j=0;
|
|
|
|
|
char Num[20]={'\0'},Aut[20]={'\0'},Pub[20]={'\0'},Nam[20]={'\0'},Cat[20]={'\0'};
|
|
|
|
|
char ReName[20]={'\0'};
|
|
|
|
|
if((fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\ͼ<EFBFBD><EFBFBD>.txt","r"))==NULL){
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
AdminMenu();
|
|
|
|
|
}else{
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鼮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n");
|
|
|
|
|
scanf("%s",ReName);
|
|
|
|
|
printf("<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ESC<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>\n");
|
|
|
|
|
for(;t!=13&&t!=27;)
|
|
|
|
|
t=getch();
|
|
|
|
|
if(t==27){
|
|
|
|
|
AdminMenu();
|
|
|
|
|
}
|
|
|
|
|
fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\ͼ<EFBFBD><EFBFBD>.txt","r");
|
|
|
|
|
j=Total();
|
|
|
|
|
|
|
|
|
|
for(k=0;k<j;k++){
|
|
|
|
|
fscanf(fp,"%s%s%s%s%s%d%f",Num,Nam,Aut,Pub,Cat,&Many,&Price);
|
|
|
|
|
if(strcmp(Nam,ReName)){
|
|
|
|
|
n++;
|
|
|
|
|
if(n==1){
|
|
|
|
|
p1=p2=(struct Book*)malloc(LEN);
|
|
|
|
|
head=p1;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
p2->next =p1;
|
|
|
|
|
p2=p1;
|
|
|
|
|
p1=(struct Book*)malloc(LEN);
|
|
|
|
|
}
|
|
|
|
|
strcpy(p1->num,Num);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
strcpy(p1->nam,Nam);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
strcpy(p1->aut,Aut);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
strcpy(p1->pub,Pub);//<2F><><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
strcpy(p1->cat,Cat);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
p1->many=Many;//<2F><><EFBFBD>Ƹ<EFBFBD><C6B8><EFBFBD>
|
|
|
|
|
p1->price=Price;//<2F><><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(n==0){
|
|
|
|
|
head=NULL;
|
|
|
|
|
}else{
|
|
|
|
|
p2->next=p1;
|
|
|
|
|
p1->next=NULL;
|
|
|
|
|
fclose(fp);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\ͼ<EFBFBD><EFBFBD>.txt","w");
|
|
|
|
|
fclose(fp);
|
|
|
|
|
fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\ͼ<EFBFBD><EFBFBD>.txt","a");
|
|
|
|
|
p=head;
|
|
|
|
|
|
|
|
|
|
for(;p!=NULL;){
|
|
|
|
|
fprintf(fp,"%-8s%-9s%-14s%-16s%-18s%-7d%-8.2f\n",p->num,p->nam,p->aut,p->pub,p->cat,p->many,p->price);
|
|
|
|
|
p=p->next;
|
|
|
|
|
}
|
|
|
|
|
fclose(fp);
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("ɾ<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>\n");
|
|
|
|
|
t=getch();
|
|
|
|
|
AdminMenu();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><EFBFBD><DEB8>鼮
|
|
|
|
|
void FixBook(){
|
|
|
|
|
system("cls");
|
|
|
|
|
printf("FixBook\n");
|
|
|
|
|
system("pause");
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int Total(){
|
|
|
|
|
FILE *fp;
|
|
|
|
|
int txcl=0,n;
|
|
|
|
|
float tprice=0;
|
|
|
|
|
char tname[20]={'\0'},tauthor[20]={'\0'},tchuban[20]={'\0'},tkind[20]={'\0'},tshuhao[20]={'\0'};
|
|
|
|
|
|
|
|
|
|
fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\ͼ<EFBFBD><EFBFBD>.txt","r");//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
for (n=0;!feof(fp);n++)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
fscanf(fp,"%s%s%s%s%s%d%f",tshuhao,tname,tauthor,tchuban,tkind,&txcl,&tprice);
|
|
|
|
|
n--;//<2F><>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|
|
|
|
fclose(fp);//<2F>ر<EFBFBD><D8B1>ļ<EFBFBD>
|
|
|
|
|
return (n);//<2F><><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
int Total1(){
|
|
|
|
|
int n;
|
|
|
|
|
char name[100],password[100];
|
|
|
|
|
FILE *fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\<EFBFBD>˺Ź<EFBFBD><EFBFBD><EFBFBD>.txt","r");
|
|
|
|
|
for(n=0;!feof(fp);n++){
|
|
|
|
|
fscanf(fp,"%s%s",name,password);
|
|
|
|
|
}
|
|
|
|
|
n--;
|
|
|
|
|
fclose(fp);
|
|
|
|
|
return (n);
|
|
|
|
|
}
|
|
|
|
|
int Total2(){
|
|
|
|
|
int n;
|
|
|
|
|
int num;
|
|
|
|
|
char username[20],time[20],name[20];
|
|
|
|
|
FILE *fp=fopen("D:\\ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ\\<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.txt","r");
|
|
|
|
|
for(n=0;!feof(fp);n++){
|
|
|
|
|
fscanf(fp,"%d%s%s%s",num,username,time,name);
|
|
|
|
|
}
|
|
|
|
|
n--;
|
|
|
|
|
fclose(fp);
|
|
|
|
|
return (n);
|
|
|
|
|
}
|