設定 EYNY 為首頁  |  加入我的最愛
伊莉討論區
熱門搜尋: 海角七號  鷹眼  赤壁  鬼4虐  囧男孩  無聲火  松島楓  出包王女 


休閒聊天
學術文化
感情感性
興趣交流
家庭事務
旅遊交流
飲食交流
家族門派
貼圖分享
動漫交流
音樂世界
美容打扮
潮流資訊
影視娛樂
電玩遊戲
連線遊戲
網絡遊戲
交易廣場
下載分享
BT下載區
CB下載區
電腦資訊
數碼產品
手機交流
網站事務
體育運動
時事新聞
上班一族
博彩娛樂
成人話題


 
標題: [求助] 這程式哪裡出錯了RUN不出來請求各為幫忙
max855146

Rank: 2Rank: 2
小學生(200/1000)
潛水  
UID 923227
精華 0
積分 267
帖子 299
潛水 1126 米
閱讀權限 20
註冊 2007-3-12
發表於 2007-12-16 10:05 AM  資料 文集 短消息 
伊莉部落格伊莉交友伊莉聊天伊莉相簿

這程式哪裡出錯了RUN不出來請求各為幫忙

[顯示] [隱藏]
功能:引數預設值
***************************/

#include <iostream>
#include <stdlib.h>
#include <time.h>

using namespace std;

int SeqSearch(int Target,int *arr,int arr_index);
void generate_lotto(int &spec_num,int *arr,int arr_index=6);

/**************循序搜尋**************/
int SeqSearch(int Target,int *arr,int arr_index)
{
        int i;

        for(i=0;i<arr_index;i++)
                if(Target == arr)       //找到了
                        return i;
        return -1;                  //完全找不到
}

/**************產生樂透號碼**************/
void generate_lotto(int &spec_num,int *arr,int arr_index=6)
{
        int i,generate_num;
        srand((unsigned) time(NULL));

        for (i=0;i<arr_index;i++)
        {
                generate_num=rand()%42+1;
                while(SeqSearch(generate_num,arr,i+1)!=-1)  //號碼是否重複
                {
                        generate_num=rand()%42+1;
                }
                arr=generate_num;
        }
        generate_num=rand()%42+1;
        while(SeqSearch(generate_num,arr,i)!=-1)  //特別號是否與其他號碼重複
        {
                generate_num=rand()%42+1;
        }
        spec_num=generate_num;
}

/**************main()**************/
int main(void)
{
        int lotto[6],i,special;

        generate_lotto(special,lotto);
        cout << "樂透號碼如下....."  << endl;  
        for (i=0;i<6;i++)
                cout << lotto << "\t";
        cout << "\n";
        cout << "特別號:" << special << endl;

        return 0;
}

頂部
w5n5w0u

Rank: 1
幼兒生(0/200)
潛水  
UID 383009
精華 0
積分 110
帖子 111
潛水 3668 米
閱讀權限 10
註冊 2006-11-12
發表於 2007-12-16 11:19 AM  資料 文集 短消息 
維克斯討論區

在你的 main function, 妳傳了兩個值給 generate_lotto, generate_lotto(special,lotto);
可是妳 define 的 generate_lot 卻接受 3 個 argument
這裡可能有點問題喔

要 assign or get array 裡的值 如果沒記錯的話是要這樣使用的
assign =>
lotto = generate_num

get =>
cout << lotto

當然這是要寫在 loop 裡頭

頂部
playcoo

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10
贊助會員
潛水  
UID 1641663
精華 0
積分 499
帖子 95
潛水 4272 米
閱讀權限 95
註冊 2007-6-26
發表於 2007-12-16 12:57 PM  資料 文集 短消息 
伊莉部落格伊莉交友伊莉聊天伊莉相簿



QUOTE:
原帖由 w5n5w0u 於 2007-12-16 11:19 AM 發表
在你的 main function, 妳傳了兩個值給 generate_lotto, generate_lotto(special,lotto);
可是妳 define 的 generate_lot 卻接受 3 個 argument
這裡可能有點問題喔

要 assign or get array 裡的值 如果沒 ...

其實這個generate_lotto的function只傳2個argument是OK的,因為它
第三個是有預設數值 6 的,所以不需要變動的話,可以不用再傳第三
個。

這個程式基本上有問題的,簡單講如下:
1. lotto陣列沒初始化便拿來傳入
2. 陣列assign方式不對,用來比較的方式也不對,應該assign時是arr = generate_num
   ,而if比較時應該是if( Target == arr ) 之類的

頂部
trumpetkuo

Rank: 1
幼兒生(0/200)
潛水  
UID 295062
精華 0
積分 99
帖子 67
潛水 16 米
閱讀權限 10
註冊 2006-10-4
發表於 2007-12-18 01:57 AM  資料 文集 短消息 
維克斯討論區

void generate_lotto(int &spec_num,int *arr,int arr_index=6);
唷唷唷 已宣告預設值了...


/**************產生樂透號碼**************/
void generate_lotto(int &spec_num,int *arr,int arr_index=6)
{
        int i,generate_num;


這裡不需要再一次了,
void generate_lotto(int &spec_num,int *arr,int arr_index)
{



另外就是傳指楆和傳參考 你要看適用那一種~
一般會改到原值的,比較建議用POINT
void generate_lotto(int *spec_num, int *arr,int arr_index)
{
........
........
*spec_num = generate_num;

}

那傳進來的就用
generate_lotto( &special,lotto);

還有就是建議你debug看一下,可以設一下break point..
或說明一下你的程錯在那裡~@@

也許有幫助~ 也許沒有~ 試試看吧

頂部
trumpetkuo

Rank: 1
幼兒生(0/200)
潛水  
UID 295062
精華 0
積分 99
帖子 67
潛水 16 米
閱讀權限 10
註冊 2006-10-4
發表於 2007-12-18 01:58 AM  資料 文集 短消息 
伊莉遊戲

void generate_lotto(int &spec_num,int *arr,int arr_index=6);
唷唷唷 已宣告預設值了...


/**************產生樂透號碼**************/
void generate_lotto(int &spec_num,int *arr,int arr_index=6)
{
        int i,generate_num;


這裡不需要再一次了,
void generate_lotto(int &spec_num,int *arr,int arr_index)
{



另外就是傳指楆和傳參考 你要看適用那一種~
一般會改到原值的,比較建議用POINT
void generate_lotto(int *spec_num, int *arr,int arr_index)
{
........
........
*spec_num = generate_num;

}

那傳進來的就用
generate_lotto( &special,lotto);

還有就是建議你debug看一下,可以設一下break point..
或說明一下你的程錯在那裡~@@

也許有幫助~ 也許沒有~ 試試看吧

頂部
 




當前時區 GMT+8, 現在時間是 2008-10-12 12:02 PM

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.174291 second(s), 6 queries , Gzip enabled

清除 Cookies - 聯繫我們 - 廣告查詢 [威旭代理] - 伊莉討論區 - Archiver
重要聲明:本討論區是以即時上載留言的方式運作,伊莉討論區對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。伊莉討論區有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。