C语言程序课程设计—读心术
文章目录
- 前言
- 这是我大学C语言程序课程设计的第一个项目((●’◡’●)),还是挺开心滴哈哈。虽然这个项目制作难度不高,代码量也不多,但只要你手法足够,任何简单的东西都能够复杂化滴。
- 一、游戏规则
- 二、原理
- 三、代码
- 总结
前言
这是我大学C语言程序课程设计的第一个项目((●’◡’●)),还是挺开心滴哈哈。虽然这个项目制作难度不高,代码量也不多,但只要你手法足够,任何简单的东西都能够复杂化滴。
一、游戏规则
读心术,顾名思义,就是我能知道你心里所想的东西呗。当然,这玩意没有这么神奇哈,怎么可能知道你在想撒子呢对吧。这里的读心术只是我们被套路了而已。
具体规则:从0~7中选择一个数默想在心中,选择完之后需要回答三个问题,每次回答输入1或0,如果输入了其他的数字或字母将会要求重新输入,三个问题回答完之后,就能知道你心中所想的那个数字了,然后我们在原有的基础上增加了一个用户登入的系统,也就是说只有正确的输入账号和密码才能够登入成功来进行游戏,但是注意如果账号输入错误时需要重新输入账号,账号输入正确但密码输入错误时也需要重新输入账号,账号密码输入错误次数共达三次的话将会无法进行输入,需在下次打开游戏时才能再次输入。
二、原理
读心术的本质其实就是进制转换的问题,首先我们先把0到7的八个数字从十进制转换成二进制,最大数7的二进制是111,也就是说三位的二进制就够了,位数不够的地方补0即可。0:000,1:001,2:010,3:011,4:100,5:101,6:110,7:111。然后我们从这八个数二进制的低位往高位看,看看相同位的都为1的数字有哪些,所以第一个问题就是1、3、5、7,第二个问题是3、5、6、7,第三个问题是4、5、6、7。然后我们根据回答问题的1或0即可知道你心里所想的数,也就是说这个数字是我们计算出来的。
三、代码
#include <bits/stdc++.h>
using namespace std;
int main()
{ int num[3][4] = {{1, 3, 5, 7}, {2, 3, 6, 7}, {4, 5, 6, 7}};int sum=0,t=1;printf("\t\t\t\t\t\t欢迎来到读心术游戏\t\n");string s="jiruan6ban";int password = 123456789;for(int i=1;i<=3;i++){cout<<"请输入您的用户名:"<<endl;string username;cin>>username;int password1;if(username==s){cout<<"用户名正确,请输入密码:"<<endl; cin>>password1;if(password1==password){cout<<"密码正确!登入成功!"<<endl<<endl;cout<<"接下来将进行读心术的游戏了哦!"<<endl;cout << "请从下面的数字(0~7)中选择一个默念在心中" << endl;cout << "0、1、2、3、4、5、6、7"<<endl;cout<<"心里有数了叭!接下来我只需要询问您三个问题就能知道您想的那个数是什么,怎么? 不信吗?那么咋们走着瞧吧哈哈"<<endl<<endl;for(int i=0;i<=2;i++){printf("第%d个问题~下面的数字是否有你所想的:",i+1);for(int j=0;j<=3;j++){cout<<num[i][j]<<" ";}char a ;cout<<"请输入1(有) 或 0(没有)"<<endl;while(1){cin>>a;if(a!='0'&&a!='1'){printf("输入非法,请重新输入:\n");continue;} elsebreak;}if(a =='1'){sum+=t;t*=2;}elset*=2;}printf("见证奇迹的时刻到啦!你心里想的那个数字是 %d 吧嘿嘿\n",sum);return 0;}else{cout<<"密码错误!"<<endl;continue; } }else{cout<<"用户名错误!"<<endl;continue;}}cout<<"抱歉!您已输入错误三次,无法再次进行输入,为确保账号的安全,请在下次打开时进行尝试!"<<endl; }
代码测试:
我想的确实是7,可恶居然被它猜到了。不信的话你来试试咯!
总结
总的来说,不论是做读心术项目还是其他的一些项目,都是需要有规则的,规则是面向用户的,帮助用户了解如何进行操作,而项目的原理是需要我们通过代码来实现的,而代码本身是我们写出来的,所以原理相当于是把我们所熟知的东西写成代码让计算机能够理解从而去执行。拓展是在原有的基础上加上一些别的功能,增加游戏的可玩性。画出了整个程序的流程图我们就能清楚的知道这个项目的框架,当我们的程序某个部分出现Bug时我们就可以根据流程图快速找到出现问题的那部分从而对症下药。分析代码的过程可以提升我们的框架思维,对项目有一个更好的理解。
C语言程序课程设计—读心术相关推荐
- c语言课设学生管理程序,c语言程序课程设计学生成绩管理程序.doc
c语言程序课程设计学生成绩管理程序 武汉科技大学 二〇一〇~二〇一一学年第一学期 信息科学与工程学院 课程设计报告书 课程名称: C语言课程设计 班 级: 自动化2009级2班 学 号: 姓 名: 指 ...
- c语言程序课程设计问题,矩形问题-C语言程序课程设课程设计(论文).doc
矩形问题-C语言程序课程设课程设计(论文) PAGE PAGE \* MERGEFORMAT 20课程设计(论文)题 目 名 称 矩形问题 课 程 名 称 C语言程序课程设计 学 生 姓 名 xxx ...
- c语言程序设计课程设计心得体会,C语言程序课程设计心得体会
在科技高度发展的今天,计算机在人们之中的作用越来越突出,学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要. 在这个星期里,我们专业的学生在专业老师的带领下进行了c ...
- c语言课设宿舍管理程序,C语言程序课程设计宿舍管理软件.doc
C语言程序课程设计宿舍管理软件.doc 课程设计(论文) 题 目 名 称 宿舍管理软件 课 程 名 称 C语言程序课程设计 学 生 姓 名 学 号 系 .专 业 信息工程系.信息大类 指 导 教 师 ...
- 职工工资程序c语言doc,C语言程序课程设计---职工工资单系统.doc
C语言程序课程设计---职工工资单系统.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水 ...
- c语言程序课程设计摘要,C语言程序课程设计报告精编.docx
湖南涉外经济学院 课程设计报告 课程名称: 报告题目: 学生姓名: 所在学院: 专业班级: 学生学号: 指导教师: C语言课程设计 **爱若烟花空< 信息科学与工程学院 **** 爱若 烟 花* ...
- 歌手比赛系统c语言程序注释,C语言程序课程设计—歌手比赛系统(20页)-原创力文档...
淮南师范学院 课程设计报告 歌手比赛系统 姓 名:胡欢欢 学号: 1008010109 专 业:计算机科学与技术 班 级: 10 级( 1)班 指导教师:彭飞 职称: XXX 2013 年 3 月 7 ...
- c语言程序课程设计投票程序,C语言课程设计--C语言投票程序.doc
C语言课程设计--C语言投票程序 C程序设计实习报告 题目:C语言投票程序 学 院: 专 业: 姓 名: 班级学号 指导教师: 2010 年 07 月 17 日 目录 一.课程设计题目描述与要求--- ...
- c语言程序课程设计报告ppt,《C语言程序设计》课程设计报告_模板(样例).docx
<C语言程序设计> 课程设计报告 (2015- 2016 学年第 3 学期) 姓名 : 学号 : 院系 : 专业 : 班级 : 指导教师 :孙金华 成绩 : 计算机与信息工程 学院 201 ...
最新文章
- 7.分布式数据库HBase第3部分
- boost::statechart模块实现无效结果复制测试
- Android.text.TextUtils类
- 学习笔记之数据可视化(一)——项目适配方案
- Linux入门学习(二)
- vb.net 打开ie 传参数_FF与IE对javascript和CSS的区别?
- php json_encode 中文乱码解决方法
- python分配问题_1.1python解决数学建模之席位分配问题
- 什么是mysql显错注入_十种MYSQL显错注入原理讲解(三)
- win10同步服务器文件夹,和彩云如何设置同步文件夹?
- GB2312 GBK BIG5
- Excel的基本操作(一):保护功能、快速输入数据、导入txt数据和导入Access数据库、Excel数据类型等基本操作
- #pragma comment(lib 的用法
- Maven问题总结 - 3 - 技术改变生活商业成就梦想 - 51CTO技术博客
- 硬件设计过程FPGA时钟引脚注意事项
- 至快乐的11.11---牛X光棍的呐喊!(转)
- 只有夏令营,入营0双非,想保中科大大数据学院应该怎么做?
- github commit 时丰富多彩的图标到底是怎么弄的?这样!
- 使用opencv查找两张图片不同的部分
- 优思学院|传统的质量管理和现代的六西格玛管理有何分别?