0

演習: 次の式を使用して、華氏 (F) から摂氏 (C) に 27° を変換するプログラムを作成します。

C = (F - 32) / 1.8

この計算を実行するためにクラスを定義する必要がないことに注意してください。単に式を評価するだけで十分です。

これが私のコードです:

#import <Foundation/Foundation.h>
int main (int argc, const char *argv[])
{
    NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];

        float C;
        float F;
    F = 27;
    C=(F-32)/1.8;
    NSLog (@"27 degrees Fahrenheit is %f degrees Celsius." , C);
    [drain pool];
        return 0;
}

「ビルドに失敗しました」

公式フォーラムでは、このように書くことを提案しています:

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

   double C, F;
   F=27;
   C=(F-32)/1.8;
   int c=C;

    NSLog(@"%g degrees Fahrenheit equals %i centigrades!", F, c);

[pool drain];
    return 0;
}

しかし、「失敗しました」というメッセージも表示されます。正しくないのはどれですか?

アップデート

問題が解決しました。

プロジェクトの初期設定を正しく行っていません。私は他の「C」プログラミング言語プロジェクトの中で働いていました。新しいプロジェクトを作成する必要がありました-> OS X->コマンドラインツール(タイプ:Foundation)「自動参照カウントを使用」のマークを外します

しかし、最良の部分-私は正常にコンパイルされたプログラムで報われました:

2012-08-09 00:20:29.214 4.2[19452:403] 27 degrees Fahrenheit is -2.777778 degrees Celsius.

ありがとう@trojanfoe、@john.k.doe、@drewk、@hol

4

2 に答える 2

0

これは機能します:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {            
        float C;
        float F;
        F = 27.0;
        C=(F-32.0)/1.8;
        NSLog (@"27 degrees Fahrenheit is %f degrees Celsius." , C);
    }
    return 0;
}

これもそうです:

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[]) {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    double F=27.2;
    double C=(F-32.0)/1.8;

    NSLog(@"%g degrees Fahrenheit equals %g centigrade!", F, C);

    [pool drain];
    return 0;
}
于 2012-08-08T17:46:10.803 に答える
0

オブジェクトを使用していないので、これでも十分です。プレーンC。

int main(int argc, const char * argv[])
{

    double C, F;
    F=27;
    C=(F-32)/1.8;
    int c=C;

    printf("%g degrees Fahrenheit equals %i centigrades!", F, c);

    return 0;
}

引数を解析し、それらに基づいて計算する必要がありますか?

于 2012-08-08T18:07:17.030 に答える