C语言猜拳游戏代码及分析
if(p1->money>p2-> if(p1-> if(p1->money>p2-> if(p1-> case-1: return1; default: return0; } } //下注 0-成功 1-失败 int game_pay(game_t *p,int *my,double*mon){ doublemoney=0.0; if(p[*my].money==0){ printf("您的余额为0.00,请充值"); return1; } printf("您的余额为:%.2lf元",p[*my].money); printf("请下注:"); scanf("%lf",&money); fflush_in(); if(money<=0){ printf("金额输入有误"); return1; } if(money>p[*my].money){ printf("余额不足,请充值"); return1; } *mon=money; return0; } //游戏菜单 void game_menu(){ printf("1.下注 2.猜拳 3.返回"); } //修改函数 0-成功 1-失败 void alter(game_t *p,int *count,int *my){ intchose=0; while(TRUE){ chose=0; alter_menu(); printf("请选择:"); scanf("%d",&chose); fflush_in(); switch(chose){ case1: //改密 if(alter_pass(p,my)==0) printf("修改密码成功"); else printf("修改密码失败"); break; case2: //注销 if(del(p,count,my)==0){ printf("注销成功"); log_ctrl(p,count,my); //功能控制函数 } else printf("注销失败"); break; case3: //返回 return; break; default: printf("输入错误,请重新输入"); } } } //注销用户 0-成功 1-失败 int del(game_t *p,int *count,int *my){ charpass[30]=""; inti=0,chose=0; printf("密码:"); fgets(pass,30,stdin); pass[strlen(pass)-1]=; if(!(strcmp(p[*my].password,pass))==0){ printf("密码输入错误"); return1; } printf("是否注销?1.是 2.否"); printf("请选择:"); scanf("%d",&chose); fflush_in(); if(chose==1){ for(i=*my;i<*count-1;i++){ strcpy(p[i].name,p[i+1].name); strcpy(p[i].password,p[i+1].password); p[i].money=p[i+1].money; p[i].times=p[i+1].times; p[i].win=p[i+1].win; } } else return1; *count-=1; return0; } //修改密码 0-成功 1-失败 int alter_pass(game_t *p,int *my){ charpass[30]="",pass2[30]=""; intchose=0; printf("密码:"); fgets(pass,30,stdin); pass[strlen(pass)-1]=; if(!(strcmp(p[*my].password,pass))==0){ printf("密码输入错误"); return1; } printf("提示:密码长度为6-28位"); printf("输入新密码:"); fgets(pass,30,stdin); pass[strlen(pass)-1]=; printf("确认新密码:"); fgets(pass2,30,stdin); pass2[strlen(pass2)-1]=; if(strcmp(pass,pass2)!=0){ printf("两次输入密码不一样"); return1; } if(strcmp(p[*my].password,pass)==0){ printf("新密码与原密码相同"); return1; } printf("是否改密?1.是 2.否"); printf("请选择:"); scanf("%d",&chose); fflush_in(); if(chose==1) strcpy(p[*my].password,pass); else return1; return0; } //修改函数菜单 void alter_menu(){ printf("1.修改密码 2.注销 3.返回"); } //充值函数 int pay(game_t *p,int *my){ inti=0; doublemoney=0; charpass[30]=""; charstr[10]="",str2[10]=""; printf("请输入金额:"); scanf("%lf",&money); fflush_in(); if(money<=0.0) return1; //验证码 for(i=0;i<5;i++){ srand((unsigned)time(NULL)+i); str[i]="0123456789abcdefghihklmnopqrstuvwxyz"[rand()%36]; } printf("充值密码:%s",str); printf(""); printf("请输入充值密码:"); fgets(str2,10,stdin); str2[strlen(str2)-1]=; if(strcmp(str,str2)!=0){ printf("充值密码输入错误"); return1; } printf("密码:"); fgets(pass,30,stdin); pass[strlen(pass)-1]=; if(!(strcmp(p[*my].password,pass))==0) return1; p[*my].money+=money; return0; } //查看函数 void lo
C语言猜拳游戏代码及分 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)