ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:293.76KB ,
资源ID:3444011      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3444011.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(24点游戏.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

24点游戏.docx

1、24点游戏 课程设计报告 题 目 24点游戏 课 程 名 称 院 部 名 称 专 业 班 级学 生 姓 名 学 号 课程设计地点 课程设计学时 指 导 教 师 课程设计报告目录一、实验目的和要求 1二、实验仪器和设备 1三、实验过程 2四、实验结果与分析 19五、实验心得 20一、实验目的和要求1实验目的1) 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;2) 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3) 提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4) 训练用系统的观点和软件开发一般规范进行软件开发。5) 培养快速学习新的知

2、识,并在项目中使用的能力。2实验要求设计并实现24点游戏,满足以下基本要求: 运行系统后,出现登录/注册初始界面,允许用户选择“注册”、“登录”或“退出”。用户分为2类:管理员、一般用户,他们拥有不用权限。管理员可以对用户信息实现增、删、改、查等管理操作;一般用户可以进入游戏,以及查看英雄榜。玩家开始游戏后,系统随机产生四个1-13的数,分别代表13张牌。提示玩家输入算式。判断玩家输入的表达式是否合法,其中算式中的四个数字只能是程序所给的四个数字。当玩家正确输入算式后,运用“用堆栈求解表达式”的原理,求出结果并判断是否为24,得出用户是输是赢的结果。如果用户赢,计算其所用时间(从输入算式开始计

3、算,直至输入算式结束),并与英雄榜中成绩进行比较。可以进入英雄榜的,则需更新英雄榜。英雄榜只按成绩降序记录1-5名相关信息。二、实验仪器和设备Microsoft WindowsXP / Windows 7Turbo C/Visual C+三、实验过程1需求分析 (1)功能模块 2 概要设计 登录注册初始界面前台界面:后台界面:3详细设计:实现初始界面,前台界面,后台界面之间的转换#include#includechar c;void regist();void log();void cpassword();void begin();void herotop();void shift();voi

4、d add();void del();void alter();void search();index() char ch; system(cls); printf(t*n); printf(t* *n); printf(t* 24点游戏 *n); printf(t* *n); printf(t*n); printf(n); printf(n); printf(n); printf(n); printf(t1 注册n); printf(t2 登陆n); printf(t3 修改密码n); printf(t4 退出n); printf(tchoose you want to:); ch=getc

5、har(); c=getchar(); switch(ch) case 1: regist();break; case 2: log();break; case 3: cpassword();break; case 4: system(cls);printf(再见!n);exit(0);break; game() char ch; system(cls); printf(t*n); printf(t* *n); printf(t* 24点游戏 *n); printf(t* *n); printf(t*n); printf(n); printf(n); printf(n); printf(n);

6、 printf(t1 开始游戏n); printf(t2 查看英雄榜n); printf(t3 切换用户n); printf(t4 退出n);/* 跳转到登陆界面*/ printf(tchoose you want to:); ch=getchar(); c=getchar(); switch(ch) case 1: begin();break; case 2: herotop();break; case 3: shift();index();break; case 4: index();break; admisit() char ch; system(cls); printf(t*n); p

7、rintf(t* *n); printf(t* 24点游戏 *n); printf(t* *n); printf(t*n); printf(n); printf(n); printf(n); printf(n); printf(t1增加用户n); printf(t2删除用户n); printf(t3修改用户信息n); printf(t4查找用户信息n); printf(t5退出n);/* 跳转到登陆界面*/ printf(tchoose you want to:); ch=getchar(); c=getchar(); switch(ch) case 1: add();break; case

8、2: del();break; case 3: alter();break; case 4: search();break; case 5: index();break;/*跳转到登录界面*/ main() index(); void regist()/*登录界面函数*/ system(cls); printf(注册n);void log() char type; system(cls); printf(登录n); printf(choose user type:); type=getchar(); c=getchar(); switch (type) case u:game();break;

9、/*用户*/ case a:admisit();break;/*管理员*/void cpassword() system(cls); printf(修改密码n);void begin()/*游戏界面函数*/ system(cls);printf(开始游戏n);void herotop() system(cls);printf(查看英雄榜n); void shift() system(cls);printf(切换用户n);void add()/*后台界面函数*/ system(cls);printf(增加用户n);void del() system(cls);printf(删除用户n);void

10、 alter() system(cls);printf(修改用户信息n);void search() system(cls);printf(查找用户信息n);4编码#include stdio.h /*标准输入输出函数库*/#include stdlib.h /*标准函数库*/#include string.h /*字符串函数库*/#include conio.h /*屏幕操作函数库*/#define HEADER1 -游戏用户信息文件- n#define HEADER2 | 用户名 | 密码 |n#define HEADER3 |-|-|n#define FORMAT | %-10s|%-1

11、5s|n#define DATA p-name,p-pwd#define END -n#define N 100int saveflag=0; /*是否需要存盘的标志变量*/*定义与用户文件有关的数据结构*/typedef struct userinfo /*标记为userinfo*/char name10; /*姓名*/char pwd15; /*密码*/USERINFO;void menu() /*主菜单*/system(cls); printf( 游戏用户管理 n);printf( *Menu*n);printf( * 1 添加记录 2 显示记录 *n);printf( * 3 删除记录

12、 4 查询记录 *n);printf( * 5 修改记录 6 保存 *n);printf( * 7 退出 *n);printf( *n);/*格式化输出表头*/void printheader() printf(HEADER1); printf(HEADER2); printf(HEADER3); /*格式化输出表中数据*/void printdata(USERINFO pp) USERINFO *p; p=&pp; printf(FORMAT,DATA); /*显示数组temp中存储的用户记录,内容为userinfo结构中定义的内容*/void Disp(USERINFO temp,int

13、n)int i;if(n=0) /*表示没有用户记录*/ printf(n=没有用户记录,请输入!n); getchar(); return;printf(nn);printheader(); /*输出表格头部*/i=0;while(i没有发现此用户记录!n);/*作用:用于定位数组中符合要求的记录,返并回保存该记录的数组元素下标值参数:findmess保存要查找的具体内容; name保存按什么在数组中查找;*/int Locate(USERINFO temp,int n,char findmess,char name)int i=0; if(strcmp(name,name)=0) /*按姓

14、名查询*/ while(in) if(strcmp(tempi.name,findmess)=0) /*若找到findmess值的姓名*/ return i; i+; return -1; /*若未找到,返回一个整数-1*/*输入字符串,并进行长度验证(长度 lens) printf(n 输入长度越界! n); /*进行长度校验,超过lens值重新输入*/ while(strlen(n)lens); strcpy(t,n); /*将输入的字符串拷贝到字符串t中*/ /*增加用户记录*/int Add(USERINFO temp,int n) system(cls); Disp(temp,n);

15、 /*先打印出已有的用户信息*/ stringinput(tempn.name,15,用户名:); stringinput(tempn.pwd,15,密码:); n+; return n;/*按用户名,查询用户信息记录*/void Qur(USERINFO temp,int n)int select; /*1:按姓名查,2:返回主界面(菜单)*/char searchinput15; /*保存用户输入的查询内容*/int p=0;if(n无此条用户信息!n); getchar(); getchar(); return;system(cls);printf(n =1 按姓名查找 =2 返回主菜单

16、n);printf( 请选择1,2:);/getchar();scanf(%d,&select);if(select=1) /*按姓名查询*/ stringinput(searchinput,10,请输入要查询的用户名:); p=Locate(temp,n,searchinput,name); /*在数组temp中查找编号为searchinput值的元素,并返回该数组元素的下标值*/ if(p!=-1) /*若找到该记录*/ printheader(); printdata(tempp); printf(END); printf(press any key to return); getcha

17、r(); else Nofind(); getchar();else if(select=2) /*返回主菜单*/ menu(0);/*删除用户记录:先找到保存该记录的数组元素的下标值,然后在数组中删除该数组元素*/int Del(USERINFO temp,int n)int sel;char findmess20;int p=0,i=0;if(n没有用户信息!n); getchar(); return n;system(cls);Disp(temp,n);printf(n =1 按姓名删除 =2返回主菜单n);printf( 请选择1,2:);scanf(%d,&sel);if(sel=1

18、) stringinput(findmess,10,输入要删除的用户名:); p=Locate(temp,n,findmess,name); getchar(); if(p!=-1) for(i=p+1;i删除成功!n); n-; getchar(); saveflag=1; else Nofind(); getchar(); else if(sel=2) /*返回主菜单*/ menu(); return n;/*修改用户记录。先按输入的联系人姓名查询到该记录, 然后提示用户修改该记录编号之外的值,编号不能修改*/void Modify(USERINFO temp,int n)char fin

19、dmess20;int p=0;if(n没有此用户信息!n); getchar(); getchar(); return ;system(cls);printf(修改用户记录);Disp(temp,n);stringinput(findmess,10,请输入要修改的用户名:); /*输入并检验该姓名*/p=Locate(temp,n,findmess,name); /*查询到该数组元素,并返回下标值*/if(p!=-1) /*若p!=1,表明已经找到该数组元素*/ printf(用户名:%s,tempp.name); stringinput(tempp.name,15,输入新用户名:); pr

20、intf(密码:%s,tempp.pwd); stringinput(tempp.pwd,30,输入新密码:); printf(n=修改成功!n); getchar(); Disp(temp,n); getchar(); saveflag=1;else Nofind(); getchar(); return ;/*数据存盘,若用户没有专门进行此操作且对数据有修改,在退出系统时, 会提示用户存盘*/void Save(USERINFO temp,int n)FILE* fp;int i=0;fp=fopen(c:userinformation,w);/*以只写方式打开文本文件*/if(fp=NU

21、LL) /*打开文件失败*/ printf(n=打开文件错误!n); getchar(); return ;for(i=0;i0) getchar(); printf(nn=保存成功,共有:%d条记录n,i); getchar(); saveflag=0;elsesystem(cls); printf(当前链接为空,没有用户信息!n); getchar(); fclose(fp); /*关闭此文件*/void main() USERINFO userN; /*定义 USERINFO结构体*/ FILE *fp; /*文件指针*/ int select; /*保存选择结果变量*/ char ch

22、; /*保存(y,Y,n,N)*/ int count=0; /*保存文件中的记录条数(或元素个数)*/ fp=fopen(C:userinformation,a+); /*以追加方式打开文本文件c:userinformation,可读可写,若此文件不存在,会创建此文件*/ if(fp=NULL) printf(n=无法打开文件!n); exit(0); while(!feof(fp) if(fread(&usercount,sizeof(USERINFO),1,fp)=1) /*一次从文件中读取一条用户记录*/ count+;fclose(fp); /*关闭文件*/printf(n=打来文件成功,共有%d记录.请按回车键进入系统.n,count);getchar();menu();while(1) system(cls); menu(); printf(n 请输入选择(1-7):); /*显示提示信息*/ scanf(%d,&select); if(select=7) if(saveflag=1) /*若对数组的数据有修改且未进行存盘操作,则此标志为1*/ getchar(); printf(n=是否保存记录到文件?(y/n):); scanf(%c,&ch); if(ch=y|ch=Y) Save(user,count); printf(n=谢谢使用!n); g

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1