2013-02-04 68 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