civ_java 发布留言 2008-10-26 19:16 急求解决参数传递的问题原程序CODE,哎,想了好久没搞出,明天就要交了[qq]376803046[/qq] 报的是这个错误:“错误 43 error C2660: 'RecordLend2' : function does not take 1 arguments d:\图书馆管理系统\library manages system.cpp 745 ” #include #include #include #include #include #define N 20 #define U 10000 #define B 100000
//管理员结构 struct Admin { char A_number[4];//管理员编号 char A_name[20];//管理员姓名 char A_password[7];//管理员密码
}arr_admin[N]={{"001","Admin","123456"},{"002","admin","654321"}};//定义一个大小为20的结构数组的变量 arr_admin,用于存储管理员信息
//用户结构 struct User { char U_number[4];//用户编号 char U_name[20];//用户姓名 char U_password[7];//用户密码
}arr_user[U]={"101","user","123456"};//定义一个大小为10000的结构数组的变量 arr_user,用于存储用户信息
//书籍结构 struct Book { char b_number[10];//书籍编号 char b_name[20];//书名 bool b_fs;//书籍是否借出 char b_type[20];//书籍类型 int b_Lenddate;//书籍借出日期 int b_Givedate;//书籍还进日期 char b_Position[6];//书籍所在位置 char b_Lenduser[20];//借书人姓名 int b_judge;//用于在给结构数组赋值时定位到有值的下一位
}arr_bk;//定义一个局部变量 char 类型的数组 p_number 用于接受输入管理员编号 char p_name[20];//定义一个局部变量 char 类型的数组 p_name 用于接受输入管理员姓名 char p_password[7];//定义一个局部变量 char 类型的数组 p_password 用于接受输入管理员密码 printf(" 管理员登陆\n"); printf(" -----------------------------------------------------\n"); printf(" 请输入管理员编号:"); fflush(stdin); gets(p_number); printf("\n"); printf(" 请输入管理员姓名:"); fflush(stdin); scanf("%s",&p_name); printf("\n"); printf(" 请输入管理员密码:"); //用一个 for 循环接受用户输入密码,利用 getch 不回显的特性使密码变为不可见 for(int i=0;i<7;i++) { p_password==8) { printf("\b \b"); p_password='\0';//清空 p_password[6] 的内容 for(int i=0;i { int str_number=strcmp(p_number,arr_admin.A_name); int str_password=strcmp(p_password,arr_admin;//定义一个局部变量 char 类型的数组 p_number 用于接受输入用户编号 char p_name[20];//定义一个局部变量 char 类型的数组 p_name 用于接受输入用户姓名 char p_password[7];//定义一个局部变量 char 类型的数组 p_password 用于接受输入用户密码 printf(" 用户登陆\n"); printf(" -----------------------------------------------------\n"); printf(" 请输入用户编号:"); fflush(stdin); gets(p_number); printf("\n"); printf(" 请输入用户名:"); fflush(stdin); scanf("%s",&p_name); printf("\n"); printf(" 请输入用户密码:"); //用一个 for 循环接受用户输入密码,利用 getch 不回显的特性使密码变为不可见 for(int i=0;i<7;i++) { p_password==8) { printf("\b \b"); p_password='\0';//清空 p_password[6] 的内容 for(int i=0;i { int str_number=strcmp(p_number,arr_user.U_name); int str_password=strcmp(p_password,arr_user.b_judge!=0) { Count++; } } printf(" 用户查询书籍 \n"); printf("\n"); printf("\t≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌\n"); printf("\t≮ ≯\n"); printf("\t≮ 1—— 科学类 ≯\n"); printf("\t≮ ≯\n"); printf("\t≮ 2—— 文学类 ≯\n"); printf("\t≮ ≯\n"); printf("\t≮ 3—— 工具书 ≯\n"); printf("\t≮ ≯\n"); printf("\t≮ 0—— 其它 ≯\n"); printf("\t≮ ≯\n"); printf("\t≮ →\n"); printf("\t≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌\n\n\n\n\n"); printf("请选择(0-3):"); fflush(stdin);//清除缓冲 scanf("%d",&s); switch(s) { case 0: system("cls"); logo(); printf("\n"); int Other;//定义一个 int 类型的变量 Other 用于存储对比后的返回值 printf("书籍编号 书名 书籍类型 书籍借出日期 书籍还进日期 书籍所在位置\n"); for(int i=0;i { Other=strcmp(arr_bk.b_type,"科学类"); Literature=strcmp(arr_bk.b_type,"工具书"); if(Other==0 || (Science!=0 && Literature!=0 && Toolbook!=0)) { printf("%s %s\t%s\t\t%d\t%d\t\t%s\n",arr_bk.b_name,arr_bk.b_Lenddate,arr_bk.b_Position); } } printf("\n\n\n\n\n\n"); printf("按任意键退出……"); getch(); ExitSearch();//退出查询 break;
case 1: system("cls");//清屏 logo(); printf("\n"); int Science;//定义一个 int 类型的变量 Science 用于存储对比后的返回值 printf("书籍编号 书名 书籍类型 书籍借出日期 书籍还进日期 书籍所在位置\n"); for(int i=0;i { Science=strcmp(arr_bk.b_number,arr_bk.b_type,arr_bk.b_Givedate,arr_bk.b_type,"文学类"); if(Literature==0) { printf("%s %s\t%s\t\t%d\t%d\t\t%s\n",arr_bk.b_name,arr_bk.b_Lenddate,arr_bk.b_Position); } } printf("\n\n\n\n\n\n"); printf("按任意键退出……"); getch(); ExitSearch();//退出查询 break;
case 3: system("cls");//清屏 logo(); printf("\n"); int Toolbook;//定义一个 int 类型的变量 Toolbook 用于存储对比后的返回值 printf("书籍编号 书名 书籍类型 书籍借出日期 书籍还进日期 书籍所在位置\n"); for(int i=0;i { Toolbook=strcmp(arr_bk.b_number,arr_bk.b_type,arr_bk.b_Givedate,arr_bk.b_fs) { printf("%s %s\t%s\t\t%d\t%d\t%s\t\t%s\n",arr_bk.b_name,arr_bk.b_Lenddate,arr_bk.b_Lenduser,arr_bk.b_judge!=0) { Count++; } } printf("书籍编号\t书名\t书籍类型 \t书籍所在位置\n"); for(int i=0;i { if(arr_bk.b_number,arr_bk.b_type,arr_bk;//定义一个局部变量 char 类型的数组 p_number 用于接受输入用户编号 char p_name[20];//定义一个局部变量 char 类型的数组 p_name 用于接受输入用户姓名 char p_password[7];//定义一个局部变量 char 类型的数组 p_password 用于接受输入用户密码 char name[20];//定义一个局部变量 char 类型的数组 name 用于参数的传递 int R;//定义一个局部变量 int 类型的 R 用于接受输入判断是否返回主菜单 printf("请输入你的借书证信息!\n"); printf(" 请输入用户编号:"); fflush(stdin); gets(p_number); printf("\n"); printf(" 请输入用户名:"); fflush(stdin); scanf("%s",&p_name); printf("\n"); printf(" 请输入用户密码:"); //用一个 for 循环接受用户输入密码,利用 getch 不回显的特性使密码变为不可见 for(int i=0;i<7;i++) { p_password==8)
{ printf("\b \b"); p_password='\0';//清空 p_password[6] 的内容 for(int i=0;i { int str_number=strcmp(p_number,arr_user.U_name); int str_password=strcmp(p_password,arr_user=p_name[k]; //} RecordLend2(p_name);//将数组值参数传递 } else if(i==U-1) { if(pdcount>2) { printf("\n\t\t\t您的输入以达到最高次数……无权再次输入!"); printf("\n\t\t\t按任意键返回到上一级……"); getch(); AdminOperate(); } if(i==U-1) { printf("\n\n\n\t\t\t您输入有误……请重新输入!"); pdcount++;//用户输入一次密码,计数器累加1 getch(); RecordLend(); } } else { continue; } }
}
//登记用户借出的书籍2 void RecordLend2(char n[]) { bool b=false; int bk_date;//定义一个局部变量 int 类型的 bk_date 用于接受管理员输入借书时间 char bk_number[10];//定义一个局部变量 char 类型的数组 bk_number 用于接受管理员输入用户要借的书籍编号 system("cls");//清屏 logo(); printf("\n"); int judge; int Count=0; for(int i=0;i { if(arr_bk.b_number)==0) { printf("请输入当前日期:\n"); fflush(stdin); scanf("%d",&bk_date); for(int j=0;j { if(strcmp(arr_bk[j].b_number,bk_number)==0) { arr_bk[j].b_fs=true; arr_bk[j].b_Lenddate=bk_date; for(int k=0;k { arr_bk[j].b_Lenduser[k]=n[k]; } b = true; printf("登记成功!"); printf("请按任意键退出!\n"); getch(); CtLendbook(); } } } if(b==false && i==Count-1) { printf("没有此编号的书籍!"); printf("按任意键重新输入……"); getch(); RecordLend2(); }
} }
//登记用户所还的书籍 void Returnbook() { logo(); int other; char name[10]; int judge; int Count=0; for(int i=0;i { if(arr_bk.b_name); if(other==0) { printf("\t借书人\t借书日期\t所借书籍\t书籍位置\n"); printf("\t %s \t %d \t\t %s \t %s",arr_bk.b_Lenddate,arr_bk.b_Position); printf("\n\n\n"); printf("\t\t请输入还书日期:"); scanf("%d",&arr_bk.b_fs=false; printf("\n\n\n"); printf("\t\t还书成功……请把书籍放到指定位置!!!"); printf("按任意键继续还书……"); getch(); CtRbook(); } if(i==Count-1) { if(other!=0) { if(pdcount>2) { printf("\n\t\t\t您的输入以达到最高次数……无权再次输入!"); printf("\n\t\t\t按任意键返回到上一级……"); getch(); AdminOperate(); } else { pdcount++;//用户输入一次密码,计数器累加1 printf("\n\n\n\n"); printf("\t\t对不起,此本书未借出或不是本馆的书籍。请按任意键从新输入!!!"); getch(); Returnbook(); } } } }
}
//增加管理员 void AddAdmin() { char input; //用来记录用户是否继续 logo();//调用logo()函数用于设置时间、日期与欢迎语 char num[10]; int Count=2; //用来记录管理员结构的个数 for(int i=Count;i { printf("请输入要增加的管理员编号:\n"); fflush(stdin); gets(arr_admin.A_name); printf("请输入要增加的管理员密码:\n"); fflush(stdin); for(int p=0;p<6;p++) { arr_admin=getch(); printf("*"); } arr_admin[Count].A_password[6]='\0'; gets(num); printf("增加成功!!!\n"); Count++; printf("是否继续增加 y/n ?"); fflush(stdin); input=getchar(); gets(num); if(input=='y'||input=='Y') { continue; } else { AdminOperate(); break; } } }
//删除管理员 void DelAdmin() { char input;//用来记录用户是否继续 int Count=2; //用来记录管理员结构的个数 logo();//调用logo()函数用于设置时间、日期与欢迎语 char number[4]; char name[20]; char password[7]; printf("请输入您要删除的编号:"); fflush(stdin); gets(number); for(int i=0;i { if(strcmp(number,arr_admin.A_name[j]='\0'; arr_admin='\0'; arr_admin='\0'; }
printf("删除成功!\n\n");
printf("是否继续删除 y/n ?"); /*fflush(stdin); o=getchar();*/ fflush(stdin); scanf("%c",&input);; if(input=='y'|| input=='Y') { DelAdmin(); } else { AdminOperate(); }
} if(i==N-1) { printf("对不起没找到你输入的信息.……按任意键重新输入"); getch(); DelAdmin(); break; } }
}
//增加用户 void AddUser() { char input; //用来记录用户是否继续 logo();//调用logo()函数用于设置时间、日期与欢迎语 char num[10]; int Count=2; //用来记录用户结构的个数 for(int i=Count;i { printf("请输入要增加的用户编号:\n"); fflush(stdin); gets(arr_user.U_name); printf("请输入要增加的用户密码:\n"); fflush(stdin); for(int p=0;p<6;p++) { arr_user=getch(); printf("*"); } arr_user[Count].U_password[6]='\0'; gets(num); printf("增加成功!!!\n"); Count++; printf("是否继续增加 y/n ?"); fflush(stdin); input=getchar(); gets(num); if(input=='y'||input=='Y') { continue; } else { AdminOperate(); break; } } }
//删除用户 void DelUser() { char input;//用来记录用户是否继续 int Count=2; //用来记录管理员结构的个数 logo();//调用logo()函数用于设置时间、日期与欢迎语 char number[4]; char name[20]; char password[7]; printf("请输入您要删除的编号:"); fflush(stdin); scanf("%s",&number);; for(int i=0;i { if(strcmp(number,arr_user.U_number[j]='\0'; arr_user='\0'; arr_user='\0'; }
printf("删除成功!\n\n");
printf("是否继续删除 y/n ?"); /*fflush(stdin); o=getchar();*/ fflush(stdin); scanf("%c",&input);; if(input=='y'|| input=='Y') { DelAdmin(); } else { AdminOperate(); }
} if(i==N-1) { printf("对不起没找到你输入的信息.……按任意键重新输入"); getch(); DelAdmin(); break; } } }
//增加书籍 void AddBook() { system("cls"); logo(); printf("增加书籍"); char input; int judge; int Count=0; for(int i=0;i { if(arr_bk.b_number); printf("请输入要增加的书名:"); fflush(stdin); scanf("%s",&arr_bk.b_type); printf("请输入要增加的书籍存放位置:"); fflush(stdin); scanf("%s",&arr_bk.b_judge); printf("\n增加成功!!!\n\t\t\t是否继续添加书籍? Y or N ?"); printf("\n"); printf("\t\t\t\t----->"); fflush(stdin); scanf("%c",&input); if(input =='y'||input=='Y') { AddBook(); } if(input =='n'||input=='N') { AdminOperate(); }
} }
//删除书籍 void DelBook() { char name[10]; char ch; system("cls"); logo(); int judge; int Count=0; for(int i=0;i { if(arr_bk.b_name)==0) { for(int j=0;j<4;j++) { arr_bk='\0'; arr_bk='\0'; arr_bk='\0'; arr_bk='\0';
} printf("\t\t删除成功!!\n\n"); getch(); printf("\t\t是否继续删除:y or n ?"); printf("\n"); printf("\t\t\t-->"); fflush(stdin); scanf("%s",&ch); if(ch =='y'||ch=='Y') { DelBook(); } if(ch =='n'||ch=='N') { AdminOperate(); }
} if(strcmp(name,arr_bk 特别说明:如网页特效代码中有引用图片文件等,请自己下载到本地调试! |