C语言猜拳游戏代码及分析
if(p1->money>p2-> if(p1-> if(p1->money>p2-> if(p1-> if(money> ok(game_t *p,int *count,int *my){ intchose=0; while(TRUE){ chose=0; look_menu(); printf("请选择:"); scanf("%d",&chose); fflush_in(); switch(chose){ case1: //个人 look_my(p,my); break; case2: //所有 look_all(p,count); break; case3: //返回 return; break; default: printf("输入错误,请重新输入"); } } } //查看所有 void look_all(game_t *p,int *count){ inti=0; //i表示游戏次数 intj=0; //j表示胜利次数 intk=0; printf("用户 金额 胜率 "); for(k=0;k<*count;k++){ i=p[k].times; j=p[k].win; printf("%s %.2f %.2lf%% ",p[k].name, p[k].money,i==0?0:(double)j/i*100); } } //查看个人 void look_my(game_t *p,int *my){ inti=0; //i表示游戏次数 intj=0; //j表示胜利次数 i=p[*my].times; j=p[*my].win; printf("用户名:%s",p[*my].name); printf("密 码:%s",p[*my].password); printf("金 额:%.2lf",p[*my].money); printf("胜 率:%.2lf%%",i==0?0:(double)j/i*100); } //查看菜单 void look_menu(){ printf("1.个人 2.所有 3.返回"); } //功能菜单函数 void ctrl_menu(){ printf("1.查看 2.游戏 3.充值 4.修改 5.排序 6.返回"); } //登录控制函数 void log_ctrl(game_t *p,int *count,int*my){ intchose=0,chose2=0; while(TRUE){ chose=0; chose2=0; log_menu(); printf("请选择:"); scanf("%d",&chose); fflush_in(); switch(chose){ case1: //登录 if(log_in(p,count,my)==1) printf("登录失败"); else{ printf("登录成功"); ctrl(p,count,my); } break; case2: //注册 if(add_user(p,count)==1) printf("注册失败"); else printf("恭喜您,注册成功"); break; case3: //退出 printf("是否退出?1.是 2.否"); printf("请选择:"); scanf("%d",&chose2); fflush_in(); if(chose2==1){ if(exit_save(p,count)==0) printf("信息保存成功"); else printf("信息保存失败"); exit(0); } else log_ctrl(p,count,my); break; default: printf("输入错误,请重新输入"); } } } //登录函数 0-成功 1-失败 int log_in(game_t *p,int *count,int *my){ inti=0,flag=0; charname[30]="",pass[30]=""; printf("用户名:"); fgets(name,30,stdin); name[strlen(name)-1]=; flag=0; for(i=0;i<*count;i++) if(strcmp(p[i].name,name)==0){ *my=i; flag=1; break; } if(flag==0){ printf("用户不存在"); return1; } i=0; while(i<3){ printf("密码:"); fgets(pass,30,stdin); pass[strlen(pass)-1]=; if(strcmp(p[*my].password,pass)==0){ return0; } printf("密码输入错误,请重新输入"); i++; } if(i==3){ printf("登录失败"); printf("登录次数超过三次,您将退出系统"); if(exit_save(p,count)==0) //保存信息 printf("信息保存成功"); else printf("信息保存失败"); exit(1); } return0; } //注册函数 0-成功 1-失败 int add_user(game_t *p,int *count){ inti=0; charname[30]=""; charpass[30]="",pass2[30]=""; if(*count>100){ printf("注册用户已满"); return1; } printf("提示:用户名长度为3-28"); printf("用户名:"); fgets(name,30,stdin); name[strlen(name)-1]=; if(strlen(name)<3||strlen(name)>28){ //用户名长度3-28 printf("用户
C语言猜拳游戏代码及分 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)