请各位大大帮忙呀~救命呀~

Home Home
引用 | 编辑 达摩
2005-06-15 23:41
楼主
推文 x0
设计一个简单的游戏,以乱数产生1至14之间除了7以外的整数,让游戏者猜此数字大或小于7。若游戏者连续猜中三次,则赠送下列神秘奖品之一:1.游戏者生日当月的日历。2.游戏者所属星座当日运势。3.一张有五组号码的乐透彩券。若游戏者猜20次仍未连续猜中三次则结束游戏。

需求规格:
设计一个具有下列功能的程式:
一、 猜数字之功能需求:
1.乱数产生的数字每次不同。
2.输入方式尽可能简化,如选2表示大于7,1表示小于7,0 表示不玩了。
二、设计神秘奖品之功能需求:
1.奖品种类由游戏者自选。
2.游戏者生日当月的日历:输入出生年月日,程式计算当月第一日为星期几,参考如下计算:若year为西元年份,y=year-1,该年的第一天是星期几之公式为day=(36+y+(y/4)-(y/100)+(y/400))%7+1
day应得到一个1~7的整数,1代表星期日,2代表星期一。
由该年的第一天是星期几推算当月第一日为星期几时,应注意闰年的问题(闰年的二月为29天)。所谓的闰年是(1)年份为百年且为400的倍数者(2)其余为4的倍数之年份。
3.游戏者 ..

访客只能看到部份内容,免费 加入会员



献花 x0
引用 | 编辑 nomaid
2005-06-16 00:01
1楼
  
你先把哪里有错 post上来吧~
这样比较好帮你看说 哪里有错^^

献花 x0
引用 | 编辑 达摩
2005-06-17 23:02
2楼
  
#include <iostream>
#include<stdio.h>
#include <stdlib.h>
#include <cstdlib>
#include<time.h>
using namespace std;
int main(){
  srand(time(NULL));
  int a[42];
  for(int i=0;i<42;i++){
        a=i+1;
        }
        int c=42;
        cout<<"==========乐透彩================\n\n";
        cout<<"       彩卷号码\n\n";
            for(int j=1;j<=6;j++){
            int b=rand()%c;
            int e=a;
           
            cout<<" "<<e<<" ";
            c--;
            for(int i=b;i<c;i++){
                  a=a[i+1];
                  }
                  }
                  cout<<endl<<endl;
                 
        cout<<"================================\n";
  system("pause");
  return 0;
  }

大大这是我新想出来的程式~星座当日运势和生日当月的日历想不出来了~有没有大大可以帮忙一下的呢~感恩唷~

献花 x0
引用 | 编辑 andyz
2005-06-18 01:25
3楼
  
复制程式
#include <iostream>
#include <cstdlib>
#include<time.h>
using namespace std; 
void calendar()
{
       int year,month,day,y,d;
       cout<<"输入出生年月日(西元)"<<endl;
       cin>>year>>month>>day;
       y=year-1;
       d=(36+y+(y/4)-(y/100)+(y/400))%7+1;
//calendar design by yourself

};
void fortune()
{
       //write by yourself
};

void lottery()
{
       srand(time(0));
       int num[5]={0};
       for(int i=0;i<5;i++) num[i]=rand()%42+1;
       for(i=0;i<5;i++){
       for(int j=0;j<5;j++){
              if(i==j){continue
                     ;}
              while(num[i]==num[j])
              {num[j]=rand()%42+1;}
       }}
       for(i=0;i<5;i++) cout<<num[i]<<endl;
};

int main()
{   
  srand(time(NULL));
  int answer,guess,continuee=0,times=0,present;
  cout<<" 输入Ƈ'代表猜小 , 输入ƈ'代表猜大 , 如果想离开游戏输入Ɔ' "<<endl; 
  for(times;times<20;times++){

  do{
         answer=rand()%14+1;
  }while(answer==7);
   
  do{
         cout<<"请输入> ";
         cin>>guess;
        if(guess!=2&&guess!=1&&guess!=0){
                cout<<"错误输入"<<endl<<"从新输入一次"<<endl;}
          
  }while(guess!=2&&guess!=1&&guess!=0);
 if(guess==0) break;

   cout<<"答案就是"<<answer<<endl;
  switch (guess)
  {
  case 1:
         if(answer<7) {cout<<"答对的"<<endl; continuee++;}
         else {cout<<"猜错了"<<endl; continuee=0;}
         break;
  case 2:
         if(answer>7) {cout<<"答对的"<<endl; continuee++;}
         else {cout<<"猜错了"<<endl; continuee=0;}
         break;
  }
  if(continuee==3){
cout<<"恭喜!!连续答对三次 选择奖项"<<endl
    <<"1.您的生日当月的日历。"<<endl
       <<"2.您的星座当日运势。"<<endl
       <<"3.乐透彩券"<<endl;
 do{
         cout<<"请选择> ";
         cin>>present;
        if(present>3||present<1){
                cout<<"错误输入"<<endl<<"从新输入一次"<<endl;}
          
  }while(present>3||present<1);

 switch (present)
  {
  case 1:
        calendar();
         break;
  case 2:
        fortune();
         break;
  case 3:
          lottery();
         break;
  }
break;}
  }
  system("pause");
  return 0;
  } 

其他的自行设计

献花 x1