سؤال
لدي برنامج عن الفئة C أريد أن أكتب.البرنامج يسأل عن كمية و أريد أن تتضاعف هذه الكمية حسب متغير آخر وهو مدخلات المستخدم.آلة حاسبة الأساسية النصي ل ج الدرجة :)
لدي اقامة مثل هذا ،
int qty; //basic quantity var
float euro, euro_result;
//assign values to my float vars
euro = .6896; //Euro Dollars
euro_result = euro * qty; // Euro Dollars multiplied by user input qty
//start program for user
printf("Enter a quantity: ");
//alow user to input a quantity
scanf("%d", &qty);
printf("Euro: %f \n", euro_result);
لماذا لا تعمل كما هو متوقع ؟
المحلول
لديك مضاعفة اليورو مع مستخدم معين الكمية الكمية قبل أن تدخل من قبل المستخدم. وينبغي أن يكون على النحو التالي: // euro_result = اليورو * الكمية. // <- تحول هذا إلى موقف معين أدناه
//start program for user
printf("Enter a quantity: ");
//alow user to input a quantity
scanf("%d", &qty);
euro_result = euro * qty; // Euro Dollars multiplied by user input qty
printf("Euro: %f \n", euro_result);
وهذا كل شيء.
نصائح أخرى
ومن الخطأ أن خط
euro_result = euro * qty;
ويجب أن يكون بعد قراءة في الكمية
البيانات في برنامج C هي أعدم بالتتابع, و التعبيرات لا تقييم رمزيا.لذلك تحتاج إلى إعادة ترتيب البيانات الخاصة بك بهذه الطريقة:
int qty;
float euro, euro_result;
euro = .6896; // store constant value in 'euro'
printf("Enter a quantity: ");
scanf("%d", &qty); // store user input in 'qty'
euro_result = euro * qty; // load values from 'euro' and 'qty',
// multiply them and store the result
// in 'euro_result'
printf("Euro: %f \n", euro_result);
وأظن تريد حساب euro_result = euro * qty;
فقط <م> بعد م> الانتهاء من جمع قيمة الكمية.
والمشكلة هي أنك ضرب qty
من قبل سعر الصرف قبل المستخدم إدخالها أية بيانات.