注册 登录
编程论坛 C++教室

21点

心动音符 发布于 2006-05-14 22:10, 956 次点击

#include <iostream>
#include <stdlib.h>
using namespace std;
main()
{int i=0,k=0;
char j;
cout<<"请按a要牌,任意键结束"<<endl;
do
cin>>j;
while(j!='a');
while(j=='a')
{
i+=rand()%13;
k+=rand()%13;
cout<<i<<endl<<"是否继续";
cin>>j;
}
i=21-i;
k=21-k;
cout<<"电脑:"<<21-k<<endl;
if(i<0&&k<0)
cout<<"平局";
if(i<0&&k>0||i>0&&k<0)
{if(i<0)
cout<<"电脑win"<<endl;
else cout<<"you winer"<<endl;}
if(i>0&&k>0)
{if(i<k)
cout<<"you winer"<<endl;
else
cout<<"电脑win"<<endl;}
return 0;
}

为什么我每次按a继续和按任意键退出的时候都要按回车键来确认啊?有没有什么办法使得按a就继续按任意键就直接退出而不要每次都按回车来确认啊?还有为什么我每次运行时给我的数值到是2,5,12,24....啊我用的不是随机的吗 为什么每次都一样啊如图:

只有本站会员才能查看附件,请 登录

9 回复
#2
心动音符2006-05-14 22:13
还有哪位能有好的算法 我这写的太多了 也不是很容易看。能不能帮我修改一下 谢过
#3
wfpb2006-05-14 22:38
srand(time(0));加上这句,随机数种子。因为你那个是有规律的,所以这个是以现在的时间作为种子,是不会相同的。
#4
wfpb2006-05-14 23:08
按a就继续,不按回车。
这里要用到api函数吧
#5
huanguyu2006-05-15 10:36

受教了

#6
wfpb2006-05-16 20:26
有个函数不记得了,可以识别是否 有按键操作 ,返回一个bool值,这里可以解决最后的问题,但是不记得那个函数了,只知道头文件是cstdlib
#7
ccf2007-06-25 09:03
我顶
#8
麦芽糖和棉花糖2007-06-25 16:16
#9
野比2007-06-25 19:55
不知道为啥, 脑子里突然想起汇编的00,01中断了...也是读取键盘的...
#10
游乐园2007-06-25 20:12
控制台下获取按键动作? 好像一般都得用回车来通知输入缓冲区吧
VC++里的message到是有WM_CHAR的方法获知按键动作
1