請各位大大幫忙呀~救命呀~

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