24点程序(2)

原创 2005年03月01日 13:04:00

终于搬完家了,现在程序的基本界面已经基本上完成了,剩下的是函数的设计代码部分了,本来打算设计成互动模式的,就是做成个小游戏,现在看来还是先把核心的部分搞好后看情况而定了,有时间就搞。
   设计界面的时候碰到了了个小麻烦。就是随机产生4个数的问题
我的代码为这样的:
void CMy24pointDlg::OnStart()
{
 // TODO: Add your control notification handler code here
 //产生4个随机数
  for(int i=0;i<4;i++)
 {
  srand( (unsigned)time( NULL ) );
  num[i]=rand()%13;
 }
 
 //把随机数放到对话框上
 SetDlgItemInt(IDC_NUM1,num[0],FALSE);
 SetDlgItemInt(IDC_NUM2,num[1],FALSE);
 SetDlgItemInt(IDC_NUM3,num[2],FALSE);
 SetDlgItemInt(IDC_NUM4,num[3],FALSE);
}

产生的4个随机数老是一样子的。
 然后改为
srand( (unsigned)time( NULL ) );
for(int i=0;i<4;i++)
 {
  
  num[i]=rand()%13;
 }


这样问题就解决了
我用的那种方法产生随机数的播种函数每次产生的种子是一样的所以每次产生的随机数也是一样的。
特别感谢论坛上的几位兄弟的帮忙。

由于手头没有堆栈的基本操作函数,我就写了一个
#include <iostream.h>
#include <stdlib.h>
#include <string.h>

 

const MAXNUM=100;
class stack
{
private:
 int top;//指向栈顶的
 char stacklist[MAXNUM];
public:
 stack()
 {
  top=-1;
 }
 //~stack();
 void Initstack();// 初始化 s 为空栈
 void Push(char x); // 将元素 x 插入 s 的栈顶
 char Pop();// 删除 s 中的栈顶元素
 bool SEmpty();// 若栈 s 为空则返回 TRUE,否则返回 FALSE
 char GetTop();// 返回 s 中的栈顶元素
 void ClearStack();// 将栈 s 清空
 int StackLength();// 返回栈 s 中元素个数
 void StackList();//显示栈里的元素
 //void DestroyStack();// 销毁栈 s 结构
};

//对栈进行操作
void stack::Initstack()
{
 top=-1;
}

void stack::Push(char x)
{
 if(top==MAXNUM-1)
 {
  cerr<<"栈已近满了"<<endl;
 }
 
 else
 {
  top++;
  stacklist[top]=x;
 }
}

char stack::Pop()
{
 if(top==-1)
 {
  cerr<<"栈已近空了"<<endl;
  exit(1);
 }
 else
 {  
  return stacklist[top];
  top--;
 }
}


bool stack::SEmpty()
{
 if(top==-1)
 {
  return 1;
 }
 else
 {
  return 0;
 }
}


char stack::GetTop()
{
 if(-1==top)
 {
  cerr<<"栈已近空了"<<endl;
  exit(1);
 }
 else
 {
  return stacklist[top];
 }


void stack::ClearStack()
{
 if(-1==top)
 {
  cerr<<"栈已近空了"<<endl;
  exit(1);
 }
 else
 {
  top=-1;
 }
}


int stack::StackLength()
{
 return top+1;
}


void stack::StackList()
{
 //CString str;
 
 if(-1==top)
 {
  cerr<<"栈已近空了"<<endl;
  exit(1);
 }
 else
 {
  char* str=new char[top];
  for(int i=0;i<top;i++)
  {
   //str=str+stacklist[i];
   str[i]=stacklist[i];
  }
  cout<<str<<endl;
  delete[] str;
 }
}

/*void stack::DestroyStack()
{

}*/

还有两个关键性问题下次再完成了
1)后缀表达式的求值
2)中最表达式变后缀

微信小程序 之 初体验(24点游戏)

根据网上的教程,申请了小程序开发,试着玩玩哈。 申请教程: http://www.ym360.cn/4049587.html 主要熟悉了一下小程序开发,熟悉了下各个组件    主要写了个九九乘法表、...

24点游戏 程序(二)

前面既然确定了后缀表达式的序列。 那就可以开始遍历了。 #include #include #include #include #include #include using name...
  • problc
  • problc
  • 2012年02月26日 14:05
  • 1182

利用android studio做一个java版的24点小程序

这是我第一次写博客,不喜勿喷。 这次做的主要是利用android studio做一个java版的24点小程序。因为之前查阅资料没查到满意的,所以自己写了一个,给有需要的人提供一下帮助。内容中涉及到算...

24点游戏的Matlab程序

function GUI_games24 S.fh = figure('units','pixels',... 'position',[500 500 800 200],... 'me...
  • qshbbh
  • qshbbh
  • 2013年03月17日 23:49
  • 1747

一个求24点所有可能解的VB源代码及程序实现

求24点的VB的不多。网上求一种解的代码多,但是求所有解的代码和程序更不多。最近花了2天做了一个求24点所有解的VB小程序。...

使用Olami SDK实现一个语音输入数字进行24点计算的iOS程序

前言在目前的软件应用中,输入方式还是以文字输入方式为主,但是语音输入的方式目前应用的越来越广泛。这是一个利用 Olami SDK 编写的一个24点iOS程序,是通过语音进行输入。 Olami...

PAT 2-08 用扑克牌计算24点(C语言实现)

原题描述题目描述: 一副扑克牌的每张牌表示一个数(J、Q、K分别表示11、12、13,两个司令都表示6)。任取4张牌,即得到4个1~13的数,请添加运算符(规定为加+ 减- 乘* 除/ 四种)使之...

纸牌24点,Python程序实现

最近刚刚接触python,又恰巧和室友玩纸牌,想到小时候玩的24点游戏,所以当做练习,写了一段代码。 参考了一位叫GreatAnt网友的程序,但是他实现的只是一种计算结果的输出,为了看到所以计算可能...
  • nimo97
  • nimo97
  • 2017年11月05日 13:53
  • 52

开篇词,贴一个刚写的24点牌程序作为实验

前几天突然决定在CSDN开一个博客。以前在其它地方也开过,可都无疾而终。最近大半年在CSDN看过很多朋友写的技术帖,深羡慕之,遂也决定自己开个一亩三分地。一来,将自己学到的一些东西做一个整理,二来,也...

新人向 JAVA 24点简单程序

第一次写博客,请多多指教! /* * 功能:1.随机生成4张点数1—13的牌 *            2.输入运算表达式判断是否为24点 *             3.判断是否输错数值 *    ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:24点程序(2)
举报原因:
原因补充:

(最多只允许输入30个字)