2013-02-04 92 views
-1

描述的功能:如何終止一旦條件符合

我有以下格式文件:number number number,這裏有幾行:

0 00 19 
0 900000 949999 
0 9500000 9999999 
1 00 09 
2 00 19 
2 200 349 
2 35000 39999 
2 900000 949999 
2 9500000 9999999 
3 00 02 
3 7000 8499 
3 9500000 9999999 
4 00 19 
4 7000 8499 
80 00 19 
80 900000 999999 
81 00 19 
81 900000 999999 
82 990000 999999 
83 7000 8499 
958 95000 99999 
959 7000 8499 
960 85000 99999 
961 00 19 

第一列代表area,第二個代表num1num2

我設法每一列在其各自的變量存儲與這樣:

int isRegistered(FILE* fp, int area) 
{ 
    int finished = 1; 
    int scanned_area; 
    char num1[7], num2[7]; 
    int rc = 1; 

    rewind(fp); 

    while (finished != EOF) { 
     finished = fscanf(fp,"%d %s %s\n", &scanned_area, &num1, &num2); 
    } 
    return rc; 
} 

我知道我「不應該使用的fscanf」,不應使用%s掃描,但這些任務具體,我無法改變它們。

現在我把所有這些數字存儲在它們各自的變量中,第一列數字存儲在scanned_area,第二列num1,第三列num2

情景

我有1的面積值如何編寫這樣,當scanned_area == 1,功能停止?

+0

我正在刪除C++標記,因爲這裏沒有特定的C++標記。如果您覺得有必要,請隨時恢復。此外,家庭作業標籤已棄用。 – Rapptz

+0

什麼?這是一個C++特有的問題,而不是C.這是一個C++任務,它是作業。 – eveo

+0

雖然我們看不到一行C++代碼 – billz

回答

0

我有一個面積值爲1.如何編碼它,以便當scanning_area == 1時,該功能停止?

您可以使用break走出一個循環:

while (condtion) 
{ 
    // some code 
    if (scanned_area == 1) 
    { 
    break; 
    } 
} 
0

如果你想要的功能停止,然後只返回一個適當的值,在你的情況下返回一個整數。一旦一個函數碰到一個return語句,那麼這個值就會被返回,並且在它被執行後沒有其他東西了。

希望這會有所幫助:D