C#   Уроки программирования с нуля. Си-шарп для чайников   C#

Здравствуйте, гость!
Вход
Регистрация


Конструкторы в Си-шарп. Указатель this
В этом уроке мы поговорим о таких важных членах класса, как конструкторы.

Конструктор – это метод класса, предназначенный для инициализации объекта при его создании. Инициализация – это задание начальных параметров объектов/переменных при их создании.

Особенностью конструктора, как метода, является то, что его имя всегда совпадает с именем класса, в котором он объявляется. При этом, при объявлении конструктора, не нужно указывать возвращаемый тип, даже ключевое слово void. Конструктор следует объявлять как public, иначе объект нельзя будет создать (хотя иногда в этом также есть смысл).

В классе, в котором не объявлен ни один конструктор, существует неявный конструктор по умолчанию, который вызывается при создании объекта с помощью оператора new.

Объявление конструктора имеет следующую структуру:

public [имя_класса] ([аргументы])
{
  // тело конструктора
}

Например, у нас есть класс Автомобиль. Создавая новый автомобиль, значения пробега и количества топлива в баке есть смысл поставить равными нулю:

class Car
{
   private double mileage;
   private double fuel;

   public Car() //объявление конструктора
   {
     mileage = 0;
     fuel = 0;
   }
}
class Program
{
   static void Main(string[] args)
   {
     Car newCar = new Car(); // создание объекта и вызов конструктора
   }
}

Без конструктора нам бы пришлось после создания объекта отдельно присваивать значения его полям, что очень неудобно.

Конструктор также может иметь параметры.

Пример с тем же автомобилем, только теперь при создании объекта мы можем задать любые начальные значения:

class Car
{
   private double mileage;
   private double fuel;

   public Car(double mileage, double fuel)
   {
     this.mileage = mileage;
     this.fuel = fuel;
   }
}
class Program
{
   static void Main(string[] args)
   {
     Car newCar = new Car(100, 50); //вызов конструктора с параметрами
   }
}

Ключевое слово this

В примере выше используется ключевое слово this.
Указатель this - это указатель на объект, для которого был вызван нестатический метод. Ключевое слово this обеспечивает доступ к текущему экземпляру класса. Классический пример использования this, это как раз в конструкторах, при одинаковых именах полей класса и аргументов конструктора. Ключевое слово this это что-то вроде имени объекта, через которое мы имеем доступ к текущему объекту.

Несколько конструкторов

В классе возможно указывать множество конструкторов, главное чтобы они отличались сигнатурами. Сигнатура, в случае конструкторов, - это набор аргументов. Например, нельзя создать два конструктора, которые принимают два аргумента типа int.

Пример использования нескольких конструкторов:

class Car
{
   private double mileage;
   private double fuel;

   public Car()
   {
     mileage = 0;
     fuel = 0;
   }

  public Car(double mileage, double fuel)
  {
     this.mileage = mileage;
     this.fuel = fuel;
  }
}
class Program
{
   static void Main(string[] args)
   {
     Car newCar = new Car(); // создаем автомобиль с параметрами по умолчанию, 0 и 0
     Car newCar2 = new Car(100, 50); // создаем автомобиль с указанными параметрами
  }
}

Если в классе определен один или несколько конструкторов с параметрами, мы не сможем создать объект через неявный конструктор по умолчанию:

class Car
{
   private double mileage;
   private double fuel;

  public Car(double mileage, double fuel)
   {
     this.mileage = mileage;
     this.fuel = fuel;
   }
}
class Program
{
   static void Main(string[] args)
   {
     Car newCar = new Car(100, 50);
     Car newCar2 = new Car(); // ошибка, в классе не определен конструктор без параметров
  }
}


Домашнее задание

Создайте класс Студент, определите в нем поля: имя, курс, есть ли у него стипендия. Создайте в классе несколько конструкторов, для возможности задания сразу всех указанных параметров или нескольких при создании экземпляров.

PS. Буду очень благодарен, если поделитесь с друзьями этой статьей с помощью кнопок социальных сетей в конце поста.

Понравилась статья? Подпишись на рассылку и узнавай первым о новых уроках по почте!


Поделиться с друзьями:
03 июл 2013 00:37
http://www.weskh.net/category/imitation-cartier-bracelet 09 сен 2017 21:09
Thank you so much! Good luck with your blog! It is a blast!

http://www.zleve.com/tag/imitation-cartier-ring 09 сен 2017 13:32
i think tha star wars is very funny and so easy

http://www.weskh.net/category/imitation-van-cleef-necklace 07 сен 2017 16:43
I wish I could link them to my social profiles too. Thank you so much.

toxa_mark 31 июл 2017 19:28

using System;

namespace Class_Stud
{
class Student
{
public static int count_1 = 0;
public static int count_2 = 0;
public static int count_3 = 0;

public string name;
public int kurs;
public bool grand;

public Student()
{
name = "Петя";
kurs = 1;
grand = true;

count_1++;
Print();
}

public Student(string name, int kurs, bool grand)
{
this.name = name;
this.kurs = kurs;
this.grand = grand;

count_1++;
Print();
}

public void Print()
{
Console.WriteLine("Name: " + name);
Console.WriteLine("Kurs: " + kurs);

if(grand == true)
{
Console.WriteLine("Стипендия есть!");
count_2++;
}
else
{
Console.WriteLine("Стипендии нету!");
count_3++;
}
}
}
class Program
{
static void Main(string[] args)
{
Student first = new Student();
Console.WriteLine();

Student second = new Student("Вася", 2, false);
Console.WriteLine();

Student third = new Student("Антон", 3, true);
Console.WriteLine();

Student fourth = new Student("Коля", 4, false);
Console.WriteLine();

Student fifth = new Student("Юра", 1, true);
Console.WriteLine();

Console.WriteLine("Общее количество студентов: " + Student.count_1);
Console.WriteLine("Количество студентов, которые имеют стипендию: " + Student.count_2);
Console.WriteLine("Количество студентов, которые без стипендии: " + Student.count_3);

Console.ReadLine();
}
}
}


Александр 29 июн 2017 14:49

class Student
{
internal string name;
internal int kurs;
internal bool stip;

public Student(string n, int k, bool s)
{
name = n;
kurs = k;
stip = s;
}

public Student()
{
name = "no name";
kurs = 1;
stip = true;
}

internal Student(string n)
{
name = n;
kurs = 1;
stip = false;
}
}

class Program
{
static void Main(string[] args)
{

string n = "Иван Пиванов";
int k = 4;
bool s = true;

Student q = new Student(n,k,s);
Console.WriteLine(q.name);
Console.WriteLine(q.kurs);
if (q.stip == true)
{
Console.WriteLine("Стипендия - есть");
}
else
{
Console.WriteLine("стипендия - нет");
}

Console.ReadLine();
}
}
}


ХПИ 17 июн 2017 18:57

namespace train
{
class Student
{
private string name;
private int course;
private bool lave;

public Student()
{
name = "Эстер";
course = 2;
lave = false;
}
public Student(string name, int course, bool lave)
{
this.name = name;
this.course = course;
this.lave = lave;
}
public Student(int course, bool lave)
{
name = "Серена";
this.course = course;
this.lave = lave;
}
}

class Program
{
static void Main(string[] args)
{
Student student1 = new Student();
Student student2 = new Student("Петя", 3, true);
Student student3 = new Student(2,true);
}
}
}

geomineral.ru 07 июн 2017 20:38
C# поддерживает концепцию «свойств» — псевдополей класса, к которым обеспечивается полностью контролируемый доступ путём создания методов для извлечения и записи значения поля. Описания свойств производятся с помощью конструкций

Masta 02 май 2017 23:56
class Student
{
private string name;
private int cours;
private bool studentship;

public Student()
{
name = "Ivan";
cours = 1;
studentship = false;
}
public Student(string name, int cours, bool studentship)
{
this.name = name;
this.cours = cours;
this.studentship = studentship;
}
public void Print()
{
Console.WriteLine("name: " + name);
Console.WriteLine("cours: " + cours);

if (studentship == false)
{
Console.WriteLine("studentship: No ship");
}
if (studentship == true)
{
Console.WriteLine("studentship: Yes ship");
}
Console.WriteLine();
}
}
class Program
{
static void Main(string[] args)
{
Student student1 = new Student();
Student student2 = new Student("Gena", 2, true);

student1.Print();
student2.Print();
Console.ReadLine();
}
}

Сергей 21 мар 2017 12:43

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Student
{
class Student
{
private string firstName;
private short Course;
private bool Grant;


public Student(string firstName, short Course, bool Grant) //вводим все данные
{
this.firstName = firstName;
this.Course = Course;
this.Grant = Grant;
}

public Student(string firstName) //первокурсник
{
this.firstName = firstName;
Course = 1;
Grant = true;
}

public void writer()
{
Console.Write(firstName);
Console.Write(" ");
Console.Write(Course);
Console.Write(" ");
Console.WriteLine(Grant);
}
}


class Program
{

static void Main(string[] args)
{
Student St01 = new Student("Dima");
Student St02 = new Student("Vasya", 3, false);
Student St77 = new Student("Lesha");
St01.writer();
St02.writer();
St77.writer();
Console.ReadKey();
}
}
}

igorue190 20 мар 2017 16:49
class Program
{

static void Main(string[] args)
{
Student student1 = new Student("Victor", 4, true);
Student student2 = new Student("Orest", 2, false);
Student student3 = new Student("Georgiy", "change Univercity");
student1.InfoStudent();
student2.InfoStudent();
student3.InfoStudAnother();
Console.ReadKey();
}

class Student
{
private string Name;
private int Course;
private bool Grant;
private string course;

public Student(string Name, int Course, bool Grant)
{
this.Name = Name;
this.Course = Course;
this.Grant = Grant;
}

public Student(string Name, string course)
{
this.Name = Name;
this.course = course;
}

public void InfoStudent()
{
Console.WriteLine("Students Name: {0}\nCourse: {1}\nGrant: {2}\n", Name,Course, Grant);
}
public void InfoStudAnother()
{
Console.WriteLine("Student name: {0}\n" + "Info: {1}", Name, course);
}
}

Вова 25 фев 2017 18:36
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication23
{
class Student
{
private string name;
private int course;
private bool grant;

public Student(string name)
{
this.name = name;
course = 1;
grant = false;
}
public Student(string name, int course)
{
this.name = name;
this.course = course;
System.Console.WriteLine("Enter bal(for st #2): ");
int bal = Convert.ToInt32(System.Console.ReadLine());
if(bal > 11)
{
grant = true;
}
else if(bal < 11)
{
grant = false;
}
}
public Student(string name, int course, bool grant)
{
System.Console.WriteLine("Enter bal(for st #3): ");
int bal = Convert.ToInt32(System.Console.ReadLine());
this.name = name;
this.course = course;
if(bal > 11)
{
grant = true;
}
else if(bal < 11)
{
grant = false;
}
}
public void developSt()
{
System.Console.WriteLine(name);
System.Console.WriteLine(course);
System.Console.WriteLine(grant);
}
}
class Program
{
static void Main(string[] args)
{

Student Sasha = new Student("Sasha");
Student Misha = new Student("Misha", 2);
Student Vova = new Student("Vova", 3);

Sasha.developSt();
System.Console.WriteLine();

Misha.developSt();
System.Console.WriteLine();

Vova.developSt();
System.Console.WriteLine();

System.Console.ReadLine();
}
}
}

mihpir889 08 янв 2017 11:07

class Student
{
private string name;
private int course;
private bool grant;

public Student(string name)//1 конструктор
{
this.name = name;
course = 1;
grant = false;
}

public Student(string name, int course)//2 конструктор
{
this.name = name;
this.course = course;
grant = true;
}


public Student(string name, int course, bool grant)//3 конструктор
{
this.name = name;
this.course = course;
this.grant = grant;
}
public void writer()
{
Console.WriteLine(name);
Console.WriteLine(course);
Console.WriteLine(grant);
}
}


class Program
{
static void Main(string[] args)
{

Student misha = new Student("миша");
Student kolya = new Student("коля", 2);
Student lera = new Student("лера", 3, true);

misha.writer();
Console.WriteLine();
kolya.writer();
Console.WriteLine();
lera.writer();

Console.ReadKey();

}

}


Valeriy 04 ноя 2016 11:05

namespace КонсутркторыДЗ
{
class Student
{
private string name;
private int kurs;
private bool Stipyha;

public Student(string name, bool Stipyha) //конструктор 1
{
this.name = name;
kurs = 3;
this.Stipyha = Stipyha;
}

public Student(string name) //конструктор 2
{
this.name = name;
kurs = 2;
Stipyha = false;
}

public void infoStudent() //метод вывода информации о студенте
{
Console.WriteLine("Студент: {0}\nКурс: {1}\nСтипендия: {2}\n", this.name, this.kurs, this.Stipyha == true ? "есть" : "нет");
}
}

class Program
{
static void Main(string[] args)
{
Student student1 = new Student("Семен", true);
Student student2 = new Student("Виталий");

student1.infoStudent();
student2.infoStudent();

Console.ReadKey();
}
}
}

Valeriy 04 ноя 2016 09:55
Я сделал так:


namespace Телевизор1
{
public class TV
{
internal int channelNow;

//если канал дошёл до максимального = 100, то переключается на 1 канал;
public int ChannelChangedNext(int number)
{
if (number == 101) number = 1;
return number;
}

//если канал дошёл до минимального = 1, то дальше переключается на 101 канал;
public int ChannelChangedPrevious(int number1)
{
if (number1 == 0)
number1 = 100;
return number1;
}

public void SelectChannel(int num)
{
if (num <= 0 || num>100) Console.WriteLine("Введите номер канала 1-100");
else channelNow = num;
}

public void NextChannel()
{
channelNow += 1;
}

public void PreviousChannel()
{
channelNow -= 1;
}
}

class Program
{
static void Main(string[] args)
{
TV tvSet = new TV();
tvSet.channelNow = 1;
int ChooseChannelNum = tvSet.channelNow;

int SelectAct = 1;

//выбор действия на пульте
Start:
Console.WriteLine("Текущий канал: " + tvSet.channelNow);
Console.WriteLine("Выберите действие: \n1-Следующий канал \n2-Предыдущий канал \n3-Выбрать канал \n4-Выход");

if (!Int32.TryParse(Console.ReadLine(), out SelectAct))
{
Console.WriteLine("Недопустимый ввод");
Console.WriteLine(); //отступ
goto Start;
}

Console.WriteLine();//отступы

switch (SelectAct)
{
case 1:
Console.WriteLine("Переход на следующий канал ");
tvSet.NextChannel();
tvSet.channelNow = tvSet.ChannelChangedNext(tvSet.channelNow);
break;
case 2:
Console.WriteLine("Переход на предыдущий канал ");
tvSet.PreviousChannel();
tvSet.channelNow = tvSet.ChannelChangedPrevious(tvSet.channelNow);
break;
case 3:
Console.WriteLine("Введите номер канала: ");
try { tvSet.SelectChannel(Convert.ToInt32(Console.ReadLine())); }
catch
{
Console.WriteLine("Ошибка ввода");
}
break;
case 4:
goto Finish;

default:
Console.WriteLine("Ошибка. Введите номер действия (1-4)");
break;
}
Console.WriteLine(); //отступ
goto Start;

Finish:
Console.WriteLine();
}
}
}

Влад 07 окт 2016 17:25

class Student
{
public string name;
public int course;
public bool ifGrants;

public Student()
{
name = "Вася Пупкин";
course = 3;
ifGrants = false;
}
public Student(string name, bool ifGrants)
{
this.name = name;
course = 3;
this.ifGrants = ifGrants;

}

}
class Program
{
static void Main(string[] args)
{
Student stud = new Student();
Student alex = new Student("Оля", true);

Console.ReadKey();
}

}

Eddienuale 28 сен 2016 07:17
Познакомлюсь:
с Парнем
в возрасте 26-30 лет
Цель знакомства:
Брак, создание семьи
Интересы
Fitness
Типаж
Телосложение:
Обычное
Рост:
168 см
Вес:
70 кг
Волосы на голове:
Темные
Цвет глаз:
Карие
Религия:
Христианство
Соционический тип:
Есенин (лирик)
Знание языков:
Русский
Тип внешности:
Кавказская
Профессия:
Домохозяйка не работаю в декрете
Материальное положение:
Непостоянные заработки
Проживание:
Живу с родителями
Дети:
Есть, живем вместе
Дети партнёра:
Не против детей партнера
Cовместные дети:
Пока не знаю, как получится
Сексуальные предпочтения
loveawake
Как часто Вы хотели бы заниматься сексом?
Для меня секс не очень важен
Размер груди
Средняя
Меня возбуждает:
Интимная обстановка

Lermax 26 сен 2016 22:15

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

class Home_Task
{
public static void Main()
{
Console.WriteLine("Введите параметры: Имя студента, курс и наличие стипендии");
String name = Convert.ToString(Console.ReadLine());
String kurs = Convert.ToString(Console.ReadLine());
String stipendia = Convert.ToString(Console.ReadLine());
Student student = new Student(name);
student.GetStudent();
Console.ReadKey();
}
}

class Student
{
private string Name;
private string Kurs;
private string Stypendia;

public Student(): this("") {}
public Student(string name): this(name, "Курс не указан" ) {}
public Student(string name, string kurs) : this(name, kurs, "Значение стипендии не указано" ) {}
public Student(string name, string kurs, string stypendia)
{
Name = name;
Kurs = kurs;
Stypendia = stypendia;
}
public void GetStudent()
{
Console.WriteLine("Имя студента: {0}, Курс студента: {1}, Наличие стипендии: {2}", Name, Kurs, Stypendia);
}
}



Alex 02 авг 2016 11:49
namespace Student
{
class Program
{
static void Main(string[] args)
{
string n = "Вася";
int k = 2;
bool s = false;
Student stud = new Student(ref n, ref k, ref s);
Console.WriteLine(stud);
}
}


class Student
{
string name;
int kurs;
bool stipend;

public string Name
{
get { return name; }
set { name = value; }
}

public int Kurs
{
get { return kurs; }
set { kurs = value; }
}

public bool Stipend
{
get { return stipend; }
set { stipend = value; }
}

public Student()
{
Console.WriteLine("Не задан студент");
}

public Student( ref string Name,ref int Kurs,ref bool Stipend)
{
this.Name = Name;
this.Kurs = Kurs;
this.Stipend = Stipend;
string stip;
if (Stipend)
stip = "ДА";
else
stip = "НЕТ";
Console.WriteLine("Информация о студенте:");
Console.WriteLine("Имя: " + this.Name);
Console.WriteLine("Курс: " + this.Kurs + " курс");
Console.WriteLine("Стипедия " + stip);
}
}
}

Князь Владимир 10 июл 2016 13:56
class Student
{
public int course;
public string Name;
public bool grant;
public Student(string Name,int course,bool grant)
{
this.Name = Name;
this.course = course;
this.grant = grant;
}
public Student(string Name2,int ccourse)
{
this.Name = Name2;
this.course = ccourse;

}
public string About()
{
string s;
s = "Краткая информация о данном студенте:\nИмя: " + this.Name + "\nКурс обучения: " + this.course + "\nЯвляется получателем стипендии: " + this.grant + "";
return s;
}
}
class Program
{
static void Main(string[] args)
{
Student Igor = new Student("Igor",4,true);
Student Anya = new Student("Anya", 6, false);
Console.WriteLine(Igor.About()+"\n");
Console.WriteLine(Anya.About());
Console.ReadKey();

}
}
}

Devo4ka 16 июн 2016 15:34

class Student{
private string name;
private int course;
private bool stipend;

public Student(string s_name, int s_course, bool s_stipend){
this.name = s_name;
this.course = s_course;
this.stipend = s_stipend;
}
public Student(string sname, int s_course){
stipend = true;
this.course = s_course;
this.name = sname;
}
public string About(){
string result ="";
result = "Информация о студенте: \n Имя – "+this.name+", "+this.course+" курс. \n Наличие степендии: "+this.stipend+"\n";
return result;
}
}

class MainClass
{
public static void Main (string[] args){
Student Sasha = new Student ("Sasha", 3,false);
Student Olya = new Student ("Olya", 1);
Console.WriteLine (Sasha.About ());
Console.WriteLine (Olya.About ());
}
}

Татьяна 14 июн 2016 16:28
Кто еще не понял - скомпилируйте мой код и обратите внимание на 555 и Омар где они выводятся но консоль!!!Сама только поняла зачем нужны конструкторы когда написала.

namespace студент
{
class Program
{
static void Main(string[] args)
{
Student student = new Student();
Student stutden1 = new Student("Витя", 2);
Student student2 = new Student("Антон");
Student student3 = new Student(true);
student.WriteNameCourse();
stutden1.WriteNameCourse();
student2.WriteNameCourse();
student3.WriteNameCourse();
Console.ReadKey();
}
}
class Student
{
string nameStudent = "Омар";
int courseStudent = 555;
bool grantStudent = true;
public Student()
{
nameStudent = "Филя";
courseStudent = 5;
grantStudent = true;
}
public Student(string name, int course)
{
nameStudent = name;
courseStudent = course;
}
public Student(string name)
{
nameStudent = name;
}
public Student(bool grant)
{
grantStudent = grant;
}
public void WriteNameCourse()
{
if (!grantStudent)
{
Console.WriteLine("Студент {0} учится на {1} курсе и не получает стипендию", nameStudent, courseStudent);
}
else
{
Console.WriteLine("Студент {0} учится на {1} курсе и получает стипендию", nameStudent, courseStudent);
}
}

}

}

Ярослав 07 июн 2016 16:25

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LessionClassStudent
{
class Student
{
private string studentName;
private int studentCourse;
private bool studentStipend;

public Student()
{
studentName = "Noname";
studentCourse = 0;
studentStipend = false;
}

public Student(string name, int course, bool stipend)
{
studentName = name;
studentCourse = course;
studentStipend = stipend;
}

public string AboutStudent()
{
string result = "";
result = "Вы создали студента с такими параметрами: \n";
result += "Имя: " + this.studentName + "\n";
result += "Курс: " + this.studentCourse + "\n";
if (this.studentStipend)
{
result += "Получает стипендию и доволен";
}
else
{
result += "Студент грустит без денежки";
}

return result;

}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Здравствуйте");
Student student = new Student();
Console.WriteLine(student.AboutStudent());
Console.ReadKey();
}
}
}


Александр Михалев 29 апр 2016 15:04

class Student
{
internal string name;
internal int kurs;
internal string stepuha;

public Student(string name, string stepuha)
{
this.name = name;
this.stepuha = stepuha;
}
public Student(int kurs)
{
this.kurs = kurs;
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите информацию о студенте..\n Имя, Есть ли стипендия, курс");
Student nameandstep = new Student(Console.ReadLine(),Console.ReadLine());
Student studentkurs = new Student(Convert.ToInt32(Console.ReadLine()));

Console.WriteLine("Информация о студенте: \n Имя: {0}\n Курс:{1}\n Стипендия:{2}\n",nameandstep.name, studentkurs.kurs, nameandstep.stepuha);
Console.ReadLine();
}
}

bas-tion.ru 27 апр 2016 19:14
Учёт крепких алкогольных напитков

class Buchlo
{
// создаём переменные описывающее спиртное. Крепость и объём.
private int ABV;
private int volume;
private string age;

// Конструктор будет присваивать объём, крепость и возраст при создании объекта
public Buchlo(int aVolume, int anABV, string anAge)
{
this.ABV = anABV;
this.volume = aVolume;
this.age = anAge;
}
// Конструктор будет присваивать только возраст выдержки при создании объекта
public Buchlo()
{
age = "Выдержка не менне 5 лет";
}

// методы для проверки значений полей объекта, так как напрямую мы их посмотреть не можем.

public int toFindABV()
{
return ABV;
}
public int toFindVolume()
{
return volume;

}
public string toFindAge()
{
return age;
}
}


Создаём объекты используя разные конструкторы

// Несмотря на общий класс и методы, объекты получили разные поля, так как были инициализированны разными конструкторами.

Buchlo blackLabel = new Buchlo(1000, 40, "Выдержка не менне 10 лет");
Buchlo redLabel = new Buchlo();

Console.WriteLine("Бухло Black Label Имеет крепость " + blackLabel.toFindABV() + "%");
Console.WriteLine("Бухло Black Label Имеет объём " + blackLabel.toFindVolume() + "мл.");
Console.WriteLine("Бухло Black Label. " + blackLabel.toFindAge());

Console.WriteLine("Бухло Red Label. " + redLabel.toFindAge());
Console.WriteLine("Бухло Red Label Имеет объём " + redLabel.toFindVolume() + "мл.");

Stepan 17 апр 2016 00:04

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Project3
{
class Student
{
public string name;
public byte course;
public bool stypendy;
public Student(string name, byte course, bool stypendy)
{
this.name = name;
this.course = course;
this.stypendy = stypendy;
}
}
class Class
{
public static void Main()
{
Student Student1 = new Student("Степан",5,true);
Student Student2 = new Student("Earl",2,false);
Console.WriteLine("Информация о студентах:\nИмя:{0}\nКурс:{1}\nНачилие стипедии:{2}", Student1.name, Student1.course, Student1.stypendy);
Console.WriteLine("Имя:{0}\nКурс:{1}\nНаличие стипендии:{2}", Student2.name,Student2.course,Student2.stypendy);
Console.Read();
}
}
}


Александр Михалев 04 апр 2016 20:10

class Student
{
public string name, stependyT;
public int kurs;

public Student(string name, string stependyT) // конструктор №1
{
this.name = name;
this.stependyT = stependyT;
Console.WriteLine("Имя: " + name);
Console.WriteLine("Стипендия: " + stependyT);
}
public Student(int kurs) // конструктор №2
{
this.kurs = kurs;
Console.WriteLine("Курс: " + kurs);
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите имя..");
string imy = Console.ReadLine();
Console.WriteLine("Есть ли стипендия? ");
string stepend = Console.ReadLine();
Console.WriteLine("какой курс?");
int kurz = Convert.ToInt32(Console.ReadLine());
Console.Clear();
Student Student = new Student(imy, stepend);
Student Student2 = new Student(kurz);
Console.ReadKey();
}
}

Никита 22 мар 2016 01:33

namespace ConsoleApplication6
{
class Student
{
private string Name;
private byte StudYear;
private bool HaveStipend;
public Student()
{
Name = "Ivan";
StudYear = 1;
HaveStipend = true;
}
public Student(string Name, byte StudYear = 1, bool HaveStipend=true)
{
this.Name = Name;
this.StudYear = StudYear;
this.HaveStipend = HaveStipend;
}
public void back()
{
Console.WriteLine(Name);
Console.WriteLine(StudYear);
Console.WriteLine(HaveStipend);
}
}
class Program
{
static void Main(string[] args)
{
Student Ivan = new Student();
Ivan.back();
Student st2 = new Student("lexa",HaveStipend:false);
st2.back();
}
}
}

Vlad 09 мар 2016 22:04
|Как мне продолжать ввод пока не подтвердится условие? Подскажите пожалуйста! (Пробовал через continue - ничего, это не С++);



using System.Linq;
using System.Text;

namespace Student
{
class Student
{
internal string name;
internal double course;
internal int wage;

public Student()
{
name = "";
course = 0;
wage = 0;
}
public Student(string name, double course, int wage)
{
this.name = name;
this.course = course;
this.wage = wage;

}
public void Input(string[] arr, int n)
{



for (int i = 0; i < n; i++)
{
Console.WriteLine("Enter your name: ");
this.name = Console.ReadLine();
Console.WriteLine("Enter your number of course: ");
this.course = Double.Parse(Console.ReadLine());

if (this.course > 5)
{
Console.WriteLine("Wrong input \n Try again ");
this.course = Double.Parse(Console.ReadLine());

}

Console.WriteLine("Enter your wage amount: ");
this.wage = Int32.Parse(Console.ReadLine());
if (this.wage > 3000)
{
Console.WriteLine("Wrong input \n Try again ");
this.wage = Int32.Parse(Console.ReadLine());

}

Console.WriteLine("Your name: " + this.name + "\n" + "Your course: " + this.course + "\n" + "Your wage: " + this.wage);

}



}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter the quantity of students you want to identify: ");
int n = Int32.Parse(Console.ReadLine());
string[] array = new string[n];
Student s = new Student();
s.Input(array, n);
Console.ReadKey();



}
}
}

dmitry_zon 15 фев 2016 14:05
Abylai,

я так понимаю, проблема в том, что ты обратился к объекту test1 класса test, но не указал к какому полю, надо написать test1.price

dmitry_zon 15 фев 2016 14:01

namespace Lesson15
{
public class Student
{
public string Name, Grade, Grant;
public Student()
{
Name = "Zhora";
Grade = "3";
Grant = "0";
}
public Student(string Name, string Grade)
{
this.Name = Name;
this.Grade = Grade;
}
public Student(string Name, string Grade, string Grant)
{
this.Name = Name;
this.Grade = Grade;
this.Grant = Grant;
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter name, grade and grant devided by ,");
string StudentInfo = Convert.ToString(Console.ReadLine());
string[] StudentInfoArray = StudentInfo.Split(',');
Student Petrov = new Student();
Console.WriteLine(Petrov.Name);
Student Ivanov = new Student(StudentInfoArray[0], StudentInfoArray[1], StudentInfoArray[2]);
Console.WriteLine(Ivanov.Name + " " + Ivanov.Grade + " " + Ivanov.Grant);
Console.ReadKey();
}
}
}

voloshyn-i 14 фев 2016 01:37
using System;
using System.Text;

public class Student
{
private string Name;
private int Kurs;
private bool Grant;

public Student (string Name, int Kurs, bool Grant)
{
this.Name = Name;
this.Kurs = Kurs;
this.Grant = Grant;
}

public Student (string Name)
{
this.Name = Name;
}

public void show()
{
//Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine("Имя студента: " + Name);
Console.WriteLine("Курс: " + Kurs);

if (Grant == true)
Console.WriteLine("Получает стипендию");
else Console.WriteLine("Не получает стипендию");
Console.WriteLine("\n");
}

}
public class Program
{
public static void Main()
{

Student Petrov = new Student("Dima",1,true);
Student Ivanov = new Student("Anton",2,false);

Petrov.show();
Ivanov.show();

Console.ReadKey();
}
}

Abylai 05 фев 2016 13:27
Буду очень признателен, если решите проблему

Abylai 05 фев 2016 13:26
Здравствуйте admin. Решил написать простую программу по данной теме, но выходит не совсем ожидаемый результат. Вместо ответа выходит [имя namespace].[имя class]


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace oh_uzh_eti_classy
{
class Test
{
public int price;
public Test()
{
price = 10;
}
}
class Program
{
static void Main(string[] args)
{
Test test1 = new Test();
Console.WriteLine("The price is "+test1);
Console.ReadKey();
}
}
}

vv-ch 04 дек 2015 23:11


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace ConsoleApplication1
{
class Student {
private int Level;
private int Salary;
private string Name;
public Student(int Level, int Salary)
{
this.Level = Level;
this.Salary = Salary;
}
public Student(string Name)
{
this.Name = Name;
}
public Student(string Name, int Level, int Salary)
{
this.Name = Name;
this.Level = Level;
this.Salary = Salary;
}
internal void Ask() {
Console.WriteLine(Name + ": Level - " + Level + "; Salary - " + Salary + "$ |||");
}
}
class Program
{
static void Main(string[] args)
{
int n = 1500;
Student[] group1 = new Student[2000];
for (int i = 0; i <= n; i++) {
group1[i] = new Student("Noname", -1, -1);
}
Console.WriteLine("1 - Add\n2 - Ask\n3 - Pop");
int I = 0;
while(true){
int v = Convert.ToInt32(Console.ReadLine());
if (v == 1) {
I++;
Console.WriteLine("+-----------------------");
Console.Write("| Input Name: ");
string nm = Console.ReadLine();
Console.Write("| Input Level: ");
int lv = Convert.ToInt32(Console.ReadLine());
Console.Write("| Input Salary: ");
int sl = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("+-----------------------");
group1[I] = new Student(nm, lv, sl);
}
if (v == 2) {
Console.WriteLine();
group1[I].Ask();
Console.WriteLine();
}
if (v == 3 && I > 1) I--;
else if (v == 3 && I == 1) {
group1[I] = new Student("Noname", -1, -1);
}
}
}
}
}


Глупый 26 ноя 2015 09:35
/*Создайте класс Студент, определите в нем поля: имя, курс, есть ли у него стипендия.
Создайте в классе несколько конструкторов, для возможности задания сразу всех указанных параметров
или нескольких при создании экземпляров.*/

using System;
using System.Text;

public class Student
{
private string Name;
private int Kurs;
private bool Grant;

public Student (string Name, int Kurs, bool Grant)
{
this.Name = Name;
this.Kurs = Kurs;
this.Grant = Grant;
}

public Student (string Name)
{
this.Name = Name;
}

public void show()
{
Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine("Имя студента: " + Name);
Console.WriteLine("Учиться на курсе №" + Kurs);

if (Grant == true)
Console.WriteLine("Студент " + Name + " получает стипендию");
else Console.WriteLine("Студент " + Name + " не получает стипендию");
}
public void showNew()
{
Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine("Имя студента: " + Name + ". Он только что поступивший на 1 курс и не получает стипендии");
}
}
public class Program
{
public static void Main()
{

Student Petrov = new Student("Dima",1,true);
Student Ivanov = new Student("Anton",2,false);
Student Pupkin = new Student("Вася");
Petrov.show();
Ivanov.show();
Pupkin.showNew();
Console.ReadKey();
}
}


ROOT 17 авг 2015 23:48
//Домашнее задание//

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication35
{
class Student
{
private string name;
private int course;
private bool scholarship;
public Student()
{
name = "Ilya";
course = 4;
scholarship = true;
}
public Student(string name, int course, bool scholarship)
{
this.name = name;
this.course = course;
this.scholarship = scholarship;
}
public Student(string name, int course)
{
this.name = name;
this.course = course;
this.scholarship = false;
}
public Student(string name)
{
this.name = name;
this.course = 2;
this.scholarship = false;
}
public void back()
{
Console.WriteLine(name);
Console.WriteLine(course);
Console.WriteLine(scholarship);
}
}
class Program
{
static void Main(string[] args)
{
//Создайте класс Студент, определите в нем поля: имя, курс, есть ли у него стипендия
//Создайте в классе несколько конструкторов, для возможности задания сразу всех указанных параметров или нескольких при создании экземпляров
Student NewStudent = new Student();
Student NewStudent2 = new Student("Danil", 3, true);
Student NewStudent3 = new Student("Sergey", 4);
Student NewStudent4 = new Student("Ivan");
Console.WriteLine("Информация о первом студенте:");
NewStudent.back();
Console.WriteLine("Информация о втором студенте:");
NewStudent2.back();
Console.WriteLine("Информация о третьем студенте:");
NewStudent3.back();
Console.WriteLine("Информация о четвертом студенте:");
NewStudent4.back();
Console.ReadKey();
}
}
}

Сергей 29 июл 2015 15:25
class student
{
private string name;
private int cours;
private string allowance;
public student()
{
name = "kiril";
cours = 1;
allowance = "true";
}
public student(string name, int cours, string allowance)
{
this.name = name;
this.cours = cours;
this.allowance = allowance;
}
public void show()
{
Console.WriteLine(name);
Console.WriteLine(cours);
Console.WriteLine(allowance);

}
}

class Program
{
static void Main(string[] args)
{
string name;
int cours;
string allowance;
link:
Console.Write("write name: ");
name = Convert.ToString(Console.ReadLine());
Console.Write("write cours: ");
cours = Convert.ToUInt16(Console.ReadLine());
Console.Write("write do u have allowance yes or no: ");
allowance = Convert.ToString(Console.ReadLine());
try
{
if (allowance == "yes")
{
allowance = "true";
}
else if (allowance == "no")
{
allowance = "false";
}
else
{
Console.WriteLine("u aren't typed yes or no ");
}
}
catch(FormatException)
{
Console.WriteLine("error! u are wrote not text");
Console.ReadLine();
Console.Clear();
goto link;
}
student student1 = new student();
student student2 = new student(name, cours, allowance);
student1.show();
Console.WriteLine("-------------------------");
student2.show();
Console.ReadKey();

}
}
}

Спасибо за уроки, вроде работает

Серж 22 июл 2015 20:54
namespace ConsoleApplication39
{
class student
{
private string name;
private int kurs;
private bool styp;

public student()
{
name = "vasya";
kurs = 1;
styp = true;

}

public student(string name, int kurs, bool styp)
{
this.name=name;
this.styp=styp;
this.kurs=kurs;
}
public student(string name, int kurs)
{
this.name = name;
this.kurs = kurs;
styp = false;
}
public void show()
{
Console.WriteLine("student {0}\t on {1} \t styp is {2}",name,kurs,styp);
}
}
class Program

{
static void Main(string[] args)
{
student stu = new student();
student stu1 = new student("petro", 2, false);
student stu2 = new student("sejik", 3);
stu.show();
stu1.show();
stu2.show();
Console.ReadKey();
}
}
}

Очень Юра 17 июл 2015 01:31
Спасибо за урок. Нормально? Вопрос: можно ли реализовать показ шапки с названием полей перед списком данных внутри метода ShowUs? Я так понимаю, можно создать поле с переменной-триггером, что кажется не красивым.

namespace ConsoleApplication1
{
class Student
{
private string name;
private byte year;
private bool stipend;

public Student()
{
name = "Студент";
year = 1;
stipend = false;
}
public Student(string name, byte year, bool stipend)
{
this.name = name;
this.year = year;
this.stipend = stipend;
}
public Student(string name)
{
this.name = name;
}
public void ShowUs()
{
Console.WriteLine("Имя: {0}\tКурс: {1}\tСтипендия: {2}", name, year, stipend ? "Есть" : "Нет");
}
}
class Program
{
static void Main(string[] args)
{
Student newStudent = new Student();
Student newStudent2 = new Student("Юра", 5, true);
Student newStudent3 = new Student("Вова");
newStudent.ShowUs();
newStudent2.ShowUs();
newStudent3.ShowUs();
Console.ReadLine();
}
}
}

Юлия 10 июн 2015 06:58
class student
{
private string name;
private int corse;
private Boolean stipend;

public student()
{name = "";
corse = 0;
stipend = false;
}
public student(string name, int corse, Boolean stipend)
{ this.name = name;
this.corse = corse;
this.stipend = stipend;
}

}
class Program
{
static void Main(string[] args)
{
student newstudent = new student();
student newstudent2 = new student("Паламарчук",4,true);

}
}
}

Flamingo 07 июн 2015 17:23

class Student
{
internal string name;
internal int course;
internal bool sholarship;
public Student(string name, int course)
{
this.name = name;
this.course = course;
}
public Student(string name, int course, bool sholarship)
{
this.name = name;
this.course = course;
this.sholarship = sholarship;
}
}
class Program
{
static void Main(string[] args)
{
bool sholarship;
Console.WriteLine("Введите имя студента:");
string name = Console.ReadLine();
Console.WriteLine("Введите курс студента:");
int course = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Есть ли у студента стипендия(Y,N)");
if (Console.ReadLine() == "Y")
{
sholarship = true;
}
else
{
sholarship = false;
}
Student st_one = new Student(name, course, sholarship);
Console.WriteLine(st_one.name);
Console.WriteLine(st_one.course);
Console.WriteLine(st_one.sholarship);
}
}

Warguss 04 июн 2015 14:37

class Student
{
private string _name;
private string _course;
private bool _isStipend;

// Создаем пользовательский конструктор(конструктор по умолчанию работать не будет
// то есть сделать так Student std = new Student() не сможем
// ну если мы определим явно конструктор по умолчанию то код Student std = new Student()
// работать будет)
public Student(string name, string course, bool isStipend)
{
_name = name;
_course = course;
_isStipend = isStipend;

Console.WriteLine("Сработал первый конструктор");
}

public Student(string name, string course)
{
_name = name;
_course = course;
_isStipend = false;

Console.WriteLine("Сработал второй конструктор");
}

}


class Program
{
static void Main()
{
Student student;
string Name, Course, s;
bool stipend;

Console.Write("Введите имя студента: ");
Name = Console.ReadLine();

Console.Write("Введите курс студента: ");
Course = Console.ReadLine();

Console.WriteLine("Получит студент стипендию?? Да, Нет!");
s = Console.ReadLine();

if (s == "Да")
{
stipend = true;

student = new Student(Name, Course, stipend);
}
else
{
student = new Student(Name, Course);
}

Console.ReadKey();
}
}

Warguss 29 май 2015 18:37
Спасибо Макс. за уроки будем ждать продолжения!!!!

Максим 29 май 2015 16:43
Warguss
---
Формы будут через несколько уроков, но вдохновения у меня хватает на не больше, чем 1 урок в месяц, поэтому нужно ждать.

Warguss 29 май 2015 14:14
Макс (Админ) А почему тебе не сделать уроки по WindwosForm ?
Все же работать с консолью не так интересно! Я конечно понимаю, что это базовые навыки, ну все же WindwosForm, будет интересно многим, как такого в сети мало информаций!!!

Flamingo 20 май 2015 22:26

class Student
{
internal string name;
internal string course;
internal int salary;

public Student(string name, string course, int salary)
{
this.name = name;
this.course = course;
this.salary = salary;
}
}
class Program
{
static void Main(string[] args)
{
string name, course;
int salary;
Console.WriteLine("Введите имя студента:");
name = Console.ReadLine();
Console.WriteLine("Введите курс студента:");
course = Console.ReadLine();
Console.WriteLine("Введите зарплату студента:");
salary = Convert.ToInt32(Console.ReadLine());
Student Student1 = new Student(name, course, salary);
Console.WriteLine(Student1.name + " " + Student1.course + " " + Student1.salary );
Console.ReadKey();
}
}

Александр_Бугай 12 май 2015 09:45
class Student
{
internal string name;
internal string surname;
internal byte course;
internal bool grants;
public Student()
{
name = "Ivan";
surname = "Ivanov";
course = 3;
grants = true;
}
public Student(string name, string surname, byte course, bool grants)
{
this.name = name;
this.surname = surname;
this.course = course;
this.grants = grants;
}

}
class Program
{
static void Main(string[] args)
{
Student Ivanov = new Student();
string surname = Ivanov.surname;
Console.WriteLine("Surname is " + surname);
Console.ReadLine();
Student Petrov = new Student("Petr", "Petrov", 2, false);
string name = Petrov.name;
Console.WriteLine("Name is " + name);
Console.ReadLine();
}
}

phoenixpakko 17 апр 2015 10:15

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Constructors
{
class Student
{
private string Surname;
private string Name;
private byte Course;
private bool IsScholarship;

public Student()
{
Surname = "NoName";
Name = "NoName";
Course = 1;
IsScholarship = false;
}

public Student(string Surname)
{
this.Surname = Surname;
Name = "NoName";
Course = 1;
IsScholarship = false;
}

public Student(string Surname, string Name)
{
this.Surname = Surname;
this.Name = Name;
Course = 1;
IsScholarship = true;
}

public Student(string Surname, string Name, byte Course, bool IsScholarship)
{
this.Surname = Surname;
this.Name = Name;
this.Course = Course;
this.IsScholarship = IsScholarship;
}
}

class Program
{
static void Main(string[] args)
{
Student Stud1 = new Student();
Student Stud2 = new Student("Vasiliev");
Student Stud3 = new Student("Ivanov","Ivan");
Student Stud4 = new Student("Petrov","Petr",5,false);
Student Stud5 = new Student("Sidorov","Sidor",3,true);
}
}
}

Andriy 20 мар 2015 11:11



namespace ConsoleApplication1
{
class Warrior
{
public int Life { get; set; }

public virtual int GetDamage(int dmg)
{
Life -= dmg;
return Life;
}
}


class WarriorWithLightArmor : Warrior
{
public override int GetDamage(int dmg)
{
Life -= dmg*100/120;
return Life;
}

}

class WarriorWithHardArmor : Warrior
{
public override int GetDamage(int dmg)
{
Life -= dmg*100/150;
return Life;
}
}


class Program
{
static void Main()
{
Console.WriteLine("Введiть воїна (1-Warrior, 2-WarriorWithLightArmor, 3-WarriorWithHardArmor) та кiлькiсть життя i кiлькiсть пошкодження ");
int w = Convert.ToInt32(Console.ReadLine());
int h = Convert.ToInt32(Console.ReadLine());
int d = Convert.ToInt32(Console.ReadLine());

switch (w)
{
case 1:
Warrior WR1 = new Warrior();
WR1.Life = h;
Console.WriteLine("Warrior: " + WR1.GetDamage(d));
Console.ReadLine();
break;

case 2:
WarriorWithLightArmor WR2 = new WarriorWithLightArmor();
WR2.Life = h;
Console.WriteLine("WarriorWithLightArmor: "+WR2.GetDamage(d));
Console.ReadLine();

break;

case 3:
WarriorWithHardArmor WR3 = new WarriorWithHardArmor();
WR3.Life = h;
Console.WriteLine("WarriorWithHardArmor: "+WR3.GetDamage(d));
Console.ReadLine();
break;
}

}
}
}

Oper 08 фев 2015 15:09
Хотелось создать такой конструктор, который мог бы не принимать параметры, либо всех принять, либо по одному. А если учесть все варианты по 2, то таких конструкторов вышло бы очень много.

Как оказалось, что для этого отличным решением подходит использование конструктора с необязательными аргументами. Для этого всего лишь нужно проинициализировать принимаемые аргументы в конструкторе. Этим мы зададим значения аргументов по умолчанию, и в случае если какой-либо аргумент не передается, то испльзуется его значение по умолчанию.

Пример:
using System;

//Создайте класс Студент, определите в нем поля: имя, курс, есть ли у него стипендия.
//Создайте в классе несколько конструкторов,
//для возможности задания сразу всех указанных параметров или нескольких при создании экземпляров.

namespace L15
{
class Student
{
string Name;
int Kurs;
bool Stepuha;

public Student(string Name = "NoName", int Kurs = 0, bool Stepuha = default(bool))
{
this.Name = Name;
this.Kurs = Kurs;
this.Stepuha = Stepuha;
}
public void GetVelues ()
{
Console.WriteLine(" Имя: {0}\n Курс: {1}\n Наличие степендии: {2}\n", Name, Kurs, Stepuha);
}
}
class Program
{
static void Main(string[] args)
{
Student NulStudent = new Student();
Student NameStudent = new Student("Инакентий");
Student KursStudent = new Student(Kurs: 5);
Student StepuhaStudent = new Student(Stepuha: true);
Student NonameOnlyStudent = new Student(Stepuha: true, Kurs: 5);
Student CompleteStudent = new Student("Борис", 3, true);
Console.WriteLine("Конструктор без параметров");
NulStudent.GetVelues();

Console.WriteLine("Конструктор с передачей только имени (\"Инакентий\")");
NameStudent.GetVelues();

Console.WriteLine("Конструктор с передачей только курса (Kurs: 5)");
KursStudent.GetVelues();

Console.WriteLine("Конструктор с передачей только наличия степендии (Stepuha: true)");
StepuhaStudent.GetVelues();

Console.WriteLine("Конструктор с передачей двух параметров по их имени (Stepuha: true, Kurs: 5)");
NonameOnlyStudent.GetVelues();

Console.WriteLine("Конструктор с передачей всех требуемых параметров (\"Борис\", 3, true)");
CompleteStudent.GetVelues();
Console.ReadKey();
}
}
}

Подобное допустимо и для методов.

Максим 06 фев 2015 20:34
Oper
---
Если есть много конструкторов и все они не принимают параметры для некоторых полей полей, инициализацию этих полей лучше написать сразу при объявлении, чем делать это в каждом из конструкторов

Oper 06 фев 2015 12:15
Срезало слово False в предыдущем сообщении.

В общем как лучше в таких случаях делать(при создании конструкторов с приемом одного параметра)? Инициализировать поля при создании, либо в каждом конструкторе с одним параметром, инициализировать необходимые поля, которые не передаются в параметрах конструктора?

Oper 06 фев 2015 12:11
Я, вот, к чему. Ниже приведенный мною код имеет вывод:
Имя: Иван
Курс: 1
Наличие степендии: False

Имя: Анакентий
Курс: 100500
Наличие степендии: False

Имя: Антон
Курс: 5
Наличие степендии: False

Имя: Антон
Курс: 100500
Наличие степендии: True

Имя: Борис
Курс: 3
Наличие степендии: True


Если же поля объявить без инициализации:
...
class Student
{
string Name;
int Kurs;
bool Stepuha;
...


То вывод будет таким:
Имя: Иван
Курс: 1
Наличие степендии: Fals

Имя: Анакентий
Курс: 0
Наличие степендии: Fals

Имя:
Курс: 5
Наличие степендии: Fals

Имя:
Курс: 0
Наличие степендии: True

Имя: Борис
Курс: 3
Наличие степендии: True

Максим 05 фев 2015 19:38
Oper
---
Нет разницы. Вся инициализация вне конструктора в конце концов будет выполнена в том конструкторе, который был вызван. Этот код:

string Name = "Антон";
int Kurs = 100500;
bool Stepuha = false;

public Student()
{
//Извиняюсь за название полей и перменных в транслите.
Name = "Иван";
Kurs = 1;
Stepuha = false;

}

В итоге будет таким:

public Student()
{
Name = "Антон";
Kurs = 100500;
Stepuha = false;
Name = "Иван";
Kurs = 1;
Stepuha = false;
}

Oper 05 фев 2015 17:34
А что если сразу при объявлении поля проинициализировать его без использования конструктора без параметров?


private double mileage = 0;
private double fuel = 0;


Чем это чревато?

К примеру, при помощи объявлении полей можно создавать конструкторы не со всеми параметрами, т.о. образом заменяя значения проинициализированных полей. Можно это рассмотреть на примере домашнего задания:


using System;

//Создайте класс Студент, определите в нем поля: имя, курс, есть ли у него стипендия.
//Создайте в классе несколько конструкторов,
//для возможности задания сразу всех указанных параметров или нескольких при создании экземпляров.

namespace L15
{
class Student
{
string Name = "Антон";
int Kurs = 100500;
bool Stepuha = false;

public Student ()
{
//Извиняюсь за название полей и перменных в транслите.
Name = "Иван";
Kurs = 1;
Stepuha = false;

}
public Student (string Name)
{
this.Name = Name;
}
public Student (int Kurs)
{
this.Kurs = Kurs;
}
public Student(bool Stepuha)
{
this.Stepuha = Stepuha;
}
public Student(string Name, int Kurs, bool Stepuha)
{
this.Name = Name;
this.Kurs = Kurs;
this.Stepuha = Stepuha;
}
public void GetVelues ()
{
Console.WriteLine("Имя: {0}\nКурс: {1}\nНаличие степендии: {2}\n", Name, Kurs, Stepuha);
}
}
class Program
{
static void Main(string[] args)
{
Student NulStudent = new Student();
Student NameStudent = new Student("Анакентий");
Student KursStudent = new Student(5);
Student StepuhaStudent = new Student(true);
Student CompleteStudent = new Student("Борис", 3, true);
NulStudent.GetVelues();
NameStudent.GetVelues();
KursStudent.GetVelues();
StepuhaStudent.GetVelues();
CompleteStudent.GetVelues();
Console.ReadKey();
}
}
}

AlexWolf 27 янв 2015 15:01
То что требовалось?


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Student
{
public string name;
public byte kurs;
public bool stipendia;

public Student()
{
name = "Noname";
kurs = 0;
stipendia = false;
}
public Student(string name, byte kurs, bool stipendia)
{
this.name = name;
this.kurs = kurs;
this.stipendia = stipendia;
}

}

class Program
{
static void Main(string[] args)
{


Student newbie_0 = new Student();
Student newbie_1 = new Student("Дима", 1, false);
Student newbie_2 = new Student("Коля", 2, true);
Student newbie_3 = new Student("Иван", 4, false);

Console.WriteLine("Студент " + newbie_0.name + " c " + newbie_0.kurs + " курса " + (newbie_0.stipendia == true ? "получает стипендию." : "не получает стипендию."));
Console.WriteLine("Студент " + newbie_1.name + " c " + newbie_1.kurs + " курса " + (newbie_1.stipendia == true ? "получает стипендию." : "не получает стипендию."));
Console.WriteLine("Студент " + newbie_2.name + " c " + newbie_2.kurs + " курса " + (newbie_2.stipendia == true ? "получает стипендию." : "не получает стипендию."));
Console.WriteLine("Студент " + newbie_3.name + " c " + newbie_3.kurs + " курса " + (newbie_3.stipendia == true ? "получает стипендию." : "не получает стипендию."));


Console.ReadKey();
}
}
}

Виталий 20 янв 2015 16:39
admin

Хорошо! Спасибо огромное!

Максим 20 янв 2015 16:22
Виталий
---
Это:

if (alexey.stipendy == true)
stipendy = "У студента \"" + alexey.name + "\" есть стипендия.";
else
stipendy = "У студента \"" + alexey.name + "\" нет стипендии.";

Можно переделать так:

stipendy = "У студента \"" + alexey.name + "\" " + alexey.stipendy ? "есть стипендия." : "нет стипендии.";


Ну и оператор switch здесь совсем не подходит. Вывод данных для "Алексея" и для любого другого ничем не отличается. По вашему, получается для других имен тело case везде будет дублироваться, и не будете же вы для каждого имени вручную создавать ветку case...

Виталий 20 янв 2015 14:48
Конечно сыроватая но домашка:

public class Student
{
public bool stipendy;
public string name;
public string kurs;

public Student(string name, string kurs, bool stipendy)
{
this.name = name;
this.kurs = kurs;
this.stipendy = stipendy;
}
}
public class Program
{
static void Main(string[] args)
{
string stipendy;
Student alexey = new Student("alexey", "finance", true);
Console.WriteLine("Введите имя студента для показа сведений о нём.");
string control = Console.ReadLine();
if (alexey.stipendy == true)
stipendy = "У студента \"" + alexey.name + "\" есть стипендия.";
else
stipendy = "У студента \"" + alexey.name + "\" нет стипендии.";
switch (control)
{
case "Алексей":
Console.WriteLine(stipendy);
Console.WriteLine("Имя:" +alexey.name);
Console.WriteLine("Курс:" +alexey.kurs);
break;
}
Console.ReadKey();
}
}

Максим 04 янв 2015 17:11
baks85
---
Добавьте объекты в список и в цикле вызыввайте метод Show

И не вставляйте больше код вне тега, пользуйтесь кнопкой, которая внизу окна комментария

baks85 03 янв 2015 15:09
Доброго времени суток!
есть вопрос:
можно ли как-то посчитать обьекты. Смысл в том, чтобы не для каждого обьекта делать вывод информации на экран через функцию а какой-то одной командой сделать вывод сразу для всех обьектов.

ну и собственно домашка ниже по тексту:
_______________________________________________________________
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication19
{
class Student
{
public string names;
public int course;
public bool stipendia;

public Student (string bufname)
{
this.names=bufname;
course=1;
stipendia=false;
}
public Student(string bufname, int bufcourse)
{
this.names=bufname;
course=bufcourse;
stipendia=false;
}
public Student(string bufname, int bufcourse, string bufstipendia)
{
this.names=bufname;
course=bufcourse;

if (bufstipendia=="yes")
stipendia=true;
else
stipendia=false;
}
public void Show ()
{
string bufmessage = "";

if (stipendia == true)
bufmessage="получает стипендию";
else
bufmessage="не получает стипендию";

Console.WriteLine(names +" студент " +course +"-го курса " +bufmessage);
}
}


class Program
{
static void Main(string[] args)
{
Student student1 = new Student("Петров А. И.");
student1.Show();
Student student2 = new Student("Иванов С. Н.", 2);
student2.Show();
Student student3 = new Student("Сидоров В. К.", 4, "yes");
student3.Show();

Console.ReadKey();
}
}
}

Диманиак 26 ноя 2014 08:38
Вот моя попытка ограничиться двумя конструкторами на все случаи жизни :)
Как делают все через типизированные аргументы видел, поэтому решил сделать немного по другому.
Наверное, можно было ограничиться и одним (непустым) конструктором, но тогда нужно понимать, что создание нового объекта без передачи аргументов вызовет исключение. Аналогично, если не инициализировать аргумент для имени студента, то желательно будет раскомментировать вызов исключения в обоих конструкторах, или же добавить соответствующий код для обработки ошибки и выдачи сообщений. Конкретно для данной задачи создание нового объекта без имени лишено смысла в реальном мире.
Интересно услышать ваши замечания.


class Student
{
private string name = "Аноним";
private byte course = 1;
private bool stipendia = false;

public Student()
{
//throw new FormatException();
}

public Student(string args)
{
string[] StringArrayOfParameters = args.Split(',');
foreach (string ParameterString in StringArrayOfParameters)
{
bool StipendiaParameter;
byte CourseParameter;
if (Boolean.TryParse(ParameterString, out StipendiaParameter))
this.stipendia = StipendiaParameter;
else
if (Byte.TryParse(ParameterString, out CourseParameter))
this.course = CourseParameter;
else
if (!String.IsNullOrWhiteSpace(ParameterString))
this.name = ParameterString;
//else
// throw new FormatException();
}
}
public void Info()
{
Console.WriteLine(name+" студент "+course+" курса,"+(!stipendia?" не ":" ")+"имеет стипендию");
}
}

class Program
{

static void Main(string[] args)
{
Student st1 = new Student();
st1.Info();
Student st2 = new Student("Иванов");
st2.Info();
Student st3 = new Student("Петров,true");
st3.Info();
Student st4 = new Student("Сидоров");
st4.Info();
Student st5 = new Student("Волков,5,true");
st5.Info();
Student st6 = new Student("3,true");
st6.Info();
Student st7 = new Student("true");
st7.Info();
Student st8 = new Student("Зайцев");
st8.Info();
Student st9 = new Student("");
st9.Info();
Student st10 = new Student(" ");
st10.Info();

Console.ReadKey();

}
}

Oleksandr 22 ноя 2014 11:43
class Student
{
private string Name = "";
private byte Kurs = 1;
private bool havesCholarship = false;

public Student(string name, byte kurs, bool hCholarship)
{
Name = name;
Kurs = kurs;
havesCholarship = hCholarship;
}
public Student(string name, byte kurs)
{
Name = name;
Kurs = kurs;
}
public void ShowAllData()
{
Console.WriteLine("\nname of student: {0}.\nstudy on {1} kyrs", Name, Kurs);
if (havesCholarship == true)
Console.WriteLine("has the cholarship.");
else
Console.WriteLine("hasn't the cholarship.");
}

}

class Program
{


static void Main(string[] args)
{
Student st1 = new Student("Mukola", 3, true);

Student st2 = new Student("Olya", 4);

List<Student> list = new List<Student>();
list.Add(st1);
list.Add(st2);
for (int i = 0; i < list.Count; i++ )
{
list[i].ShowAllData();

}

Console.ReadKey();

}
}

Николай 22 окт 2014 20:26
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{

class Student
{ private string name;
private int year_of_studing;
private bool scholarship;
public Student ()
{ name="Nikolay";
year_of_studing = 1;
scholarship = true;
}
public Student (string name, int year_of_studing, bool scholarship)
{ this.name=name;
this.year_of_studing = year_of_studing;
this.scholarship = scholarship;
}
public void StudentInfo()
{ Console.Write("Имя "+name+"\n");
Console.Write("Курс "+year_of_studing+"\n");
Console.WriteLine("Степендия " + (scholarship==true? "Есть стипендия":"Нет стипендии")+"\n");
Console.ReadKey();
}
}
class Program
{
static void Main(string[] args)
{
Student student_1 = new Student();
student_1.StudentInfo();
Student student_2 = new Student("Петр", 3, false);
student_2.StudentInfo();

}
}
}

Алекс 21 окт 2014 16:51
namespace ConsoleApplication1
{
class Student
{
private string name;
private int kurs;
private bool grant;
public Student()
{
name = "default";
kurs = 1;
grant = false;
}
public Student(string name1)
{
name = name1;
kurs = 1;
grant = false;
}
public Student(string name1, int kurs1)
{
name = name1;
kurs = kurs1;
grant = false;
}
public Student(string name1, int kurs1, bool grant1)
{
name = name1;
kurs = kurs1;
grant = grant1;
}
public Student(string name1, bool grant1)
{
name = name1;
kurs = 1;
grant = grant1;
}
public Student(int kurs1, bool grant1)
{
name = "default";
kurs = kurs1;
grant = grant1;
}

}

class Program
{
static void Main()
{
Student st1 = new Student();
Student st2 = new Student("Иванов");
Student st3 = new Student("Петров", 3);
Student st4 = new Student("Сидоров", 4, true);
Student st5 = new Student("Нигматулин", true);
Student st6 = new Student(3, true);
}
}
}

Slavik 04 окт 2014 20:11
спасибо за урок
немного не по заданию, но думаю подойдёт


namespace student
{
class Student
{
public string name;
public int course;
public bool studentship;

public Student(string name, int course, bool studentship)
{
this.name = name;
this.course = course;
this.studentship = studentship;
}

public void Message()
{
Console.WriteLine("Student name: {0} \nHis course: {1} \nStudentship: {2}", name, course, studentship);
}
}
class Program
{
static void Main(string[] args)
{
string name = "SLavik";
int course = 5;
bool studentship = true;
Student student1 = new Student( name, course, studentship);
student1.Message();
Console.ReadKey();
}
}
}

Максим 19 сен 2014 15:02
Firik
---
Зачем так много, три хватит

Firik 18 сен 2014 22:33
3 аргумента и 7 конструкторов... кошмар

Максим 18 сен 2014 18:54
Firik
---
Нет, конструкторы нужно объявлять

Firik 16 сен 2014 16:55
Объявил конструктор с аргументами
public Student(string Name, int Kurs, bool Stipendia)
this.Kurs = Kurs;
this.Name = Name;
this.Stipendia = Stipendia;

Возможно ли при создании объекта указывать не все аргументы, не создавая еще 2 конструктора под каждый случай?

Максим 12 сен 2014 19:25
gurunof
---
Вообще-то конструкторы используются не для вывода информации, как сделали вы, а для инициализации полей объекта. В конструктор должны передаваться имя, курс и стипендия. В случае когда один или несколько параметров не передаются, например курс, тогда этим полям присваивается какое-нибудь значения по-умолчанию (курс 1).

Кроме того, давайте переменным понятные именя, что это за i,ii,iii ))
И это (Curs == 1 || Curs == 2 || Curs == 4 || Curs == 5)
стоит заменить на (Curs >= 1 && Curs <= 5)

gurunof 12 сен 2014 15:24
Надоело вбивать данные каждый раз одно и тоже сделал генератор.
Проверите?


class Program
{
static void Main(string[] args)
{

Studentiki stud = new Studentiki();

stud.Generator();
Console.WriteLine("_Вызов с одним_\n________");
stud.Student(true);

Console.WriteLine("\n\n\n_Вызов с двумя_\n________");
stud.Generator();
stud.Student(true, true);

Console.WriteLine("\n\n\n_Вызов с тремя_\n________");
stud.Generator();
stud.Student(true, true, true);

Console.ReadKey();

}
}

class Studentiki
{
string Name;
int Curs;
bool Stipendiya;

public void Generator()
{
Random hren = new Random();
string[] spisok = new string[10];

spisok[0] = "Саша"; spisok[1] = "Петя";
spisok[2] = "Коля"; spisok[3] = "Сережа";
spisok[4] = "Крузерштейн"; spisok[5] = "Дима";
spisok[6] = "Вася"; spisok[7] = "Гоги";
spisok[8] = "Микола"; spisok[9] = "Давид";

this.Name = spisok[hren.Next(0, 9)];
this.Curs = hren.Next(1, 5);
if (hren.Next(0, 100) < 51) this.Stipendiya = false; else this.Stipendiya = true;
}

public void Student(bool i)
{
Console.WriteLine("- Имя, сестра, Имя.\n" + Name);

}

public void Student(bool i, bool ii)
{
string _text;
if (Curs == 1 || Curs == 2 || Curs == 4 || Curs == 5) _text = "-ом"; else _text = "-ем";
Console.WriteLine(" - На каком курсе говориш " + Name + "? \nНа " + Curs + _text);
}

public void Student(bool i, bool ii, bool iii)
{

string _text = Name + ", у тябя есть стипендия?\n- ";
if (Stipendiya) _text = _text + "Да"; else _text = _text + "Нет";
_text = _text + "\nА ты на каком курсе, то?\nНа " + Curs;
if (Curs == 1 || Curs == 2 || Curs == 4 || Curs == 5) _text = _text + "-ом"; else _text = _text + "-ем";
Console.WriteLine(_text);

}

}

Максим 29 авг 2014 18:06
mumm
---
Нужно указывать объект, когда мы хотим обратиться к его полю. Если будет два объекта студент, чьё name тогда выводить?

mumm 29 авг 2014 04:06
Почему нельзя так?
static void Main(string[] args)
{
students newStudent = new students("Petr", 3, true);
Console.WriteLine("{0}, {1}, {2}", name, Curs, Stependiya);
Console.ReadKey();
}

Максим 03 июл 2014 15:00
AlexSerikov
---
Да

AlexSerikov 02 июл 2014 19:35
Я правильно понял задание ?

namespace sampleClasses
{
class Student
{
private string Name;
private int Age;
private bool Gold;
public Student(string Name)
{
this.Name = Name;
Console.WriteLine("{0}", Name);
}
public Student(string Name, int Age)
{
this.Name = Name;
this.Age = Age;
Console.WriteLine("{0}\t\t {1}", Name, Age);
}
public Student(string Name, int Age, bool Gold)
{
this.Name = Name;
this.Age = Age;
this.Gold = Gold;
Console.WriteLine("{0}\t\t {1}\t {2}", Name, Age, Gold);
}

}
class Program
{

static void Main()
{
Console.WriteLine("Name student \t Age \t GOLD");
Student student_01 = new Student("Vasiliy", 20, true);
Student student_02 = new Student("Fedor", 18, false);
Student student_03 = new Student("Sasha", 21, true);
Student student_04 = new Student("Dima");
Student student_05 = new Student("Nikita", 21);
Console.ReadKey();

}
}
}

Максим 30 июн 2014 15:37
zloy_proger
---
Student obj = new Student(); // здесь происходит ввод лишнего студента

Метод students_list не имеет никакого отношения конкретно к объектам Student, его стоит сделать статическим:

public static void students_list(int number, Student[] student_mas)

И потом вызывать так:

Student.students_list(i, new_student);

И не нужно передавать в него параметр "number". Получить длину массива можно через свойство student_mas.Length

zloy_proger 29 июн 2014 15:44
прошу оценить код и объяснить почему у меня вводит на одного студента больше чем я задаю

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace конструкторы
{
class Student
{
private string student_name;
private int student_course;
private bool student_stipend;
public string student_name_enter()
{
Console.WriteLine("Введите имя студента: ");
string name = Console.ReadLine();
return (name);
}
private int student_course_enter()
{
Console.WriteLine("Введите курс обучения(1-5): ");
int course = Convert.ToInt32(Console.ReadLine());
if(course<1 || course>5)
{
Console.WriteLine("Ошибка. Недопустимое значение.");
course = student_course_enter();
}
return (course);
}
private bool student_stipend_enter()
{
bool stipend = false;
Console.WriteLine("Стипендия студента(1 - есть, 0 - нету): ");
int help = Convert.ToInt32(Console.ReadLine());
if(help<0 || help>1)
{
Console.WriteLine("Ошибка. Недопустимое значение.");
stipend = student_stipend_enter();
}
return (stipend);
}
public Student()
{
this.student_name = student_name_enter();
this.student_course = student_course_enter();
this.student_stipend = student_stipend_enter();
Console.Clear();
}
public void students_list(int number, Student[] student_mas)
{
Console.WriteLine("Список Студентов: ");
for(int i = 0;i<number;i++)
{
Console.WriteLine(Convert.ToString(i + 1) + ":" + student_mas[i].student_name);
}
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите кол-во студентов: ");
int n = Convert.ToInt32(Console.ReadLine());
Console.Clear();
Student[] new_student = new Student[n];
int i = 0;
while(true)
{
new_student[i] = new Student();
i++;
if(i==n)
{ break; }
}
Student obj = new Student();
obj.students_list(i,new_student);
}
}
}

Максим 17 июн 2014 15:04
Кос
---
Конечно может

Кос 16 июн 2014 21:56
подскажите, а может ли быть пустой конструктор в наследнике? Например:
class Dude :Bro
{
public Dude(string name) : base (name){}
}

Игорь 24 апр 2014 15:10
class Student
{
public string Name;
public int Course;
public bool Grants;
public int TelNumb;

public Student()
{
}
public Student(string Name, int Course, bool Grants, int number)
{
this.Name = Name;
this.Course = Course;
this.Grants = Grants;
this.TelNumb = number;
Console.WriteLine("{0} {1} {2} {3}", Name,Course,Grants,number);
}
}
class Program
{
static void Main()
{
Console.WriteLine(@"Name student Course Grants Telephon number");
Student student1 = new Student("Petr", 4, true, 0937710184);
Student student2 = new Student("Igor", 1, false, 0935263846);
Console.ReadLine();
}

}

Eugen 25 фев 2014 17:57
namespace Lesson15
{
class Student
{
public string name;
public int course;
public bool grant;

public Student()
{
}

public Student(string name, int course, bool grant)
{
this.name = name;
this.course = course;
this.grant = grant;
Console.WriteLine("{0} {1} {2}", name, course, grant);
}

public Student(string name, int course)
{
this.name = name;
this.course = course;
Console.WriteLine("{0} {1}", name, course);
}
}
}


namespace Lesson15
{
class Program
{
static void Main(string[] args)
{
Student Yakovlev = new Student("Eugen", 4, false);
Console.ReadKey();
}
}
}

The Saint 12 фев 2014 21:08
class Student
{
public string name;
public int course;
public bool money;

public Student()
{
name = "Vasya";
course = 1;
money = true;
}
public Student(string name, int course, bool money)
{
this.name = name;
this.course = course;
this.money = money;
}
}
class Program
{
static void Main(string[] args)
{
Student newStudent = new Student();
Student newStudent2 = new Student("Petya", 2, false);
Console.WriteLine(newStudent.name);
Console.WriteLine(newStudent.course);
Console.WriteLine(newStudent.money);
Console.WriteLine();
Console.WriteLine(newStudent2.name);
Console.WriteLine(newStudent2.course);
Console.WriteLine(newStudent2.money);
Console.ReadLine();

}
}

palazhevich 18 янв 2014 00:54
class Student
{
private string Name;
private byte Course;
private bool Scholarship;
public Student()
{
Name = "Name";
Course = 1;
Scholarship = true;
}
public Student(string Name, byte Course, bool Scholarship)
{
this.Name = Name;
this.Course = Course;
this.Scholarship = Scholarship;
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter the name of the student");
string Name = Console.ReadLine();
Console.WriteLine("Enter the course of the student");
byte Course = Convert.ToByte(Console.ReadLine());
Console.WriteLine("Enter the scholarship true/false of the student");
bool Scholarship = Convert.ToBoolean(Console.ReadLine());
Console.WriteLine();
Student newStudent = new Student();
Student newStudent2 = new Student(Name, Course, Scholarship);
Console.WriteLine("Name: {0} \nCourse: {1} \nScholarship: {2}", Name, Course, Scholarship);
Console.ReadKey();
}
}

Максим 11 ноя 2013 18:06
biglapa
---
Отлично, наконец-то это задание не поленились и сделали

biglapa 10 ноя 2013 13:33
namespace myprog
{
class student
{
private string name;
private int cource;
private bool grant;

public student()
{
name = "name";
cource = 1;
grant = true;
}
public student(string name, int cource, bool grant)
{
this.name = name;
this.cource = cource;
this.grant = grant;
}
}

class Program
{
static void Main(string[] args)
{
student newstudent1 = new student();
student newstudent2 = new student("Georg", 1, true);
}
}
}

Максим 16 авг 2013 17:16
John
---
Здесь всё нормально

John 16 авг 2013 14:39
Часть 2.
class Program
{
static void write(Student st)
{
FileStream file = new FileStream("students.txt", FileMode.Append);
StreamWriter writer = new StreamWriter(file);
writer.Write(st.Name + ", ");
writer.Write(st.Cours + ", ");
writer.Write(st.Group + ", ");
writer.Write(st.Age + ", ");
writer.WriteLine(st.Scholarship + ";");
writer.Close();
}
static void Main(string[] args)
{
Console.WriteLine("Для того, чтобы добавить студента в список, необходимо ввести некоторые данные:\nВведите имя:");
string Name = Convert.ToString(Console.ReadLine());
Console.WriteLine("Введите курс: (1-5)");
int Cours = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите группу: (1-5)");
int Group = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите возраст: (17-25)");
int Age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Имеет ли студент стипендию? (true//false)");
bool Scholarchip = Convert.ToBoolean(Console.ReadLine()); ;
Student addStudent = new Student(Name, Cours, Group, Age, Scholarchip);
write(addStudent);
Console.WriteLine("Студент внесен в список.\nДля продолжения нажмите любую клавишу.");
Console.ReadKey();
}
}

John 16 авг 2013 14:38
И снова я.
Писать комментарии для нубо-программ мне осточертело. Думаю, дураков как я здесь боле нету. Как всегда, я кой-чего добавил, но основу задания тоже выполнил -_-
Часть 1.
class Student
{
internal string Name;
internal int Cours;
internal int Group;
internal int Age;
internal bool Scholarship;
public Student()
{
Name = "name";
Cours = 1;
Group = 1;
Age = 18;
Scholarship = false;
}
public Student(string Name, int Cours, int Group, int Age, bool Scholarship)
{
this.Name = Name;
this.Cours = Cours;
this.Group = Group;
this.Age = Age;
this.Scholarship = Scholarship;
}
}


Добавить комментарий:

Имя (обязат.)
E-mail (обязат., не публикуется)


Для вставки ваших программ пользуйтесь кнопкой "исходный код"
Вёрстка сайта с нуля

Уникальный Видеокурс!

"Научись верстать сайты и заработай на этом!"

Получить видеокурс

Подпишись на курс по программированию, и узнавай первым о новых уроках!

RSS подписка Страничка Вконтакте Мы в Twitter

Ошибка в тексте? Выделите ее мышкой и нажмите Ctrl+Enter
Поблагодарить автора: Номер карты (ПриватБанк)
5168 7572 4170 8660
WebMoney
R372544961915 U685637142028 Z999792764387
Наверх
Система Orphus