PDA

View Full Version : error های این برنامه؟؟



fshb_ 1370
چهارشنبه 12 اسفند 1388, 16:41 عصر
من این کد نوشتم ولی چند تا error میده و من نمیتونم error هاش بگیرم.
خواهش میکنم زود جواب بدید:گریه:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace strct
{
class Program
{
struct complex
{
public double real, imag;
public void Read()
{
real = Convert.ToDouble(Console.ReadLine());
imag = Convert.ToDouble(Console.ReadLine());
}
public complex Plus(complex c1,complex c2)
{
complex c;
c.real=c1.real+c2.real;
c.imag=c1.imag+c2.imag;
return c;
}
public void Write()
{
Console.Write("Sum:");
char sign = (c3.imag > 0) ? '+' : '-';
Console.WriteLine("{0}{1}{2}i", c3.real, sign, Math.Abs(c3.imag));
}
}
static void Main(string[] args)
{
//complex c1, c2;
complex c1 = new complex();
complex c2 = new complex();
Console.WriteLine("Number1:");
Console.Write("Read:");
c1.Read();
c2.Read();
complex c3;
c3=Plus(c1,c2);
c3.Write();
}
}
}

M.YasPro
چهارشنبه 12 اسفند 1388, 16:53 عصر
سلام
اگه متن ارور رو بزارین بهتر میتونیم کمکتون کنیم .

Vahid_moghaddam
چهارشنبه 12 اسفند 1388, 17:31 عصر
سلام
اگه متن ارور رو بزارین بهتر میتونیم کمکتون کنیم .

تا حالا به چند تا تاپیک برخوردید که یکی از بچه ها توصیه کرده ارور رو بذارید؟ به بیشتر از n تاپیک! پس چرا متن ارور رو نمی ذاریم؟

mehdi.mousavi
چهارشنبه 12 اسفند 1388, 18:11 عصر
من این کد نوشتم ولی چند تا error میده و من نمیتونم error هاش بگیرم. خواهش میکنم زود جواب بدید:گریه:

سلام.
این چه وضع کد نوشتن هستش؟ شما کد خوب تو عمرتون ندیده اید که اینطور کد می نویسید؟ نکنه اینم بخشی از پروژه درسی هستش که اینجا Submit کرده اید جواب رو بگیرید، بدید به استاد و Bingo!؟؟ بخاطر خودتون هم که شده یه خرده مطالعه کنید. (خیلی خوب، غر زدن بسه! حالا ببینیم ایراد برنامه شما چیه).

اولین ایراد اینه که c3 جایی تعریف نشده! این تابع رو نگاه کنید:


public void Write()
{
Console.Write("Sum:");
char sign = (c3.imag > 0) ? '+' : '-';
Console.WriteLine("{0}{1}{2}i", c3.real, sign, Math.Abs(c3.imag));
}


خوب، c3 تو context این تابع، یا کلاس تعریف نشده، در نتیجه برنامه اصلا Compile نخواهد شد. مساله بعدی، متود، Plus هستش. انتظار دارید اینجا چه اتفاقی بیفته:


complex c3;
c3 = Plus(c1, c2);


متود Plus متعلق به structure ای هستش که تعریف کرده اید، در نتیجه باید روی یک Member Instance از اون کلاس (یا struct) فراخوانی بشه.

البته، این کد ایرادهای دیگه ای هم داره که فعلا فاکتور میگیرم.

پاورقی: اگر نمیخواهید مطالعه کنید، حداقل میتونید توی Google دنبال پیاده سازی اعداد Complex با C# بگردید، از Source هایی که قبلا نوشته شده، استفاده کنید!!! در هر حال، کد فوق نشون میده شما باید ابتدا با Object Oriented آشنا بشید. سپس، کدهایی که توسط برنامه نویسهای خوب و بد نوشته شده رو مطالعه کنید تا ببینید روش صحیح کد نوشتن چیه.