C语言猜拳游戏代码及分析
,函数功能要单一;一个函数不能超过50行; 避免重复、冗余代码; ◎ 代码块清晰。 ● 命名规范,变量名应该具有自明性: ◎ 函数的命名: 使用"动词"或者"动词+名词"(动宾词组)的形式,由一个或多个单词组成且以小写字母开头,以后每个单词之间用下划线隔开 ◎ 变量的命名与定义 应当使用"名词"或者"形容词+名词",由一个或多个单词组成且以小写字母开头,以后每个单词之间用下划线隔开。 ● 注释充分:变量、函数(包括参数、返回值)、代码功能块、一些复杂算法……等都需要 清晰明了地说明; 5. 对个性的规定 把项目做出个性出来。下列各项中有和比人不同之处、或很有创意,即可认为有个性。独立设计的软件,一般都会出现一些个性。参考、抄袭不会出现个性。 ● 设计思路:包括软件的整体架构、功能块的设计思路、函数封装等等; ● 功能实现:从用户的角度,使用上发现与众不同的地方; ● 其它方面; c语言程序代码: /* func:猜拳游戏 auth:肖乔 date:2014.02.22 */ #include #include #include #include #define TRUE 1 typedef struct { charname[30]; //用户名长度最长28 charpassword[30]; //密码长度最长28 doublemoney; inttimes; intwin; }game_t; //清空缓存 void fflush_in(); //登录菜单函数 void log_menu(); //功能菜单函数 void ctrl_menu(); //登录函数 int log_in(game_t *p,int *count,int *my); //注册函数 int add_user(game_t *p,int *count); //登录控制函数 void log_ctrl(game_t *p,int *count,int*my); //功能控制函数 void ctrl(game_t *p,int *count,int *my); //查看函数 void look(game_t *p,int *count,int *my); //查看菜单 void look_menu(); //查看所有 void look_all(game_t *p,int *count); //查看个人 void look_my(game_t *p,int *my); //初始化函数 int log_start(game_t *p,int *count); //保存函数 int exit_save(game_t *p,int *count); //充值函数 int pay(game_t *p,int *my); //修改函数 void alter(game_t *p,int *count,int *my); //修改菜单 void alter_menu(); //修改密码 int alter_pass(game_t *p,int *my); //注销用户 int del(game_t *p,int *count,int *my); //游戏控制函数 void game_ctrl(game_t *p,int *my); //游戏菜单 void game_menu(); //下注 int game_pay(game_t *p,int *my,double*mon); //游戏函数 void game_play(game_t *p,int *my,double*mon); //游戏 int game(); //排序控制函数 void cmp(game_t *p,int *count); //排序菜单 void cmp_menu(); //按金额排序函数 int cmp_money(const void *px,const void*py); //胜率函数 void win_times(game_t *p,int *count); //按胜率排序函数 int cmp_win(const void *px,const void *py); int main(){ game_tstu[100]={""}; //最多100个用户 intcount=0; //count表示用户数 intmy=0; //my表示本人用户下标 printf("欢迎使用猜拳游戏"); if(log_start(stu,&count)==0) //系统初始化 printf("系统初始化成功"); else printf("系统初始化失败"); log_ctrl(stu,&count,&my); //功能控制函数 return0; } //初始化函数 0-成功1-失败 int log_start(game_t *p,int *count){ FILE*fp=NULL; fp=fopen("data","a+"); if(NULL==fp) return1; while(fread(&p[*count],sizeof(game_t),1,fp)) *count+=1; fclose(fp); return0; } //保存函数 0-成功 1-失败 int exit_save(game_t *p,int *count){ FILE*fp=NULL; fp=fopen("data","w"); if(NULL==fp) return1;; fwrite(p,sizeof(game_t),*count,fp); fclose(fp); return0; } //功能控制函数 void ctrl(game_t *p,int *count,int *my){ intchose=0; while(TRUE){ chose=0; ctrl_menu(); printf("请选择:"); scanf("%d",&chose); fflush_in(); switch(chose){ case1: //查看 look(p,count,my); break; case2: //游戏 game_ctrl(p,my); break; case3: //充值 if(pay(p,my)==0) printf("充值成功"); else printf("充值失败"); break; case4: //修改 alter(p,count,my);
C语言猜拳游戏代码及分 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)