2012-01-22 1 views
1

私はCの新作です。ユーザーに100メートルのダッシュを入力するように頼む必要があります。移動したメーターの数と何マイル入力された時間からkmを変換し、与えられた変換を使用して、それを生成する方法を使用します。これまでのところ私のコードです:最初のCプログラミングでは、メソッドを使用して

#include<stdio.h> 
#include<conio.h> 

double getMeters (double time){ 
    double m = 100/time; 
    return m; 
} 

double getFeet (double time) { 
    double ft = (100/time) * 3.280839895; 
    return ft; 
} 

double getKm (double time){ 
    double km = (100/time) * 1000/3600; 
    return km; 
} 

double getMiles (double time){ 
    double mi = (100/time) * 1000/ 3600 * 1.6; 
    return mi; 
} 

void main() { 
    double time, m, mi, km, ft; 
    printf("\nPlease enter the winning time of the race: "); 
    scanf("%f",&time); 
    m = getMeters(time); 
    printf("\n %.2f meters per second", m); 
    ft = getFeet(time); 
    printf("\n %.2f feet per second", ft); 
    km = getKm(time); 
    printf("\n %.2f kilometers per hour", km); 
    mi = getMiles(time); 
    printf("\n %.2f miles per hour", mi); 
    printf("\n"); 
    return 0; 
} 

出力はすべてdouble型ですが、実行すると得られるのはそれぞれのものが0.00です。なぜそれは動作していないのですか?ヘルプをいただければ幸いです。

+0

あなたはどのコンパイラを使用しているのでしょうか? – L7ColWinters

+0

uhm、私は 'conio.h'はMS-DOSインターフェイスで使われ、更新されたコンパイラには含まれていないと思っています。実際、今は出荷されていません。 –

+0

私はコードブロックを使用して、私たちの先生は私たちがそれを使いたいと思っています。みんなありがとう – anthony

答えて

2

は、ダブルを読むためにあなたの代わりに%f%lfを使用する必要があります。

3

gccが私にはかなりはっきりと問題点を指摘:

$ gcc foo.c 
foo.c: In function ‘main’: 
foo.c:26: warning: format ‘%f’ expects type ‘float *’, but argument 2 has type ‘double *’ 
関連する問題