PDA

View Full Version : مبتدی: استفاده از کلاس ها و بدون استفاده از دیتا بیس... گرفتن مشخصات n دانشجو



sohrabi.1384
پنج شنبه 25 مهر 1392, 02:52 صبح
سلام دوستانه مهندس
ببخشید میخواستم بپرسم که
من دارم برنامه ایی مینوسم که مشخصات n دانشجو رو بگیره و ذخیره در حافظه کنه و معدلشون رو تک تک حساب کنه
و معدل کل هم بده
و حلا مشکله من::
من میتونم مشخصات یک نفر رو بگیرم معدلشو حساب کنم ولی مشخصات نفر دوم رو میگیرم مشخصات نفر اول از دست میره:متعجب:

چطوری نوشتم؟ :

کلاسی به اسم پرسن درست کردم که نام و فامیلی و .. ووو ... رو داخلش تعریف کردم
و در main نوشتم
Person P = new Person();
بعد مثلا نوشتم
تکست یک رو بریز تو نام:
P.name=textName.txt
فامیلی روهم در P.family:
p.family=textfamily.text;
سن رو هم p.age
و الا اخر

مشکل اینجاس __:__:__:_:
اگه داده دوم را وارد کنم داده اولی از دست میره و تنها داده ایی که در حافظه دارم اخرین دادس که توسط کاربر وارد شده
هر کسی یه ایده ایی داره بگه دارم سعی میکنم سی شارپ یاد بگیرم ایدتونو بگید اگه هم تونستید کد هم بذارید متشکرم از شما که تا به اینجا تکست منو خوندی

Vitallity
پنج شنبه 25 مهر 1392, 03:30 صبح
میتونی از list استفاده کنی... امیدوارم این کد بهت ایده بده:

//توي کلاست براي نمره درسها از يه ديکشنري استفاده کن

class person
{
public Dictionary<string, float> numbers;
public string name;
public string family;
public float average;
//...

}


List<Person> person_list; // افرادي رو که ميخواهي به اين ليست اضافه کن

Person p = new Person();
p.name = "name";
p.numbers["english"] = float.parse(textbox_english.Text); // اين طوري به ديکشنريت هر درس رو اضافه کن
/*
* اطلاعات فرد رو وارد کن
*
*/

persons_list.Add(p); // به هر شکلي مثلاً با زدن دکمه تاييد فرد رو به ليست اضافه کن

//حالا براي معدل گيري ديگه کل افراد رو داري

float total = 0;
int count = 0;

foreach(var p in persons_list)
{
foreach(float n in p.numbers)
{
total += n.value();
count++;
}

p.average = total/count; // معدل
}

sohrabi.1384
یک شنبه 05 آبان 1392, 10:46 صبح
مرسی از دوست مهندسمون من به یه مشکلی برخوردم اگه امکانش هست راهنمایی کنید
خوده فایل:

112276اینم کد :

namespace OBJECT_BAZI

{

publicpartialclassForm1 : Form

{

public class Person
{


publicDictionary<string, float> numbers;

publicstring Name;

publicstring Family;

publicfloat Average;

//string StuNum;


}

List<Person> Person_list = newList<Person>();

public Form1()

{

InitializeComponent();

}


publicstring displayMembers(List<String> vegetables)

{

returnstring.Join(Environment.NewLine, vegetables.ToArray());

}

privatevoid button1_Click(object sender, EventArgs e)

{

if (textBox7.Text!="")

{


Person P = new Person();

P.Name = textBox1.Text;

Person_list.Add(P);


// textBox2.Text = displayMembers(Person_list);

}

}

privatevoid button2_Click(object sender, EventArgs e)

{


textBox7.Text = string.Join(" ", Person_list);

textBox7.Text = String.Join(Environment.NewLine, Person_list);


}

}

}


خروجی
112275