/*系统密码:123321* /*极限俱乐部会员信息系统* #include "stdio. h" /*控制台IO的头文件 g h /*字符串函数的头文件* #include "stdlib h" /* exito函数的头文件* 体定义最多可录入的单位数 #define n100 /定义最多可录入的会员数* int Interface(char(*x)[20], int n); /操作界面函数* nt AddList(int start, char Unit[[20], char Name[[20], char Number[[20], int ParameterII5D /*添加信息函数*/ void Display (char(*x)[20), char("y)[20], char(z)[201 nt Parameter[[s], Int start, int end),/*显示信息函数* void Swap Char(char*x, char *y); *字符互换函数* void Swapelnt(int*x, int *y) /*整型数互换函数* void Sort(char(*x)[20], char(*y)(20], char(z)(201 int Parameter[[5], int n) /*按姓名排序函数* int Search(char(*)20), char*y)(201, char (z)[20 char*person, int n); *信息检索函数* int FindStaff(char(x)[20), char(y)[20], char ("z)20) 信息查找函数* void Modify(char (x)[20], char(*y)[20], char(*z)[201 int Parameter[5, int n) /信息修改函数*/ int Delete(char(x)20), char(y)[20), char(z)20] int Parameter[[5], int n); /*信息删除函数* char password[8=7654321 /*/设置系统管理员密码* 主函数 har Unit[M[201; /*单位 char Number[[20 /*编号* char Name] 姓名 int Parameter[NI[5] /成绩* char main Namel[20}={"添加信息","显示信息","按姓名排序”, "按姓名检索","修改信息""删除信息"} /*系统菜单* /**幸**幸*****系统密码管理***幸**幸****/
/*系统密码:123321*/ /*极限俱乐部会员信息系统*/ #include "stdio.h" /*控制台 I/O 的头文件*/ #include "string.h" /*字符串函数的头文件*/ #include "stdlib.h" /*exit()函数的头文件*/ #define M 20 /*定义最多可录入的单位数*/ #define N 100 /*定义最多可录入的会员数*/ int Interface(char (*x)[20],int n); /*操作界面函数*/ int AddList(int start, char Unit[][20],char Name[][20], char Number[][20],int Parameter[][5]); /*添加信息函数*/ void Display(char (*x)[20],char (*y)[20],char (*z)[20], int Parameter[][5], int start, int end); /*显示信息函数*/ void SwapChar(char *x, char *y); /*字符互换函数*/ void SwapeInt(int *x, int *y); /*整型数互换函数*/ void Sort(char (*x)[20], char (*y)[20],char (*z)[20], int Parameter[][5], int n); /*按姓名排序函数*/ int Search (char (*x)[20],char (*y)[20],char (*z)[20], char *person, int n); /*信息检索函数*/ int FindStaff(char (*x)[20],char (*y)[20],char (*z)[20], int Parameter[][5], int n); /*信息查找函数*/ void Modify(char (*x)[20],char (*y)[20],char (*z)[20], int Parameter[][5], int n); /*信息修改函数*/ int Delete(char (*x)[20],char (*y)[20],char (*z)[20], int Parameter[][5], int n); /*信息删除函数*/ char password[8]="7654321"; /*/设置系统管理员密码* /**********************************************************\ 主函数 \**********************************************************/ void main() { char Unit[M][20]; /*单位*/ char Number[N][20]; /*编号*/ char Name[N][20]; /*姓名*/ int Parameter[N][5]; /*成绩*/ int select; int n=0; char mainName[][20]={"添加信息","显示信息","按姓名排序", "按姓名检索","修改信息","删除信息"}; /*系统菜单*/ /**********************系统密码管理********************/
har choice /*设置输入密码最多允许连续出错的次数* printf("请输入管理员密码:n"); scanf("%s", s) f(strcmp(s, password)) /*验证密码* printf("PASSInInIn"); *密码正确,则输出“pasy”* printi("密码错误,请重新输入:n") while(w>0) if( fla printf("你已连续三次输入错误请确认后再使用本系统,谢谢!n") exit(O) system("cls"); *用 system调用dos命令,清屏* /**幸*幸**幸**李幸*幸欢迎界面**春*幸****幸***幸***奉* printf( Stitt\t\tn printf("htt迎进入极限俱乐部会员信息系统ln") /*标题* print("n%%‰%%%%%%%%%%‰%%%%%%%%%%%tt%ω%%%%%%%% %%%%%%%%%%%‰%%%%%%%in") printf("InInInin") printi("单位:北京极限俱乐部n") /用户单位* printf("地址北京市西城区西四n”) printi("会员热线:010-668868) printf("\nInian") ==tt= printf("本系统由“天地人和软件有限公司”开发n") *开发商* printf("作者:天天hn"); printf("地址:北京市海淀区学院路ln") printf( ) printf("\nIn")
char choice; char s[8]; int flag = 0; int w = 3; /*设置输入密码最多允许连续出错的次数*/ do { printf("请输入管理员密码:\n"); scanf("%s",s); if(!strcmp(s,password)) /*验证密码*/ { printf("PASS\n\n\n"); /*密码正确,则输出“pass”*/ flag = 1; break; } else { printf("密码错误,请重新输入:\n"); w--; } } while(w>0); if(!flag) { printf("你已连续三次输入错误,请确认后再使用本系统,谢谢!\n"); exit(0); } system("cls"); /*用 system 调用 dos 命令,清屏*/ /*************************欢迎界面************************************/ printf("~~~~~~~~~~~~~\t\t\t\t\t~~~~~~~~~~~~~\n"); printf("\t\t 欢迎进入极限俱乐部会员信息系统\n"); /*标题*/ printf("\n%%%%%%%%%%%%%%%%%%%%%%%%%\t\t\t\t\t%%%%%%%%% %%%%%%%%%%%%%%%%%%\n"); printf("\n\n\n\n"); printf("单位:北京极限俱乐部\n"); /*用户单位*/ printf("地址北京市西城区西四\n"); printf("会员热线:010-66886688"); printf("\n\n\n\n"); printf("==============\t\t==============\n"); printf("本系统由“天地人和软件有限公司”开发\n"); /*开发商*/ printf("作者:天天\n"); printf("地址:北京市海淀区学院路\n"); printf("==============\t\t==============\n"); printf("\n\n");
printf("t请任意输入一个值并回车进入系统n"), if(choice=="n'llchoice==N it(1) *本本幸*幸幸*幸**欢迎界面结束幸*幸****幸幸*幸** system("cls"); /*通过 systemO函数调用dos命令,清屏 select=Interface( main Name, 6) switch(select) /*转向语句,选择以实现不同的功能* case 0: n=AddList(n, Unit, Number, Name, Parameter); break; case 1: Display (Unit, Number, Name, Parameter, 0, n-1), break case 2: Sort( Unit, Number, Name, Parameter, n), break case 3: FindStaff(Unit, Number, Name, Parameter, n); break case 4: Modify (Unit, Number, Name, Parameter, n); break; case 5: n=Delete( Unit, Number, Name, Parameter, n); break while( select>=0&&selectn+1) return(i-1);
printf("\t\t 请任意输入一个值并回车进入系统\n"); scanf("%s",&choice); if(choice== '\n'||choice== 'N') exit(1); /***********************欢迎界面结束******************************/ system("cls"); /*通过 system()函数调用 dos 命令,清屏*/ do { select=Interface(mainName,6); switch (select) /*转向语句,选择以实现不同的功能*/ { case 0: n=AddList(n,Unit,Number,Name,Parameter);break; case 1: Display(Unit,Number,Name,Parameter,0,n-1);break; case 2: Sort(Unit,Number,Name,Parameter,n);break; case 3: FindStaff(Unit,Number,Name,Parameter,n);break; case 4: Modify(Unit,Number,Name,Parameter,n);break; case 5: n=Delete(Unit,Number,Name,Parameter,n);break; } } while(select>=0&&selectn+1); return (i-1); }
*称水*称*涂水客客水*水*客水水 客*水 添加信息函数 int AddList(int start, char Unit[20]), char Number[[201 char Name[[20], int Parameter[[5D) system("cls"); /*通过 system(函数调用dos命令,清屏* Int l.n' for(n=start; n<N; n++) printf("Ⅶn请输入单位(按e键返回)n") /若输入e则结束数据输入* scanf("%s" Unit[)) if(strcmp(Unitn], e)==0)break; printf("hn请输入会员编号n"), scanf("%s", Number[)) printf("hn请输入会员姓名n") scanf("%s", NameIn)) for(i=0;i<5;i++) /输入数据信息* printi("生理指标[%d]=",i+1) scanf("%d", &Parameter) return n: ∥ system("cls") 孝水*水 显示信息函数 void Display(char*x)[20), char ("y)[20], char(*z)(201 int Parameter[5], int start, int end) system("cls"); printf("n%l8s%0s%8s","单位","会员编号”,"姓名") 显示标题* for(i=0;i<5;计++) printf("9%s%d","指标",i+1); n"); for(istart; i<=end; i++) /*显示数据信息* printf("%18s %10s %8s"], z);
/**********************************************************\ 添加信息函数 \**********************************************************/ int AddList(int start, char Unit[][20],char Number[][20], char Name[][20],int Parameter[][5]) { system("cls"); /*通过 system()函数调用 dos 命令,清屏*/ int i,n; for (n=start;n<N;n++) { printf("\n 请输入单位(按 e 键返回):\n"); /*若输入 e 则结束数据输入*/ scanf("%s",Unit[n]); if (strcmp(Unit[n],"e")==0) break; printf("\n 请输入会员编号:\n"); scanf("%s",Number[n]); printf("\n 请输入会员姓名:\n"); scanf("%s",Name[n]); for(i=0;i<5;i++) /*输入数据信息*/ { printf("生理指标[%d]=",i+1); scanf("%d",&Parameter[n][i]); } } return n; // system("cls"); } /**********************************************************\ 显示信息函数 \**********************************************************/ void Display(char (*x)[20],char (*y)[20],char (*z)[20], int Parameter[][5], int start, int end) { system("cls"); int i,j; printf("\n%18s %10s %8s ","单位","会员编号","姓名"); /*显示标题*/ for(i=0;i<5;i++) printf("%6s%d","指标",i+1); printf("\n------------------------------------------\n"); for(i=start;i<=end;i++) /*显示数据信息*/ { printf("%18s %10s %8s",x[i],y[i],z[i]);
printf("%7d",Parameter[iI[], /本本******本本*春本*家**本幸本本家****家幸本本***本**\ 字符串互换函数 \*幸**幸率幸*本幸*幸幸本*幸*春本亲幸率幸率*幸**率本*/ void Swap Char(char *x, char *y) char temp[201 strcpy(y, temp) /********本****幸本*春**亲*本*家春****本***家***** 整型数互换函数 void SwapInt(int* x, int*y) 按姓名字典顺序排序函数 \*幸**幸率幸*幸幸**率幸本*幸春本幸幸本*幸****亲本*/ void Sort(char(*x)[20], char(*y)[ 20), char (*z)[20) int Parameter[5], int n int i,j, k; for(i=0;i0)k=
for (j=0;j0) k=j; if(i!=k)
Swap Char(x[)) /*交换会员标识* Swap Char(y[k]y]); Swap Char(z[k], z]) for(=0j<5J++) /*交换会员数据信息* SwapInt(&Parameter[k]0l, &Parameter[i[D; printf("n按姓名排序已完成n") 显示信息函数,为下一函数的中间调用 Search(char (*x)(20], char(*y)[20), char ("z)[20], char *person, int n) In for(i=0; i<n, i++) f(lstrcmp(z[i], person)) /*将输入信息与已有信息比较* return I eturn *涂水***凇客*凇客*水本涂水客水容水客水水*水*客水*客涂水** 显示信息函数 水水客客客水客水容水*水***涂水客*客客 **家本亲*本幸*本幸本幸本*本家本*/ int FindStaff(char(x)[20), char(y)[20], char ("z)20) int Parameter[5], int n) system("cls"); int I printf("n请输入要检索的会员姓名") i=Search(x, y, z, str, n) /*查找str是否在所选数组中* rint("没有关于%s的记录,请确认无误后再次输入n",str); Display(x, y, z, Parameter, i, i) /*显示找到的会员信息 ∥ printf(("请按任意键返回操作界面.in") getchar return I
{ SwapChar(x[k],x[i]); /*交换会员标识*/ SwapChar(y[k],y[i]); SwapChar(z[k],z[i]); for(j=0;j<5;j++) /*交换会员数据信息*/ SwapInt(&Parameter[k][j],&Parameter[i][j]); } } printf("\n 按姓名排序已完成!\n"); } /**********************************************************\ 显示信息函数,为下一函数的中间调用 \**********************************************************/ int Search(char (*x)[20],char (*y)[20],char (*z)[20],char *person,int n) { int i; for (i=0;i<n;i++) if(!strcmp(z[i],person)) /*将输入信息与已有信息比较*/ return i; return -1; } /**********************************************************\ 显示信息函数 \**********************************************************/ int FindStaff(char (*x)[20],char (*y)[20],char (*z)[20], int Parameter[][5],int n) { system("cls"); int i; char str[20]; printf("\n 请输入要检索的会员姓名:"); scanf("%s",str); i=Search(x,y,z,str,n); /*查找 str 是否在所选数组中*/ if(i==-1) printf("没有关于 %s 的记录,请确认无误后再次输入!\n",str); else Display(x,y,z,Parameter,i,i); /*显示找到的会员信息*/ // printf("请按任意键返回操作界面.\n"); getchar(); return i;
信息修改函数 void Modify(char (x)[20], char(*y)(20),char(*z)[201 int Parameter[[5], int n) ∥ system("cls"); i=FindStaff(x, y, z, Parameter, n); /*寻找需要修改的会员信息* /*若找到,则进行修改* printf("请输入修改后的会员信息n") printf("hn请输入单位hn") scanf("%s" x[) printi("n请输入会员编号hn") scanf("%s"yliD) printi("n请输入会员姓名m"), scanf("%s"zi) for(=0j=0 /*若找到,则删除* strcpy(x[i],x[n-1D strcpy(yli, yIn-I) strcpy(zil, zn-lD
} /**********************************************************\ 信息修改函数 \**********************************************************/ void Modify(char (*x)[20],char (*y)[20],char (*z)[20], int Parameter[][5],int n) { // system("cls"); int i,j; i=FindStaff(x,y,z,Parameter,n); /*寻找需要修改的会员信息*/ if(i>=0) /*若找到,则进行修改*/ { printf("请输入修改后的会员信息:\n"); printf("\n 请输入单位:\n"); scanf("%s",x[i]); printf("\n 请输入会员编号:\n"); scanf("%s",y[i]); printf("\n 请输入会员姓名:\n"); scanf("%s",z[i]); for(j=0;j=0) /*若找到,则删除*/ { strcpy(x[i],x[n-1]); strcpy(y[i],y[n-1]); strcpy(z[i],z[n-1]);
for(=0j<5j++) Parameter[i[=Parameter[n-1L1 将最后一条记录覆盖当前记录* 记录数减少1 int("n已经删除所选会员信息!m"),/*如果此时调用 Display函数, *则显示删除后的结果
for(j=0;j<5;j++) Parameter[i][j]=Parameter[n-1][j]; /*将最后一条记录覆盖当前记录*/ n=n-1; /*记录数减少 1*/ printf("\n 已经删除所选会员信息!\n"); /*如果此时调用 Display()函数,*/ } /*则显示删除后的结果*/ return n; }