استفاده از کلاس ها و بدون استفاده از دیتا بیس... گرفتن مشخصات n دانشجو
سلام دوستانه مهندس
ببخشید میخواستم بپرسم که
من دارم برنامه ایی مینوسم که مشخصات n دانشجو رو بگیره و ذخیره در حافظه کنه و معدلشون رو تک تک حساب کنه
و معدل کل هم بده
و حلا مشکله من::
من میتونم مشخصات یک نفر رو بگیرم معدلشو حساب کنم ولی مشخصات نفر دوم رو میگیرم مشخصات نفر اول از دست میره:متعجب:
چطوری نوشتم؟ :
کلاسی به اسم پرسن درست کردم که نام و فامیلی و .. ووو ... رو داخلش تعریف کردم
و در main نوشتم
Person P = new Person();
بعد مثلا نوشتم
تکست یک رو بریز تو نام:
P.name=textName.txt
فامیلی روهم در P.family:
p.family=textfamily.text;
سن رو هم p.age
و الا اخر
مشکل اینجاس __:__:__:_:
اگه داده دوم را وارد کنم داده اولی از دست میره و تنها داده ایی که در حافظه دارم اخرین دادس که توسط کاربر وارد شده
هر کسی یه ایده ایی داره بگه دارم سعی میکنم سی شارپ یاد بگیرم ایدتونو بگید اگه هم تونستید کد هم بذارید متشکرم از شما که تا به اینجا تکست منو خوندی
نقل قول: استفاده از کلاس ها و بدون استفاده از دیتا بیس... گرفتن مشخصات n دانشجو
میتونی از 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; // معدل
}
2 ضمیمه
نقل قول: استفاده از کلاس ها و بدون استفاده از دیتا بیس... گرفتن مشخصات n دانشجو
مرسی از دوست مهندسمون من به یه مشکلی برخوردم اگه امکانش هست راهنمایی کنید
خوده فایل:
ضمیمه 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