PDA

View Full Version : مبتدی: اشکال این 4 خط کد کجاست!؟



Amir-Shabani
یک شنبه 30 مرداد 1390, 11:01 صبح
سلام بر همگی.
مساله اینه : یه عدد از ورودی میگیره اونو میریزه تو ماه اول. ماه دوم میشه مقدار اولیه به اضافه مقدار ماه اول. سوم میشه مقدار اولیه + مقدار ذخیره شده تو ماه دوم الی ... ماه آخر. فقط کارماه 12 انجام شد 10% به مقدار اولیه اضافه میکنه و این کار رو برای سال دوم انجام میده.... به مدت 30 سال.


using System;

public class HaD
{
public static void Main(string[] args)
{

//************ local varibales
decimal [ , ] tblArray = new decimal [12,30] ;
int row = 0; // row of tblArray
int colomn = 0;// colomn of tblArray
decimal inputSalary = 0; // salary

//************ local varibles finished



Console.WriteLine(" Please enter your salary "); // promt user to enter his/her salary
inputSalary = Convert.ToDecimal(Console.ReadLine()); // read inputSalary string & convert that to decimal
for (colomn = 0; colomn < 30; colomn++)
{
for (row = 0; row < 12; row++)
{
tblArray[row, colomn] = inputSalary + tblArray[row, colomn];
inputSalary = (0.1) * inputSalary + inputSalary;
}
}

for (colomn = 0; colomn < 30; colomn++)
{
for (row = 0; row < 12; row++)
{
Console.WriteLine(tblArray[row, colomn]);
}
}


Console.ReadLine();
}

}


یه سئوال. یه ارور میده که اپراتور * برای دسیمال و دابل نمیشه استفاده کرد!!!؟ چرا؟


inputSalary = (0.1) * inputSalary + inputSalary;


و این که چرا مقدار آرایه ای که تعریف کردم نال هستش! مگه آبجکت نساختم از نوع دسیمال! فک کنم باید مقدار 0 داشته باشه!!!!؟

با سپاس

mehran_sh_t
یک شنبه 30 مرداد 1390, 11:50 صبح
سلام
بهتره متغیر هات از یک نوع باشه، با توجه به مساله، همه رو از نوع دابل در نظر بگیر
در مورد نال بودن هم، من با ویژوال استدیو چک کردم، صفر بود! (2008)