2016-10-15 10 views
0

Я пытаюсь добавить одну переменную себе в C. Проблема, которую я должен решить, требует, чтобы я спросил у пользователя, сколько раз X произошло с Y. Простой пример: каждый раз, когда кто-то пьет сок (x), мне нужно для многократного добавления количества сока (y). Это моя программа. Все, что я пытаюсь сделать, работает по-моему, за исключением последнего фрагмента кода, который мне нужно выяснить, что должно быть перед оператором if. Спасибо заранее за вашу помощь.Как мне добавить одну и ту же переменную?

#include <stdio.h> 
int main(){ 
int a=1; 
int b=1; 
int i; 
float dollars; 
float size; 
float price;//per ounceprice 
float wieght; 
int drinks;//times roommate took some juice 
int c=0; 
int sips; 
int total; 
int totalowed; 
int loopCounter; 
int sipstotal; 
//.06 per ounce 
float juiceTaken; 
float juiceTakenCost; 
float juiceTakenTotal; 
float costperounce=.06; 

while(a=b){ 
    printf("What is the weight (in oz.) of the original container of OJ?\n\n"); 
    scanf("%f", &wieght); 

    printf("What is the cost of the original container of OJ in dollars?\n\n"); 
    scanf("%f", &dollars); 
    price=dollars/wieght; 
    printf("%f\n\n", price); 

    printf("How many times did your roomate take your juice?\n\n"); 
    scanf("%d", &drinks); 


     for(loopCounter = 0; loopCounter < drinks; loopCounter++){//repeat next line until loop equals amount of times roomate took juice 
     printf("How much juice did your roommate take this time?\n\n"); 
     scanf("%d", &juiceTaken); 
      if(juiceTakenTotal>=10) 
      printf("Your roomate owes you $%.2f\n", juiceTakenTotal); 



} 
} 

return 0; 
} 
+0

Благодарим вас обоих! Вы оба обеспечили решение, которое сработало! Я нашел еще одну проблему с кодом, который заставил его не работать, когда я изначально пытался. В моей строке scanf, когда вы спрашиваете сок, я отмечаю% d вместо% f. Я просматриваю значение float при запросе целочисленного значения. lol, я ценю вашу помощь ребятам. –

ответ

0

Проблема с вашим кодом заключается в том, что вы никогда не добавляли количество сока, взятое в общую сумму вашего кода. Итак, перед самым последним оператором if вам нужно добавить строку. это будет выглядеть так:

scanf("%d", &juiceTaken); 
juiceTakenTotal = juiceTakenTotal + juiceTaken; 
     if(juiceTakenTotal>=10) 
     printf("Your roomate owes you $%.2f\n", juiceTakenTotal); 

Это решит вашу проблему.

0

Я считаю, что это то, что вы ищете:

scanf("%d", &juiceTaken); 
    juiceTakenTotal = juiceTakenTotal + juiceTaken; 
      if(juiceTakenTotal>=10) 
      price = juiceTakenTotal * price //calculating price 
      printf("Your roomate owes you $%.2f\n", juiceTakenTotal); 

здесь, вы добавляете количество глотков к общему числу принятых глотков.

+0

Я пытаюсь сделать это в строке перед «if», но после «scanf» для juiceTaken, так что сокTaken добавляется к себе для новой цели. –

+0

Идея состоит в том, что если число «пить» = 10, оно будет многократно просить juicetaken 10 раз. Значения juicetaken должны суммировать общее количество для каждого запроса пользователя. Затем я умножу это общее количество juicetaken по цене, и использовать «если», чтобы проверить, превышает ли оно или равно 10. –

+0

вы намерены проверить цену или сокTakenTotal? – Fabulous

0

Вот правильный и окончательный код. Спасибо за всю твою помощь! Гений повсюду!

#include <stdio.h> 
int main(){ 
int a=1; 
int b=1; 
float dollars; 
float price;//per ounceprice 
float wieght; 
int drinks;//times roommate took some juice 
int loopCounter; 
float juiceTaken; 
float juiceTakenCost; 
float juiceTakenTotal; 

while(a=b){ 
    printf("What is the weight (in oz.) of the original container of OJ?\n\n"); 
    scanf("%f", &wieght); 

    printf("What is the cost of the original container of OJ in dollars?\n\n"); 
    scanf("%f", &dollars); 
    price=dollars/wieght; 
    printf("%f\n\n", price); 

    printf("How many times did your roomate take your juice?\n\n"); 
    scanf("%d", &drinks); 
    //6 cents per ounce of juice 
    //Insert 2nd loop condition - for loop 
     for(loopCounter = 0; loopCounter < drinks; loopCounter++){//repeat next line until loop equals amount of times roomate took juice 
     printf("How much juice did your roommate take this time?\n\n"); 
     scanf("%f", &juiceTaken); 
     juiceTakenTotal=juiceTakenTotal + juiceTaken; 
     juiceTakenCost=juiceTakenTotal*price; 
      if(juiceTakenCost>=10) 
      printf("Your roomate owes you $%.2f\n", juiceTakenCost); 
      } 
    } 
return 0; 
}