幸***幸***极限俱乐部会员信息系统**幸*****幸*春*幸**事 #include "stdio. h" /*控制台I/O的头文件* #include "string h" /*字符串函数的头文件* #include "stdlib. h' /* exito函数的头文件 #define max 100 /*定义最多可以输入的职工数 int Inter face(char(*x)[20], int n) /*操作界面* int Add(int start, struct staff*p) /*增加职工数* void Display( struct staff*p, int start, int end); *显示已存在的数据* void Sort(struct staff*p, int n) /信息排序* int Search(struct staff*p, char *t, int n) /*信息检索* int Find (struct staff*p, int n); /*信息查找* void Modify(struct staff *p, int n); *信息修改* int Delete( struct staff*p, int n); /*信息删除* oid Swap( struct staff"pl, struct staff"p2) /*会员信息互换* har password[ 8="7654321 *设置系统管理员密码* struct staff char unit[60] char name[201 char sex[20]: int weight *说明:《极限俱乐部会员信息系统》基本信息包括单位、姓名、性别、年龄、身高、体重 六个基本信息,可以根据实际情况有所增减* 主函数 struct staff sta[ Max] /结构数组,即可输入的最大会员数,* 最大值为声明中预定义的Max Int s /*设置变量,以用于用户输入信息的接收,并将其作为转向函数的参数* 整型变量 char menu20}={"添加","显示’"排序","检索","修改”"删除"}; 体幸**事****系统密码管理************ char choice
/******************极限俱乐部会员信息系统*******************************/ #include "stdio.h" /*控制台 I/O 的头文件*/ #include "string.h" /*字符串函数的头文件*/ #include "stdlib.h" /*exit()函数的头文件*/ #define Max 100 /*定义最多可以输入的职工数*/ int Interface(char (*x)[20],int n); /*操作界面*/ int Add(int start, struct staff *p); /*增加职工数*/ void Display( struct staff *p, int start, int end); /*显示已存在的数据*/ void Sort(struct staff *p, int n); /*信息排序*/ int Search (struct staff *p, char *t, int n); /*信息检索*/ int Find(struct staff *p, int n); /*信息查找*/ void Modify(struct staff *p, int n); /*信息修改*/ int Delete(struct staff *p, int n); /*信息删除*/ void Swap(struct staff *p1, struct staff *p2); /*会员信息互换*/ char password[8]="7654321"; /*设置系统管理员密码*/ struct staff { char unit[60]; char name[20]; char sex[20]; int age; int height; int weight; }; /*说明:《极限俱乐部会员信息系统》基本信息包括单位、姓名、性别、年龄、身高、体重 六个基本信息,可以根据实际情况有所增减*/ /**********************************************************\ 主函数 \**********************************************************/ void main() { struct staff sta[Max]; /*结构数组,即可输入的最大会员数,*/ /*最大值为声明中预定义的 Max*/ int s; /*设置变量,以用于用户输入信息的接收,并将其作为转向函数的参数*/ int n=0; /*整型变量*/ char menu[][20]={"添加","显示","排序","检索","修改","删除"}; /**********************系统密码管理********************/ char choice;
char pass[ 8 int flag=o int w=3 设置输入密码最多允许连续出错的次数* printf("请输入管理员密码:n") scanf("%s"pass) if( strcmp( pass, password)) /*验证密码* printf("PASSInInin") *密码正确,则输出"pass* else printf("密码错误,请重新输入:n"); W-- while( w>0) if(flag) printf("你已连续三次输入错误,请确认后再使用本系统,谢谢!n") exit(O) system("cls"); /*用 system调用dos命令,清屏* /**事幸本幸*幸奉***欢迎界面 printf( printf( It\titt\t printf("t迎进入极限俱乐部会员信息系统ln"); /*标题* printf("%%%%%%%%%‰%%%8‰%%%%%%%%%%%%%%ttit%%%%%%%%%% 6%%%%%%%%%%%%%%%") printf("InIninin") printf("单位:北京极限俱乐部n”) *用户单位* printf("地址:北京市西城区西四n" printf("会员热线:010-668688) printf("\nninn") n") printi("本系统由“天地人和有限公司”开发"); /*开发商* printf("地址:北京市海淀区学院路ln") printf("作者:天天hn") printf(
char pass[8]; int flag=0; int w=3; /*设置输入密码最多允许连续出错的次数*/ do { printf("请输入管理员密码:\n"); scanf("%s",pass); if(!strcmp(pass,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\t\t\t~~~~~~~~~~~~~\n"); printf("\t\t 欢迎进入极限俱乐部会员信息系统\n"); /*标题*/ printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%\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("Inn") printf("t请任意输入一个值并回车进入系统ln") canf("%s", &choice if(choice==n choice==N exit(1) 体幸*本本幸**幸本***幸*欢迎界面结束**本*春*幸*本*春*幸*幸*奉 system("cls"); 用 system调用dos命令,清屏* sInter rface( menu, 6) switch(s) /*转向语句,选择以实现不同的功能* case 0: n=Add(n, sta); break case 1: Display(sta, O, n-1); break; case 2: Sort(sta, n); break case 3: Find(sta, n) break case 4: Modify(sta, n); break case 5: n=Delete(sta, n); break while(S>=0&&s<=5); 客本本***幸幸本本*客率春幸率家*幸率*幸本本*客率幸率*幸*幸**客*率料 操作界面函数 水*****水客水*称水*客*称水* int Interface(char (x)[20], int n) Int 1: printf("n××××××x极限俱乐部会员信息系统X××xx××mn"); for (=0; j<n:j++) printf("%2d %sIn"+1,x[D; printi("%2d返回n"j1) printf("请从上述选项中选择:in") scanf("%d",&i) *输入选项* while(i<O‖pn+1); return(i-1)
printf("\n\n"); printf("\t\t 请任意输入一个值并回车进入系统\n"); scanf("%s",&choice); if(choice=='n'||choice=='N') exit(1); /**************************欢迎界面结束*****************************/ system("cls"); /*用 system 调用 dos 命令,清屏*/ do { s=Interface(menu,6); switch (s) /*转向语句,选择以实现不同的功能*/ { case 0: n=Add(n,sta);break; case 1: Display(sta,0,n-1);break; case 2: Sort(sta,n);break; case 3: Find(sta,n);break; case 4: Modify(sta,n);break; case 5: n=Delete(sta,n);break; } } while(s>=0&&sn+1); return (i-1);
/*****亲幸*****家春客***亲幸*****亲**幸幸*春亲率*料 添加信息函数 int Add(int start, struct staff*p) Int n. for(n=start; nunit, e")==0)break, /*若输入e则结束数据输入 printi("姓名:"), scanf("%s", (p+n)->name); printi("性别(Male/ Female):") scanf("%s" (p+n)->sex) printi("年龄:"), scanf("%d", &((p+n)->age) printi("身高(cm):") scanf("%od", &((p+n)->height)) printi("体重(kg):") scanf("%d", &((p+n)->weight)); 显示信息函数 void Display (struct staff*p, int start, int end) Int I: printf("n%10%105%10s","单位","姓名","性别") 显示标题* printf("%10s%10s%10s”"年龄","身高”"体重") printf("n for(istart; inamep+)>s printf("%10d%10d%10d", (p+i)->age, (p+i)->height, (p+i)->weight); printf("\n");
} /**********************************************************\ 添加信息函数 \**********************************************************/ int Add(int start,struct staff *p) { int n; for (n=start;nunit); if (strcmp((p+n)->unit,"e")==0) break; /*若输入 e 则结束数据输入*/ printf("姓名:"); scanf("%s",(p+n)->name); printf("性别(Male/Female):"); scanf("%s",(p+n)->sex); printf("年龄:"); scanf("%d",&((p+n)->age)); printf("身高(cm):"); scanf("%d",&((p+n)->height)); printf("体重(kg):"); scanf("%d",&((p+n)->weight)); } return n; } /**********************************************************\ 显示信息函数 \**********************************************************/ void Display(struct staff *p, int start, int end) { int i; printf("\n%10s%10s%10s","单位","姓名","性别"); /*显示标题*/ printf("%10s%10s%10s","年龄","身高","体重"); printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); for(i=start;iunit,(p+i)->name,(p+i)->sex); printf("%10d%10d%10d",(p+i)->age,(p+i)->height,(p+i)->weight); printf("\n");
按姓名排序函数 void Sort(struct staff"p, int n) Int I for(i=0,iname, (p+j)->name)>0)k-j if(il=k) Swap(p+k, p+i) /交换会员信息* printf("n完成排序!n") 查找信息函数 int Find(struct staff*p, int n) Int I char str[201 printf("Ⅶn请输入会员姓名") FSearch(p, str, n) if(i==-1) printi("没有匹配信息,请重试%s!ln",str), Display(p, 1, i); printf("按任意键回到主界面n") retur int Search( struct staff *p, char *t, int n) for (i=0; i<n; 1++)
} } /**********************************************************\ 按姓名排序函数 \**********************************************************/ void Sort(struct staff *p,int n) { int i,j,k; for (i=0;iname,(p+j)->name)>0) k=j; if(i!=k) Swap(p+k,p+i); /*交换会员信息*/ } printf("\n 完成排序!\n"); } /**********************************************************\ 查找信息函数 \**********************************************************/ int Find(struct staff *p,int n) { int i; char str[20]; printf("\n 请输入会员姓名:"); scanf("%s",str); i=Search(p,str,n); if(i==-1) printf("没有匹配信息,请重试 %s!\n",str); else Display(p,i,i); printf("按任意键回到主界面.\n"); getchar(); return i; } int Search(struct staff *p,char *t,int n) { int i; for (i=0;i<n;i++)
if( strcmp((p+)->name, t)) /*将输入信息与已有信息比较* 修改信息函数 **亲幸本本**春本率**幸**幸*率*幸率本李率**幸**/ void Modify(struct staff*p, int n) i=Find(p, n) /*查找待修改的信息* if(>=0) printi("请输入新信息n") printi("单位:") scanf("%s", (p+i)->unit); printi("姓名:") scanf("%s" (p+i)->name) printi("性别(Male/ Female):") printf("年龄:") scanf("%od", &((p+i)->age)) printi("身高(cm):") scanf("%od", &((p+i)->height)); printi("体重(kg):") t); printf(("in修改已完成!n") 本本**亲本本**幸本本**容*本本客本本本本*本幸本*亲本客***\ 删除信息函数 int Delete(struct staff"p, int n) =Find(p, n) /*查找待删除的信息* if(>=0) p[i=p[n-1] /*将最后一条记录覆盖当前记录*
if(!strcmp((p+i)->name,t)) /*将输入信息与已有信息比较*/ return i; return -1; } /**********************************************************\ 修改信息函数 \**********************************************************/ void Modify(struct staff *p,int n) { int i; i=Find(p,n); /*查找待修改的信息*/ if(i>=0) { printf("请输入新信息:\n"); printf("单位:"); scanf("%s",(p+i)->unit); printf("姓名:"); scanf("%s",(p+i)->name); printf("性别(Male/Female):"); scanf("%s",(p+i)->sex); printf("年龄:"); scanf("%d",&((p+i)->age)); printf("身高(cm):"); scanf("%d",&((p+i)->height)); printf("体重(kg):"); scanf("%d",&((p+i)->weight)); printf("\n 修改已完成!\n"); } } /**********************************************************\ 删除信息函数 \**********************************************************/ int Delete(struct staff *p,int n) { int i; i=Find(p,n); /*查找待删除的信息*/ if(i>=0) { p[i]=p[n-1]; /*将最后一条记录覆盖当前记录*/ n=n-1;
printf("hn信息已删除!n") 信息互换函数函数 \**幸*亲亲幸本本*春本客***亲率 *水常涂*客水水水*水水亦水*客水* void Swap(struct staff*pl, struct staff*p2) struct staff temp
printf("\n 信息已删除!\n"); } return n; } /**********************************************************\ 信息互换函数函数 \**********************************************************/ void Swap(struct staff *p1,struct staff *p2) { struct staff temp; temp=*p1; *p1=*p2; *p2=temp; }