C语言
来源:互联网 发布:温度显示软件 编辑:程序博客网 时间:2024/06/04 00:32
#include <bits/stdc++.h>#include <windows.h>#include <conio.h>#include <io.h>using namespace std;int Adp; /// 管理员密码int pdt; /// 比较密码int cnt = 0; /// 图书当前本数int N = 0; /// 记录用户数目struct user /// 用户{ int id; /// 用户名 int pd; /// 密码 char name[20]; /// 姓名 int age; /// 年龄 int sex; /// 性别 1、男 2、女 char tel[20]; /// 联系方式} user[101];struct book{ int num; /// 书号 char name[20]; /// 书名 char writer[20]; /// 作者 char publish[20]; /// 出版社 char publishtime[20]; /// 出版时间 double price; ///价格 int state; /// 借阅状态} book[101];/*** 功能:保存用户信息** 时间:17/7/8*/void saveUser(){ FILE *fp = fopen("user.txt", "w"); for (int i = 1; i <= 100; i++) { if (strcmp(user[i].name, "") == 0) strcpy(user[i].name, "-"); if (strcmp(user[i].tel, "") == 0) strcpy(user[i].tel, "-"); fprintf(fp, "%d %d %s %d %d %s\n", user[i].id, user[i].pd, user[i].name, user[i].age, user[i].sex, user[i].tel); } fprintf(fp, "%d\n", N); fclose(fp);}/*** 功能:读取用户信息** 时间:17/7/8*/void loadUser(){ FILE *fp = fopen("user.txt", "r"); for (int i = 1; i <= 100; i++) { fscanf(fp, "%d%d%s%d%d%s", &user[i].id, &user[i].pd, user[i].name, &user[i].age, &user[i].sex, user[i].tel); } fscanf(fp, "%d", &N); fclose(fp);}/*** 功能:保存书籍信息** 时间:17/7/8*/void saveBook(){ FILE *fp = fopen("book.txt", "w"); for (int i = 1; i <= 100; i++) { if (strcmp(book[i].name, "") == 0) strcpy(book[i].name, "-"); if (strcmp(book[i].writer, "") == 0) strcpy(book[i].writer, "-"); if (strcmp(book[i].publish, "") == 0) strcpy(book[i].publish, "-"); if (strcmp(book[i].publishtime, "") == 0) strcpy(book[i].publishtime, "-"); fprintf(fp, "%d %s %s %s %s %lf %d\n", book[i].num, book[i].name, book[i].writer, book[i].publish, book[i].publishtime, book[i].price, book[i].state); } fprintf(fp, "%d\n", cnt); fclose(fp);}/*** 功能:读取书籍信息** 时间:17/7/8*/void loadBook(){ FILE *fp = fopen("book.txt", "r"); for (int i = 1; i <= 100; i++) { fscanf(fp, "%d %s %s %s %s %lf %d\n", &book[i].num, book[i].name, book[i].writer, book[i].publish, book[i].publishtime, &book[i].price, &book[i].state); } fscanf(fp, "%d", &cnt); fclose(fp);}/*** 功能:输入隐藏密码** 时间:17/7/8*/int psWd(){ char ch; int num[6]; int m=0; while(m<6) { ch=getch(); num[m]=ch-'0'; printf("*"); m++; } int pwd=num[0]*100000+num[1]*10000+num[2]*1000+num[3]*100+num[4]*10+num[5]; printf("\n"); return pwd;}/*** 功能:更改管理员密码** 时间:17/7/8*/void ChangeAdp(){ while(true) { printf("\t\t\t 请输入六位新密码:\n\n"); printf("\t\t\t"); pdt = psWd(); printf("\t\t\t 请确认密码:\n\n"); printf("\t\t\t"); Adp = psWd(); if(pdt == Adp) { MessageBox (NULL,TEXT("密码修改成功!"), TEXT("Tips"),MB_OK); FILE * fp = fopen("admin.txt", "w"); fprintf(fp, "%d", Adp); fclose(fp); return; } else { MessageBox (NULL,TEXT("两次密码输入不一致,请重新输入"), TEXT("Tips"),MB_OK); } }}/*** 功能:提示** 时间:17/7/8*/void Tips(){ int i; printf("\n\n\n\n\t\t==========================================\n\n"); printf("\n\n\n\t\t\t\t正在初始化"); for(i=0; i<=100; i++) { printf("%02d%%",i); Sleep(10); printf("\b\b\b"); } printf("\n\n\t\t\t\t初始化成功\n"); printf("\n\n\n\t\t==========================================\n\n"); Sleep(1000); system("cls"); MessageBox (NULL,TEXT("欢迎使用图书管理系统!"), TEXT("欢迎"),MB_OK); printf("\t\t==========================================\n\n"); printf("\t\t|| 欢迎使用图书管理系统 ||\n\n"); printf("\t\t==========================================\n\n"); if (access("admin.txt", 0)) { printf("\t\t|| * 管理员请更改初始密码 * ||\n\n"); printf("\t\t==========================================\n\n"); ChangeAdp(); } else { FILE * fp = fopen("admin.txt", "r"); fscanf(fp, "%d", &Adp); fclose(fp); }}/*** 功能:系统选择界面** 时间:17/7/8*/int systemChoose(){ system("cls"); int choose; printf("\t\t===========================================\n\n"); printf("\t\t|| 欢迎使用图书管理系统 ||\n\n"); printf("\t\t===========================================\n\n"); printf("\t\t|| 1 ==> 用户系统 ||\n\n"); printf("\t\t|| 2 ==> 管理员系统 ||\n\n"); printf("\t\t|| 0 ==> 退出 ||\n\n"); printf("\t\t===========================================\n\n"); printf("\t\t\t请选择您要登录的系统:"); scanf("%d",&choose); return choose;}/*** 功能:图书书号查重** 时间:17/7/8*/int booknumCheck(int idt){ int flag,i; flag = 1; for(i = 1; i <= cnt; i++) { if(book[i].num == idt) { flag = 0; } else { flag = 1; } } return flag;}/*** 功能:用户ID查重** 时间:17/7/11*/int useridCheck(int idt){ int flag,i; flag = 1; for(i = 1; i <= N; i++) { if(user[i].id == idt) { flag = 0; } else { flag = 1; } } return flag;}void admSystem();/*** 功能:管理员系统の图书信息录入** 时间:17/7/9*/void informationEntry(){ while(true) { system("cls"); int choose; int num,i,flag; /// 如果flag == 1 则书号合法 int idt; printf("\t\t===========================================\n\n"); printf("\t\t|| 欢迎使用图书管理系统の图书信息录入 ||\n\n"); printf("\t\t===========================================\n\n"); printf("\t\t\t请输入您要录入的图书本数:"); scanf("%d",&num); for(i = 1; i <= num; i++) { while(true) { printf("\t\t\t请输入您要录入的图书书号:"); scanf("%d",&idt); flag = booknumCheck(idt); if(flag == 1) { ///MessageBox (NULL,TEXT("图书书号录入成功!"), TEXT("Tips"),MB_OK); book[cnt+1].num = idt; break; } else { MessageBox (NULL,TEXT("图书书号已存在!请重新输入"), TEXT("Tips"),MB_OK); } } printf("\t\t\t请输入您要录入的图书书名:"); scanf("%s",book[cnt+1].name); printf("\t\t\t请输入您要录入的图书作者:"); scanf("%s",book[cnt+1].writer); printf("\t\t\t请输入您要录入的图书出版社:"); scanf("%s",book[cnt+1].publish); printf("\t\t\t请输入您要录入的图书时间(XXXX.XX.XX):"); scanf("%s",book[cnt+1].publishtime); printf("\t\t\t请输入您要录入的图书价格:"); scanf("%lf",&book[cnt+1].price); book[cnt+1].state = 0; MessageBox (NULL,TEXT("图书信息录入成功!"), TEXT("Tips"),MB_OK); printf("\t========================================================================\n\n"); printf("\t|| 书号 || 书名 || 作者 || 出版社 || 出版时间 || 图书价格 || 借阅状态 ||\n\n"); printf("\t|| %d || %s || %s || %s || %s || %lf || 未借出 ||\n\n",book[cnt+1].num,book[cnt+1].name,book[cnt+1].writer,book[cnt+1].publish,book[cnt+1].publishtime,book[cnt+1].price); printf("\t========================================================================\n\n"); cnt++; } printf("\t\t==========================================\n\n"); printf("\t\t|| 是否继续?: ||\n\n"); printf("\t\t|| 1 ==> 继续 ||\n\n"); printf("\t\t|| 0 ==> 退出 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t\t请选择:"); scanf("%d",&choose); printf("Choose: %d\n", choose); if(choose == 0) { return; //admSystem(); } }}/*** 功能:管理员系统の图书信息浏览** 时间:17/7/91*/void informationScan(){ int i; printf("\t\t******************************************\n\n"); printf("\t\t|| 欢迎使用图书管理系统の图书信息浏览 ||\n\n"); printf("\t\t******************************************\n\n"); if(cnt == 0) { MessageBox (NULL,TEXT("您未录入任何图书信息!"), TEXT("Tips"),MB_OK); } else { printf("\t\t============================================================\n\n"); printf("\t\t||书号||书名||作者||出版社||出版时间||图书价格 ||借阅状态 ||\n\n"); for(i = 1; i <= cnt; i++) { if(book[i].state == 1) { printf("\t\t|| %d || %s || %s || %s || %s || %.2f || 已借出 ||\n\n",book[i].num,book[i].name,book[i].writer,book[i].publish,book[i].publishtime,book[i].price); } else { printf("\t\t|| %d || %s || %s || %s || %s || %.2f || 未借出 ||\n\n",book[i].num,book[i].name,book[i].writer,book[i].publish,book[i].publishtime,book[i].price); } } printf("\t\t============================================================\n\n"); system("pause"); return; //admSystem(); }}/*** 功能:管理员系统の图书信息查询** 时间:17/7/9*/void informationQuery(){ int a,flag; int i,choose; char na[20]; char wr[20]; printf("\t\t==========================================\n\n"); printf("\t\t|| 欢迎使用图书管理系统の图书信息查询 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t|| 查找方式: ||\n\n"); printf("\t\t|| 1 ==> Search by name ||\n\n"); printf("\t\t|| 2 ==> Search by writer ||\n\n"); printf("\t\t==========================================\n\n"); while(true) { if(cnt == 0) { MessageBox (NULL,TEXT("您未录入任何图书信息!"), TEXT("Tips"),MB_OK); return; } else { flag = 0; printf("\t\t\t请选择您的查找方式:"); scanf("%d",&choose); if(choose == 1) { printf("\t\t==========================================\n\n"); printf("\t\t\t请输入您要查找的书名:"); scanf("%s",na); for(i = 0; i <= cnt; i++) { if(strcmp(book[i].name,na) == 0) { flag = 1; if(book[i].state == 1) { printf("\t\t============================================================\n\n"); printf("\t\t||书号||书名||作者||出版社||出版时间||图书价格 ||借阅状态 ||\n\n"); printf("\t\t|| %d || %s || %s || %s || %s || %.2f || 已借出 ||\n\n",book[i].num,book[i].name,book[i].writer,book[i].publish,book[i].publishtime,book[i].price); printf("\t\t==========================================================\n\n"); } else { printf("\t\t============================================================\n\n"); printf("\t\t||书号||书名||作者||出版社||出版时间||图书价格 ||借阅状态 ||\n\n"); printf("\t\t|| %d || %s || %s || %s || %s || %.2f || 未借出 ||\n\n",book[i].num,book[i].name,book[i].writer,book[i].publish,book[i].publishtime,book[i].price); printf("\t\t==========================================================\n\n"); } } } if(flag == 0) { MessageBox (NULL,TEXT("您查找的图书不存在!"), TEXT("Tips"),MB_OK); return; } } else { printf("\t\t==========================================\n\n"); printf("\t\t\t请输入您要查找的作者:"); scanf("%s",wr); for(i = 0; i <= cnt; i++) { flag = 1; if(strcmp(book[i].writer,wr) == 0) { if(book[i].state == 1) { printf("\t\t============================================================\n\n"); printf("\t\t||书号||书名||作者||出版社||出版时间||图书价格 ||借阅状态 ||\n\n"); printf("\t\t|| %d || %s || %s || %s || %s || %.2f || 已借出 ||\n\n",book[i].num,book[i].name,book[i].writer,book[i].publish,book[i].publishtime,book[i].price); printf("\t\t==========================================================\n\n"); } else { printf("\t\t============================================================\n\n"); printf("\t\t||书号||书名||作者||出版社||出版时间||图书价格 ||借阅状态 ||\n\n"); printf("\t\t|| %d || %s || %s || %s || %s || %.2f || 未借出 ||\n\n",book[i].num,book[i].name,book[i].writer,book[i].publish,book[i].publishtime,book[i].price); printf("\t\t==========================================================\n\n"); } } } if(flag == 0) { MessageBox (NULL,TEXT("您查找的图书不存在!"), TEXT("Tips"),MB_OK); return; } } printf("\t\t==========================================\n\n"); printf("\t\t|| 是否继续?: ||\n\n"); printf("\t\t|| 1 ==> 继续 ||\n\n"); printf("\t\t|| 0 ==> 退出 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t\t请选择:"); scanf("%d",&a); if(a == 0) { printf("\t\t\t感谢您的使用!\n\n"); //admSystem(); system("pause"); return; } } }}/*** 功能:管理员系统の图书信息删除** 时间:17/7/9*/void informationDelete(){ int n,i; int a; printf("\t\t==========================================\n\n"); printf("\t\t|| 欢迎使用图书管理系统の图书信息删除 ||\n\n"); printf("\t\t==========================================\n\n"); while(true) { int flag = 0; if(cnt == 0) { MessageBox (NULL,TEXT("您未录入任何图书信息!"), TEXT("Tips"),MB_OK); break; } else { printf("\t\t\t请输入您要删除的图书书号:"); scanf("%d",&n); for(i = 1; i < cnt; i++) { if(n == book[i].num) { book[i] = book[i+1]; flag = 1; cnt--; printf("\n\t\t\t删除图书成功!\n\n"); } } if(flag == 0) { MessageBox (NULL,TEXT("未找到匹配图书信息!"), TEXT("Tips"),MB_OK); } } printf("\t\t==========================================\n\n"); printf("\t\t|| 是否继续?: ||\n\n"); printf("\t\t|| 1 ==> 继续 ||\n\n"); printf("\t\t|| 0 ==> 退出 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t\t请选择:"); scanf("%d",&a); if(a == 0) { printf("\t\t\t感谢您的使用!\n\n"); break; } }}/*** 功能:管理员系统の图书信息修改** 时间:17/7/9*/void informationChange(){ int i; printf("\t\t==========================================\n\n"); printf("\t\t|| 欢迎使用图书管理系统の图书信息修改 ||\n\n"); printf("\t\t==========================================\n\n"); while(true) { int flag = 0; if(cnt == 0) { MessageBox (NULL,TEXT("您未录入任何图书信息!"), TEXT("Tips"),MB_OK); break; } else { int iid; int a; printf("\t\t\t请输入所要修改的书籍的书号\n\n"); printf("\t\t\tPlease Enter Your Choose : "); scanf("%d",&iid); for(i = 1; i <= cnt; i++) { if(book[i].num == iid) { int choose; printf("\t\t==========================================\n\n"); printf("\t\t||\t请选择您要修改的内容: ||\n\n"); printf("\t\t||\t1 ==> 书名 ||\n\n"); printf("\t\t||\t2 ==> 作者 ||\n\n"); printf("\t\t||\t3 ==> 出版社 ||\n\n"); printf("\t\t||\t4 ==> 出版时间 ||\n\n"); printf("\t\t||\t5 ==> 图书价格 ||\n\n"); printf("\t\t||\t0 ==> 退出 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t\t请选择:"); scanf("%d",&choose); if(choose == 1) { printf("\n\t\t\t请输入新的书名:"); scanf("%s",book[i].name); } else if(choose == 2) { printf("\n\t\t\t请输入新的作者名:"); scanf("%s",book[i].writer); } else if(choose == 3) { printf("\n\t\t\t请输入新的出版社名称:"); scanf("%s",book[i].publish); } else if(choose == 4) { printf("\n\t\t\t请输入新的出版时间:例如2017年7月8日请输入(2017.07.08):"); scanf("%s",book[cnt+1].publishtime); } else if(choose == 5) { printf("\n\t\t\t请输入新的图书价格:"); scanf("%lf",&book[i].price); } flag = 1; printf("\n\t\t\t图书信息修改成功!\n\n"); printf("\n\t\t\t当前图书信息显示:\n\n"); if(book[i].state == 1) { printf("\t\t============================================================\n\n"); printf("\t\t||书号||书名||作者||出版社||出版时间||图书价格 ||借阅状态 ||\n\n"); printf("\t\t\t|| %d || %s || %s || %s || %s || %lf || 已借出 ||\n\n",book[i].num,book[i].name,book[i].writer,book[i].publish,book[i].publishtime,book[i].price); printf("\t\t\t==========================================================\n\n"); } else { printf("\t\t============================================================\n\n"); printf("\t\t||书号||书名||作者||出版社||出版时间||图书价格 ||借阅状态 ||\n\n"); printf("\t\t\t|| %d || %s || %s || %s || %s || %lf || 未借出 ||\n\n",book[i].num,book[i].name,book[i].writer,book[i].publish,book[i].publishtime,book[i].price); printf("\t\t\t==========================================================\n\n"); } break; } } if(flag == 0) { MessageBox (NULL,TEXT("未找到匹配图书信息!"), TEXT("Tips"),MB_OK); } printf("\t\t==========================================\n\n"); printf("\t\t|| 是否继续?: ||\n\n"); printf("\t\t|| 1 ==> 继续 ||\n\n"); printf("\t\t|| 0 ==> 退出 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t\t请选择:"); scanf("%d",&a); if(a == 0) { printf("\t\t\t感谢您的使用!\n\n"); break; } } }}/*** 管理员系统主界面** 时间:17/7/8*/void admSystem(){ int choose; while (true) { system("cls"); printf("\t\t==========================================\n\n"); printf("\t\t||\t欢迎使用图书管理系统の管理员系统 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t|| 1 ==> 图书信息录入 ||\n\n"); printf("\t\t|| 2 ==> 图书信息浏览 ||\n\n"); printf("\t\t|| 3 ==> 图书信息查询 ||\n\n"); printf("\t\t|| 4 ==> 图书信息删除 ||\n\n"); printf("\t\t|| 5 ==> 图书信息修改 ||\n\n"); printf("\t\t|| 0 ==> 退出 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t\t请选择功能号:"); scanf("%d",&choose); switch (choose) { case 1: informationEntry(); /// 图书信息录入 saveBook(); break; case 2: informationScan(); /// 图书信息浏览 saveBook(); break; case 3: informationQuery(); /// 图书信息查询 break; case 4: informationDelete(); ///图书信息删除 saveBook(); break; case 5: informationChange(); ///图书信息修改 saveBook(); break; case 0: return ; break; } }}/*** 功能:管理员登录界面** 时间:17/7/8*/void admLogin(){ system("cls"); printf("\t\t==========================================\n\n"); printf("\t\t|| 欢迎使用图书管理系统の管理员系统 ||\n\n"); printf("\t\t==========================================\n\n"); int j; for (j = 0; j < 3; j++) { printf("\t\t\t请输入您的密码:"); pdt = psWd(); if(pdt == Adp) { MessageBox (NULL,TEXT("登录成功!"), TEXT("Tips"),MB_OK); admSystem(); return; } else { printf("\n\t\t\t密码错误!\n\t\t\t你还剩%d次输入密码的机会\n\n", 2 - j); } } if (j == 3) { MessageBox (NULL,TEXT("3次密码输入错误,退出!"), TEXT("Tips"),MB_OK); return; }}void userSystem();/*** 功能:用户系统の查询所有图书** 时间:17/7/10*/void listBook(){ int i; printf("\t\t==========================================\n\n"); printf("\t\t|| 欢迎使用用户系统の查询所有图书 ||\n\n"); printf("\t\t==========================================\n\n"); if(cnt == 0) { MessageBox (NULL,TEXT("您未录入任何图书信息!"), TEXT("Tips"),MB_OK); } else { for(i = 1; i <= cnt; i++) { if(book[i].state == 1) { printf("\t\t============================================================\n\n"); printf("\t\t||书号||书名||作者||出版社||出版时间||图书价格 ||借阅状态 ||\n\n"); printf("\t\t|| %d || %s || %s || %s || %s || %lf || 已借出 ||\n\n",book[i].num,book[i].name,book[i].writer,book[i].publish,book[i].publishtime,book[i].price); printf("\t\t==========================================================\n\n"); } else { printf("\t\t============================================================\n\n"); printf("\t\t||书号||书名||作者||出版社||出版时间||图书价格 ||借阅状态 ||\n\n"); printf("\t\t|| %d || %s || %s || %s || %s || %lf || 未借出 ||\n\n",book[i].num,book[i].name,book[i].writer,book[i].publish,book[i].publishtime,book[i].price); printf("\t\t==========================================================\n\n"); } } system("pause"); } //userSystem();}/*** 功能:用户系统の归还已借图书** 时间:17/7/10*/void returnBook(){ int numt; int day,a; int i; printf("\t\t==========================================\n\n"); printf("\t\t|| 欢迎使用用户系统の归还已借图书 ||\n\n"); printf("\t\t==========================================\n\n"); while(true) { int flag = 0; printf("\t\t\t请输入您要归还的图书号:"); scanf("%d",&numt); for(i = 1; i <= cnt; i++) { if(numt == book[i].num) { flag = 1; if(book[i].state == 0) { MessageBox (NULL,TEXT("您已归还!请勿重复归还!"), TEXT("Tips"),MB_OK); } else { book[i].state = 0; printf("\t\t\t请输入您已借阅天数:"); scanf("%d",&day); if(day <= 30) { printf("\t\t\t您的免费借阅天数还有 %d 天\n\n",30-day); } else { printf("您已逾期 %d 天,请缴纳 %.2f 元的逾期费用!\n\n",day-30,0.1*(day-30)); } MessageBox (NULL,TEXT("归还成功!"), TEXT("Tips"),MB_OK); } } } if(flag == 0) { MessageBox (NULL,TEXT("未找到匹配书号的图书!"), TEXT("Tips"),MB_OK); } printf("\t\t==========================================\n\n"); printf("\t\t|| 是否继续?: ||\n\n"); printf("\t\t|| 1 ==> 继续 ||\n\n"); printf("\t\t|| 0 ==> 退出 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t\t请选择:"); scanf("%d",&a); if(a == 0) { printf("\t\t\t感谢您的使用!\n\n"); break; } }}/*** 功能:用户系统の租借现有图书** 时间:17/7/10*/void rentBook(){ int numt; int a; int i; printf("\t\t==========================================\n\n"); printf("\t\t|| 欢迎使用用户系统の租借现有图书 ||\n\n"); printf("\t\t==========================================\n\n"); while(true) { int flag = 0; printf("\t\t\t请输入您要借阅的图书号:"); scanf("%d",&numt); for(i = 1; i <= cnt; i++) { if(numt == book[i].num) { if(book[i].state == 1) { MessageBox (NULL,TEXT("该图书已借出!"), TEXT("Tips"),MB_OK); } else { flag = 1; book[i].state = 1; printf("\t\t====================Tips==================\n\n"); printf("\t\t|| * 您的免费借阅时间为 30 天 * ||\n\n"); printf("\t\t|| * 逾期费用为每天 0.1 元 * ||\n\n"); printf("\t\t==========================================\n\n"); MessageBox (NULL,TEXT("借阅成功!"), TEXT("Tips"),MB_OK); } } } if(flag == 0) { MessageBox (NULL,TEXT("未找到匹配书号的图书!"), TEXT("Tips"),MB_OK); } printf("\t\t==========================================\n\n"); printf("\t\t|| 是否继续?: ||\n\n"); printf("\t\t|| 1 ==> 继续 ||\n\n"); printf("\t\t|| 0 ==> 退出 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t\t请选择:"); scanf("%d",&a); if(a == 0) { printf("\t\t\t感谢您的使用!\n\n"); return; } }}void userChoose();/*** 用户系统主界面** 时间:17/7/10*/void userSystem(){ while(true) { system("cls"); int choose; printf("\t\t==========================================\n\n"); printf("\t\t|| 欢迎使用图书借阅系统の用户系统 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t|| 1 ==> 查询所有图书 ||\n\n"); printf("\t\t|| 2 ==> 归还已借图书 ||\n\n"); printf("\t\t|| 3 ==> 租借现有图书 ||\n\n"); printf("\t\t|| 0 ==> 退出 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t\t请选择功能号:"); scanf("%d",&choose); switch (choose) { case 1: listBook(); /// 查看所有图书 break; case 2: returnBook(); /// 归还已借图书 saveBook(); break; case 3: rentBook(); /// 租借现有图书 saveBook(); break; case 0: //userChoose(); return ; break; } }}/*** 功能:用户登录界面** 时间:17/7/10*/void userLogin(){ while(true) { system("cls"); int idt; printf("\t\t==========================================\n\n"); printf("\t\t|| 欢迎使用图书借阅系统の用户系统 ||\n\n"); printf("\t\t==========================================\n\n"); if(N == 0) { MessageBox (NULL,TEXT("不存在注册用户!"), TEXT("Tips"),MB_OK); break; } int j = 1; int i; int flag = 0; printf("\t\t\t请输入您的用户名ID:"); scanf("%d",&idt); for(i = 1; i <= N; i++) { /// 首先通过用户名找到对应的用户 if(idt == user[i].id) { /// 验证用户输入的密码 for (j = 0; j < 3; j++) { printf("\t\t\t请输入您的密码:"); pdt = psWd(); if(pdt == user[i].pd) { MessageBox (NULL,TEXT("登录成功!"), TEXT("Tips"),MB_OK); userSystem(); return; } else { printf("\n\t\t\t密码错误!\n\t\t\t你还剩%d次输入密码的机会\n\n", 2 - j); } } if (j == 3) { MessageBox (NULL,TEXT("3次密码输入错误,退出!"), TEXT("Tips"),MB_OK); return; } } } if(flag) { MessageBox (NULL,TEXT("未找到该用户!"), TEXT("Tips"),MB_OK); } }}/*** 功能:用户注册** 时间:17/7/10*/void userSignin(){ while(true) { system("cls"); int numt,sext; int pdt,choose; int flag; printf("\t\t==========================================\n\n"); printf("\t\t|| 欢迎使用用户系统の注册 ||\n\n"); printf("\t\t==========================================\n\n"); while(true) { printf("\t\t\t请输入您的注册ID:"); scanf("%d",&numt); flag = useridCheck(numt); if(flag == 1) { printf("\t\t==========================================\n\n"); printf("\t\t|| * 该用户ID可用 * ||\n\n"); printf("\t\t==========================================\n\n"); user[N+1].id = numt; break; } else { printf("\t\t==========================================\n\n"); printf("\t\t|| * 该用户ID已存在!请重新创建 * ||\n\n"); printf("\t\t==========================================\n\n"); continue; } } while(true) { printf("\t\t==========================================\n\n"); printf("\t\t\t请输入六位密码:\n\n"); printf("\t\t\t"); pdt = psWd(); printf("\t\t\t请确认密码:\n\n"); printf("\t\t\t"); user[N+1].pd = psWd(); if(pdt == user[N+1].pd) { printf("\t\t==========================================\n\n"); printf("\t\t|| * 密码设置成功 * ||\n\n"); printf("\t\t==========================================\n\n"); break; } else { printf("\n\t\t\t两次密码输入不一致!\n\t\t\t请重新输入\n\n"); } } printf("\t\t\t请输入您的姓名:"); scanf("%s",user[N+1].name); printf("\n\t\t\t请输入您的年龄:"); scanf("%d",&user[N+1].age); printf("\n\t\t\t请输入您的性别:"); printf("\n\n\t\t==========================================\n\n"); printf("\t\t|| 1 ==> 男 ||\n\n"); printf("\t\t|| 2 ==> 女 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t\t请选择:"); scanf("%d",&sext); if(sext == 1) { user[N+1].sex = 1; } else { user[N+1].sex = 2; } printf("\n\t\t\t请输入您的联系方式:"); scanf("%s",user[N+1].tel); printf("\n\t\t================* 用 * 户 * 信 * 息 *=================\n\n"); printf("\t\t|| 用户ID || 姓名 || 年龄 || 性别 || 联系方式 ||\n\n"); if(user[N+1].sex == 1) { printf("\t\t|| %d || %s || %d || 男 || %s ||\n\n",user[N+1].id,user[N+1].name,user[N+1].age,user[N+1].tel); } else { printf("\t\t|| %d || %s || %d || 女 || %s ||\n\n",user[N+1].id,user[N+1].name,user[N+1].age,user[N+1].tel); } MessageBox (NULL,TEXT("注册成功!"), TEXT("Tips"),MB_OK); N++; saveUser(); return; ///先删除掉这个我认为反人类的设计 /** printf("\t\t==========================================\n\n"); printf("\t\t|| 是否继续?: ||\n\n"); printf("\t\t|| 1 ==> 继续 ||\n\n"); printf("\t\t|| 0 ==> 退出 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t\t请选择:"); scanf("%d",&choose); if(choose == 0) { printf("\t\t==========================================\n\n"); printf("\t\t|| 感谢您的使用 ||\n\n"); printf("\t\t==========================================\n\n"); break; } **/ }}/*** 功能:用户系统** 时间:17/7/10*/void userChoose(){ int choose; while(true) { system("cls"); printf("\t\t==========================================\n\n"); printf("\t\t|| 欢迎使用图书借阅系统の用户系统 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t|| 1 ==> 登录 ||\n\n"); printf("\t\t|| 2 ==> 注册 ||\n\n"); printf("\t\t|| 0 ==> 退出 ||\n\n"); printf("\t\t==========================================\n\n"); printf("\t\t\t请选择功能号:"); scanf("%d",&choose); if(choose == 1) { userLogin(); } else if(choose == 2) { userSignin(); } else { printf("\n\t\t\t感谢您的使用!\n\n"); return ; } }}/*** 功能:主函数** 时间:17/7/8*/int main(){ system("COLOR 4f"); int systemTag; Tips(); loadUser(); loadBook(); while(true) { systemTag = systemChoose(); /// 选择系统 if(systemTag == 0) { printf("\t\t==========================================\n\n"); printf("\t\t|| * 感谢您的使用 * ||\n\n"); printf("\t\t==========================================\n\n"); system("pause"); exit(0); } else if(systemTag == 1) { userChoose(); } else { admLogin(); } } return 0;}
阅读全文
0 0
- C语言
- C语言
- C语言
- C语言
- C语言
- c语言
- C语言
- C语言
- C语言
- C语言
- c语言
- C语言
- C语言
- C语言
- c语言
- C语言
- c语言
- c语言
- POJ 1088 滑雪(递归+动规)
- 【数据库SQL】数据库级联查询,同一张表,统计父级数量
- 【笔记】【MDN】JavaScript指南 > 语法和数据类型
- 记录下用vmware装ubuntu然后跑程序的过程
- Ubuntu 16.04安装Mysql和安装时出现错误解决
- C语言
- STEVAL-SPIN3201电机驱动器评估板简介
- Cocos2d-x 之场景切换
- FireEye发布调查报告,混淆技术成为了2017年攻击者最喜欢用的技术之一
- tensorflow tf.pad解析
- c语言核心整理之指针与数组的区别
- android系统传播之短信
- CodeForces 86C-Genetic engineering
- dubbo 控制台用户名密码问题