從資料.txt找出資料來比對問題 |
答題得分者是:twinstart
|
duncan0618
一般會員 發表:6 回覆:3 積分:1 註冊:2007-10-03 發送簡訊給我 |
我要分別輸入 姓名 性別 興趣
性別不同的才做興趣配對相似70% 配對成功 先判斷性別,不同性別再進行興趣配對,印出配對成功的名子 電腦擇友配對資料表單 興趣 1. 聽古典音樂 (是/否) 2. 喜歡聽流行音樂 (是/否) 3. 喜歡登山(是/否) 4. 喜歡看電影 (是/否) 5. 喜歡恐怖電影(是/否) 6. 喜歡喜劇片 (是/否) 7. 喜歡辛辣食物(是/否) 8. 喜歡清淡口味 (是/否) 9. 喜歡跳舞(是/否) 10. 喜歡上網 (是/否) data.txt 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 void main() { char name[15]; char gender[10]; char habit[10]; const int MAX = 80; char buffer[MAX]; ifstream inFile("data.TXT"); // 開啟要讀取的檔案 while(inFile) // 從檔案讀資料 { inFile.getline(buffer,MAX); //以行為單位讀入 cout<< buffer << endl; } // cout << flush; // 強迫列印出來 int k=0; int sum=k; 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<<"請輸入姓名:"; cin>>name; cout<<"請輸入性別(M/F):"; cin>>gender; cout<<"請輸入興趣:"; cin>>habit; if((*buffer^*habit)==0) //XOR k ; sum>6; cout<<"配對成功"< } [/code] |
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
你先弄清楚
是檔案讀不到,還是使用者輸入抓不到 ===================引 用 duncan0618 文 章=================== 我要分別輸入 姓名 性別 興趣 性別不同的才做興趣配對相似70% 配對成功 先判斷性別,不同性別再進行興趣配對,印出配對成功的名子 電腦擇友配對資料表單 興趣 1. 聽古典音樂 (是/否) 2. 喜歡聽流行音樂 (是/否) 3. 喜歡登山(是/否) 4. 喜歡看電影 (是/否) 5. 喜歡恐怖電影(是/否) 6. 喜歡喜劇片 (是/否) 7. 喜歡辛辣食物(是/否) 8. 喜歡清淡口味 (是/否) 9. 喜歡跳舞(是/否) 10. 喜歡上網 (是/否) data.txt 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 void main() { char name[15]; char gender[10]; char habit[10]; const int MAX = 80; char buffer[MAX]; ifstream inFile("data.TXT"); // 開啟要讀取的檔案 while(inFile) // 從檔案讀資料 { inFile.getline(buffer,MAX); //以行為單位讀入 cout<< buffer << endl; } // cout << flush; // 強迫列印出來 int k=0; int sum=k; 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<<"請輸入姓名:"; cin>>name; cout<<"請輸入性別(M/F):"; cin>>gender; cout<<"請輸入興趣:"; cin>>habit; if((*buffer^*habit)==0) //XOR k ; sum>6; cout<<"配對成功"< inFile.close(); } [/code] |
twinstart
一般會員 發表:4 回覆:7 積分:17 註冊:2007-12-14 發送簡訊給我 |
這篇文章的問題跟這篇應該沒什麼差別吧@@
如何從檔案.dat中跟輸入的資料作配對 http://delphi.ktop.com.tw/board.php?cid=168&fid=1499&tid=92095 我想你心裡大概知道你要做什麼了,只是不知道要用哪些函式, 通常遇到這種時候,我都會利用站上的搜尋功能,找尋關鍵字, 例如你的這個問題就可以搜尋「讀檔」,多利用搜尋功能可以讓自己早點找到答案唷~~ 建議你使用的函式, (查詢一下MSDN或BCB6的Help說明,或是在站上搜尋這些函式,就知道怎麼用啦!!) 1. 讀檔: fopen 開啟檔案, fgets 讀一行。 2. 分割字串:用strtok 或 strchr 將一行資料分割成姓名,性別和興趣。 3. 比對字串:用strcmp比對輸入的姓名,再用strcmp比對性別是否不相同。 4. 最後計算配對程度,完成!! ------- 我也是新手,這個問題我也試了很久!!@@
編輯記錄
twinstart 重新編輯於 2008-01-11 15:48:12, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |