2013-10-07 32 views
1

這裏是開始我正在得到在C.一些練習來解釋什麼,我試圖做一個非常簡單的計算器,我只是想,這樣每次這個代碼後循環將其添加到得到它'num1'變量,反過來允許你添加儘可能多的數字,只要你願意。就像我說過的那樣,這不是真正的多孔,我只是C新手而且希望練習一下。如何在C中爲自己添加一個int變量?

現在給的這個地方的代碼出錯的例子,如果我想添加4個數字(可以說只是1 + 2 + 3 + 4)的答案總是最終被3出於某種原因。現在我認識到一些代碼更容易,然後讓我似乎有點傻......例如,

num3 = num2 + num1; 
     num3 = num1; 

然後循環回來,只是這樣做了,但我強調的是,任何愚蠢是錯誤的或者是由於到我試圖讓它工作的代碼的絕望變化,或者僅僅因爲我是新的。感謝所有能夠幫助我的人。

float num1, num2, num3; 
int loop1 = 0; 
int loop2 = 0; 
int choice; 

printf("Which would you like to do?\n1) Add.\n2) Subtract.\n3) Multiply.\n4) Divide.\n"); 
scanf("%i", &choice); 

switch(choice){ 

    case 1: 
     printf("How many numbers would you like to add?: "); 
     scanf("%i", &loop2); 
     while (loop1 < loop2){ 
     printf("Pleas enter a number: "); 
     scanf("%f", &num1); 
     printf("Pleas enter a number: "); 
     scanf("%f", &num2); 
     num3 = num2 + num1; 
     num3 = num1; 
     loop1 ++; 
     loop1 ++;} 
     printf("%f", num1); 
     break; 
+0

'NUM3 = NUM​​2 + NUM1;'應該是'NUM3 + = NUM​​2 + NUM1;'所以每次進入循環一次添加到以前的增加。另外刪除'num3 = num1;'你搞亂你的加法! – Andres

回答

2

運行這些行:

num3 = num2 + num1; 
    num3 = num1; 

使你不斷地覆蓋你的總和。你想要做的是在你的循環之前初始化num3爲零,然後依次添加每個數字。事情是這樣的例子,作爲最低限度的修改您的代碼可能:

num3 = 0; 
while (loop1 < loop2) 
{ 
    printf("Please enter a number: "); 
    scanf("%f", &num1); 
    num3 += num1; 
    loop1++; 
} 
+0

啊,很好,非常感謝。感謝你幫助一個綠色的人,哈哈。如果我的級別足夠高,我會爲你的答案投票。 – pmiccich

+0

沒問題,樂意幫忙。如果你「接受」了答案,你會得到一個小小的反彈,這應該會幫助你。 –

+0

我們走了。感謝您抽出時間幫助我。 :) – pmiccich

相關問題