如何用c語言,作一段數字的相似度判斷 |
答題得分者是:twinstart
|
duncan0618
一般會員 發表:6 回覆:3 積分:1 註冊:2007-10-03 發送簡訊給我 |
是一個c語言的作業問題...
請提供一個方法讓小弟可以解題... 問題是 判斷一串數字約10個,跟檔案裡的數字串比較相似度 檔案為 a.txt 1010101010 1101110111 1010001000 1111111111 跟數字串 如下比較相似度 1010110010 例如相似度為70% 顯示出來,也就是要有七個數字是對的 請問我可以用什麼方法呢 小弟的主表單menu已完成 剩配對程式了 [code cpp] #include //#include #include unsigned size=0; //定義個別資料欄位類別 class EmpRec { char name[15]; char gender[10]; char habit[10]; public: void get(); void print(); }; //定義資料庫類別 class Database { EmpRec emp_list[100]; public: void insert(); void print(); void clear(); // void mate(); char do_menu(); }; //定義輸入資料函數 void Database::insert() { char rep; do { emp_list[size].get(); size ; cout<< "\n輸入下一筆資料(y/n)?"; cin>>rep; cout< cout< //定義輸出紀錄函數 void Database::print() { cout< cout< //定義清除紀錄函數 void Database::clear() { size = 0; } //定義配對選擇函數 //定義選擇清單函數 char Database::do_menu() { char select; cout<<"電腦擇友配對資料表單\n"; cout<<"興趣\n"; cout<<"1. 聽古典音樂 (是/否) 2. 喜歡聽流行音樂 (是/否)\n"; cout<<"3. 喜歡登山(是/否) 4. 喜歡看電影 (是/否)\n"; cout<<"5. 喜歡恐怖電影(是/否) 6. 喜歡喜劇片 (是/否)\n"; cout<<"7. 喜歡辛辣食物(是/否) 8. 喜歡清淡口味 (是/否)\n"; cout<<"9. 喜歡跳舞(是/否) 10. 喜歡上網 (是/否)\n\n"; cout<<"請選擇 I(輸入), P(輸出), C(清除), K(配對), Q(結束) :"; cin>>select; return select; } //定義插入紀錄函數 void EmpRec::get() { cout<<"請輸入姓名:"; cin>>name; cout<<"請輸入性別(M/F):"; cin>>gender; cout<<"請輸入興趣:"; cin>>habit; } //定義輸出紀錄函數 void EmpRec::print() { cout< //主函式 Database base; int main() { base.clear(); while(1) { switch (base.do_menu()) { case 'i': case 'I': base.insert(); break; case 'p': case 'P': base.print(); break; case 'c': case 'C': cout<<"已清除所以擇友資料\n\n"; base.clear(); break; // case 'k' case'K': // base.mate; // break; case 'q': case 'Q': return 0; break; } } return 0; } [/code] 編輯記錄
duncan0618 重新編輯於 2008-01-04 00:50:07, 註解 無‧
|
twinstart
一般會員 發表:4 回覆:7 積分:17 註冊:2007-12-14 發送簡訊給我 |
|
duncan0618
一般會員 發表:6 回覆:3 積分:1 註冊:2007-10-03 發送簡訊給我 |
謝謝你的方法有解決我的配對方法的問題
請問我這一段該怎麼寫(void Database::mate()),因為我要讀檔後,作配對 我要分別輸入 姓名 性別 興趣 性別不同的才做興趣配對相似70% 配對成功,並把配對資料印出。 data.dat Tomm M 1010101010 Mary F 1000100011 ETFE M 1000111101 Bood F 1011101100 Vaid M 1001100100 Rood F 1111011101 NoNo M 0100101100 Coco F 1011100101 Vava M 0111011111 Hoho F 1001111110 先判斷性別,不同性別再進行興趣配對 [code cpp] #include #include #include #include #include unsigned size=0; //定義個別資料欄位類別 class EmpRec { char name[15]; char gender[10]; char habit[10]; public: void get(); void print(); }; //定義資料庫類別 class Database { EmpRec emp_list[100]; public: void load(); //載入函數 void insert(); //新增函數 void print(); //輸出函數 void clear(); //清除函數 void mate(); //配對函數 char do_menu(); //menu }; //定義載入資料函數 void Database::load() { ifstream inFile; char Database; inFile.open("data.dat", ios::in); if(!inFile) { cerr << "開啟輸入檔錯誤\n\n" << endl; exit(1); } while(inFile.get(Database)) { cout< cout< } //定義輸入資料函數 void Database::insert() { char rep; do { emp_list[size].get(); size ; cout<< "\n輸入下一筆資料(y/n)?"; cin>>rep; cout< } //定義輸出紀錄函數 void Database::print() { cout< } //定義清除紀錄函數 void Database::clear() { size = 0; } //定義配對選擇函數 void Database::mate() { char *habit, *habit2; int i,k=0; int sum=k; char rep; emp_list[size].get(); size ; cout< { if((habit[i]^habit2[i])==0) //XOR k ; } sum>6; cout<<"配對成功"< } //定義選擇清單函數 char Database::do_menu() { char select; cout<<"電腦擇友配對資料表單\n"; cout<<"興趣\n"; cout<<"1. 聽古典音樂 (是/否) 2. 喜歡聽流行音樂 (是/否)\n"; cout<<"3. 喜歡登山(是/否) 4. 喜歡看電影 (是/否)\n"; cout<<"5. 喜歡恐怖電影(是/否) 6. 喜歡喜劇片 (是/否)\n"; cout<<"7. 喜歡辛辣食物(是/否) 8. 喜歡清淡口味 (是/否)\n"; cout<<"9. 喜歡跳舞(是/否) 10. 喜歡上網 (是/否)\n\n"; cout<<"請選擇 I(輸入), P(顯示), C(清除), K(配對), Q(結束) :"; cin>>select; return select; } //定義插入紀錄函數 void EmpRec::get() { cout<<"請輸入姓名:"; cin>>name; cout<<"請輸入性別(M/F):"; cin>>gender; cout<<"請輸入興趣:"; cin>>habit; } //定義輸出紀錄函數 void EmpRec::print() { cout< //主函式 Database base; int main() { base.clear(); while(1) { switch (base.do_menu()) { case 'i': case 'I': base.insert(); break; case 'p': case 'P': base.print(); base.load(); break; case 'c': case 'C': cout<<"已清除所以擇友資料\n\n"; base.clear(); break; case 'k': case'K': base.mate(); break; case 'q': case 'Q': return 0; break; } } return 0; } [/code]
編輯記錄
duncan0618 重新編輯於 2008-01-05 03:47:18, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |