2012-01-22 53 views
1

我是C品牌的新手,我需要讓用戶輸入一個100米短跑的跑步時間,並將時間轉換爲顯示有多少米行進和多少英里並從輸入時間轉換成公里,使用給定的轉換和使用方法來生成它。這是我到目前爲止的代碼:開始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; 
} 

輸出應該類型的所有數雙,但我得到的,當我運行它是0.00每一件事情。爲什麼它不工作?!?幫助將不勝感激。

+0

只是想知道你用什麼編譯器? – L7ColWinters

+0

uhm,我覺得'conio.h'用於MS-DOS接口,並沒有包含在更新的編譯器中,你應該真的升級你的編譯器。實際上,它現在甚至還沒有出貨。 –

+0

即時通訊使用codeblocks,我們的老師希望我們使用它,我剛剛得到它的工作!多謝你們 – anthony

回答

2

讀雙,你應該使用%lf代替%f

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 *’