2014-10-16 56 views
-6

我正在嘗試構建一個代碼來計算電容電抗一個簡單的串聯電容電抗器,用於我的電子類,代碼的目的是無關緊要的,因爲問題在於我做了一些非常錯誤的事情,並且需要我的C語言技能幫助,這是您需要它的公式:我如何修正編譯器錯誤:在'{'token |「之前預計'=',',',';','asm'或'attribute'

Formula for Capacitance

這裏是我的代碼: (不包括頭,因爲他們會在後的HTML格式錯誤)

const float pi = 3.145962; 

float xc(float frequency, float capacitance) 





int main() 
{ 

float capreac; 
float valueofc() 
float valueoff() 
    capreac = xc(f;c;) 
} 


float xc(float frequncy, float capaitance); 
{ 
    float answer; 
    answer = (1/(2*pi*capacitance*frequency)); 
    return(answer); 


} 

我的IDE是CodeBlocks,這是我班正在使用的。在'{'token |'之前}表示「| 13 |錯誤:預計'=',',';','asm'或'屬性',它拒絕運行。在「float xc」行和「| 6 |錯誤:原型函數定義中的舊式參數聲明|」在xc的定義線上。

這個newb的任何希望?

+6

[瞭解一點點'C'(http://www.learn-c.org/),因爲你已經在你的代碼中有一些明顯的語法錯誤和邏輯問題。分號混淆了 – Adam 2014-10-16 21:04:16

+4

。 – OldProgrammer 2014-10-16 21:04:19

+2

......什麼是'xc(f; c;)'? – 2014-10-16 21:04:51

回答

2

1)你需要一個分號和原型的末尾:

float xc(float frequency, float capacitance);

2)變量聲明沒有 「()」

float f; 
float c; 

3)參數分離通過逗號:capreac = xc(f, c);

4)參數名稱應該匹配變量名稱:

float xc(float frequency, float capacitance); 
{ 
    float answer; 
    answer = (1.0/(2.0*pi*capacitance*frequency)); 
    ... 
+3

看到我上面的評論 - 刪除你在')'和'{'之間的分號功能定義。 – 2014-10-16 21:08:36

+0

回想起來,我並不生氣,我爲此得到了這麼多的讚譽! – 2016-01-16 04:00:44

2
#include <stdio.h> 
#include <math.h> 
typedef long double ldouble; 
ldouble xc(ldouble f, ldouble C){ return 1/(2*M_PIl*f*C);} 
int main(int argc, const char *argv[]) 
{ 
    ldouble f, C, answer; 

    puts("Enter f:"); 
    scanf("%Lf", &f); 
    puts("Enter C:"); 
    scanf("%Lf", &C); 
    answer = xc(f, C); 
    printf("Xc=%Lf\n", answer); 

    return 0; 
} 
+0

爲什麼ldouble而不是浮動? – 2014-10-16 21:29:21

+0

花車比較不精確。至少你最好加倍。 – PSkocik 2014-10-16 21:30:09

+2

@PSkocik:既然你要精確,你能修正PI的定義,所以它實際上是正確的嗎?有一種愚蠢的錯誤答案。 – indiv 2014-10-16 21:47:29

相關問題