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
Svhqghh 07 фев 2018 20:30
РЕАЛЬНЫЙ ЗАРАБОТОК НА РЕАЛЬНОМ САЙТЕ!

Никаких “супер секретных” сервисов и волшебных таблеток.

Все прозрачно и открыто работа абсолютно легальна.

Более подробнна информация на сайте >> Kwork-Garand.tk<<

Сергей 07 фев 2018 16:36
Интересная работа, ежедневная оплата!

Вы работаете дома! Полностью честно и прозрачно;
Доступно для всех - неважно кто вы и какой у вас опыт работы в интернете!
Вы будете зарабатывать: свыше четырёх тысяч рублей в день!
Сложность: Несложно!
Оплата: - уже на следующий деньги у вас на счету!

Более подробная информация на нашем сайте. > pisma.exrabota.ru < Скопируйте и вставьте в адресную строку Вашего браузера.

tnikacag 07 фев 2018 14:24
Пройдите 1 регистрацию, сделайте 2 действия
и получайте от 8950 рублей каждые сутки в автоматическом режиме.

Мы гарантируем:
- Первый заработок в течении 60 минут.
- Стабильный доход 24 часа в сутки.
- Поступление денег без задержек.
- Для России, стран СНГ и Европы.
- Без вложений и установки ПО.
- Специально для новичков и людей без опыта.

Ознакомтесь с условиями у нас на сайте. ( prosto.exrabota.ru )

rnikacag 03 янв 2018 17:30
Пройдите 1 регистрацию, сделайте 2 действия
и получайте от 8950 рублей каждые сутки в автоматическом режиме.

Мы гарантируем:
- Первый заработок в течении 60 минут.
- Стабильный доход 24 часа в сутки.
- Поступление денег без задержек.
- Для России, стран СНГ и Европы.
- Без вложений и установки ПО.
- Специально для новичков и людей без опыта.

Ознакомтесь с условиями у нас на сайте. ( prosto.exrabota.ru )

ElvaFee 27 дек 2017 04:12
апрапрапр

Leonid 26 дек 2017 10:46
Стабильная работа с обучением, зарплата ежедневно!

Вы работаете дома! Полностью честно и прозрачно;
Доступно для всех - неважно кто вы и какой у вас опыт работы в интернете!
Вы будете зарабатывать: свыше четырёх тысяч рублей в день!
Сложность: Несложно!
Оплата: - уже на следующий деньги у вас на счету!

Ознакомтесь с условиями у нас на сайте. > pisma.exrabota.ru < Скопируйте и вставьте в адресную строку Вашего браузера.

Sbinvestcind 20 дек 2017 00:01
Актуальные новости криптовалют - оставайтесь в курсе последних новостей по основным криптовалютам, включая Bitcoin, Ethereum, Litecoin, Ripple и ICO.
Курсы криптовалют всех валютных пар на популярных биржах обмена. Графики изменения курса криптовалюты за последнюю неделю.
На сайте Binvestcoin.info много информации о криптовалютах:
Новости как зарабатывать на криптовалюте 2017
Заработок майнинг криптовалюты купить
Аналитика трейдинг криптовалют обучение

electricisrael 18 дек 2017 01:08
Ашдод Электромонтажные, ремонтные работы, все работы по электричеству.
-Поиск и устранение неисправностей электросети.
-Устранение короткого замыкания.
— Монтаж, ремонт и замена розеток, выключателей, люстр, автоматов,шаон шабатов, датчиков движения.
-Добавление и перенос новых розеток и выключателей, люстр, светильников.
— Добавление новых электрических линий
-Монтаж и замена электропроводки в квартирах, виллах, офисах
-Ремонт бойлеров нагрева воды
-Обслуживание (ахзака) многоквартирных домов
— ДЛЯ АШДОДА ВЫЗОВ ЭЛЕКТРИКА И КОНСУЛЬТАЦИЯ БЕСПЛАТНО И БЕЗ ОБЯЗАТЕЛЬСТВ
-Бесплатная консультация по электромонтажным работам в Вашем доме
Сайт:electricisrael.com

seonewdai 17 дек 2017 22:20
Мы предоставляем широкий комплекс услуг для раскрутки проектов в интернете, которые гарантируют приток посетителей на сайт и значительное повышение доходности бизнеса в кратчайшие сроки.
Один из самых результативных способов привлечь аудиторию. Оптимизация подразделяется на внутреннюю и внешнюю которые предназначены для раскрутки сайта в поисковых запросах, а также для повышения юзабилити портала. Чтобы вывести портал в топ запрашиваемых страниц необходимо подстроить сайт под алгоритмы поисковиков, которые отдают предпочтение только полезным для пользователей порталам в интернете. Полезными считаются те, которые отличаются удобным функционал, обладают уникальным контентом, не спамят ключевыми словами и в точности подстроены под запросы пользователей.

SEO сео раскрутка сайта

SEO стоимость создания сайта

SEO изготовление сайтов под ключ

SEO сколько стоит дизайн сайта


Посетить наш сайт seonew.today



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

Sbinvestcind 17 дек 2017 18:46
Актуальные новости криптовалют - оставайтесь в курсе последних новостей по основным криптовалютам, включая Bitcoin, Ethereum, Litecoin, Ripple и ICO.
Курсы криптовалют всех валютных пар на популярных биржах обмена. Графики изменения курса криптовалюты за последнюю неделю.
На сайте Binvestcoin.info много информации о криптовалютах:
Бинкоин топ 10 бирж криптовалют
Бинкоин криптовалюта призм
Новости самые популярные биржи криптовалют

seonewdai 19 ноя 2017 14:52
Мы предоставляем широкий комплекс услуг для раскрутки проектов в интернете, которые гарантируют приток посетителей на сайт и значительное повышение доходности бизнеса в кратчайшие сроки.
Один из самых результативных способов привлечь аудиторию. Оптимизация подразделяется на внутреннюю и внешнюю которые предназначены для раскрутки сайта в поисковых запросах, а также для повышения юзабилити портала. Чтобы вывести портал в топ запрашиваемых страниц необходимо подстроить сайт под алгоритмы поисковиков, которые отдают предпочтение только полезным для пользователей порталам в интернете. Полезными считаются те, которые отличаются удобным функционал, обладают уникальным контентом, не спамят ключевыми словами и в точности подстроены под запросы пользователей.

SEO продвижение сайта в топ 10

SEO продвижение сайтов в топ

SEO реклама сайта цена

SEO создание сайта


Посетить наш сайт seonew.today



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

electricisrael 18 ноя 2017 23:43
Израиль Электромонтажные, ремонтные работы, все работы по электричеству.
-Поиск и устранение неисправностей электросети.
-Устранение короткого замыкания.
— Монтаж, ремонт и замена розеток, выключателей, люстр, автоматов,шаон шабатов, датчиков движения.
-Добавление и перенос новых розеток и выключателей, люстр, светильников.
— Добавление новых электрических линий
-Монтаж и замена электропроводки в квартирах, виллах, офисах
-Ремонт бойлеров нагрева воды
-Обслуживание (ахзака) многоквартирных домов
— ДЛЯ АШДОДА ВЫЗОВ ЭЛЕКТРИКА И КОНСУЛЬТАЦИЯ БЕСПЛАТНО И БЕЗ ОБЯЗАТЕЛЬСТВ
-Бесплатная консультация по электромонтажным работам в Вашем доме
Сайт:electricisrael.com

Avito321vom 21 окт 2017 15:38
<b>Пополение баланса Авито (Avito) за 50%</b> | <b>Телеграмм @a1garant</b>

<b>Приветствую вас, дорогие друзья!</b>

Будем рады предоставить Всем вам сервис по пополнению баланса на действующие активные аккаунты Avito (а также, абсолютно новые). Если Вам нужны определенные балансы - пишите, будем решать. Потратить можно на турбо продажи, любые платные услуги Авито (Avito).

<b>Аккаунты не Брут. Живут долго.</b>

Процент пополнения в нашу сторону и стоимость готовых аккаунтов: <b>50% от баланса на аккаунте.</b>
Если нужен залив на ваш аккаунт, в этом случае требуются логин и пароль Вашего акка для доступа к форме оплаты, пополнения баланса.
Для постоянных заказчиков гибкая система бонусов и скидок!

<b>Гарантия: </b>

<b>И, конечно же ничто не укрепляет доверие, как - Постоплата!!!</b> Вперед денег не просим...

Рады сотрудничеству!

<b>Заливы на балансы Авито</b>
________

когда авито блокирует аккаунт
авито кошелек как снять деньги
вахта охрана москва деньги сразу авито
деньги в долг авито самара
номер подтвержден в чужом аккаунте авито

Alexey 20 окт 2017 07:05

class Student{
string Name;
byte Course;
bool Schol;

public Student(){
this.Name = "unknown";
this.Course = 1;
this.Schol = false;
}
public Student(string name){
this.Name = name;
this.Course = 1;
this.Schol = false;
}
public Student(byte course, bool schol){
this.Name = "unknown";
this.Course = course;
this.Schol = schol;
}
public Student(string name, byte course){
this.Name = name;
this.Course = course;
this.Schol = false;
}
public Student(string name, bool schol){
this.Name = name;
this.Course = 1;
this.Schol = schol;
}
public Student(string name, byte course, bool schol){
this.Name = name;
this.Course = course;
this.Schol = schol;
}
}

Alex 10 окт 2017 17:21
Опять-таки, чисто символически оставлю свой вариант.


using System;

namespace OOP2_Student
{
class Student
{
string _name;
byte _course;
bool _haveCash;

public Student(string name, byte _course = 1, bool haveCash = false)
{
this._name = name;
this._course = _course;
this._haveCash = haveCash;
}

public string Name { get { return _name; } }

public byte Course { get { return _course; } }

public bool HaveCash { get { return _haveCash; } }

public override string ToString()
{
return $"Student {_name}:\n Course: {_course}.\n Have Cash: {_haveCash}.";
}
}

class Program
{
static void Main(string[] args)
{
Console.Title = "OOP in Examples";

Student stAlex = new Student("Alex", 5, true);
Student stAndrew = new Student("Andrew");
Student stJohn = new Student("John", haveCash: true);

Console.WriteLine(stAlex + Environment.NewLine);
Console.WriteLine(stAndrew + Environment.NewLine);
Console.WriteLine(stJohn + Environment.NewLine);

Console.WriteLine("Press any key to exit . . .");
Console.ReadKey(false);
}
}
}


qnikacag 09 окт 2017 14:08
Пройдите 1 регистрацию, сделайте 2 действия
и получайте от 8950 рублей каждые сутки в автоматическом режиме.

Мы гарантируем:
- Первый заработок в течении 60 минут.
- Стабильный доход 24 часа в сутки.
- Поступление денег без задержек.
- Для России, стран СНГ и Европы.
- Без вложений и установки ПО.
- Специально для новичков и людей без опыта.

Ознакомтесь с условиями на нашем сайте. ( prosto-dengi.tk )

Avito321vom 28 сен 2017 22:25
<b>Пополение баланса Авито (Avito) за 50%</b> | <b>Телеграмм @a1garant</b>

<b>Мое почтение, дорогие друзья!</b>

Всегда рады предоставить Всем вам сервис по пополнению баланса на действующие активные аккаунты Avito (а также, совершенно новые). Если Вам требуются определенные балансы - пишите, будем решать. Потратить можно на турбо продажи, любые платные услуги Авито (Avito).

<b>Аккаунты не Брут. Живут долго.</b>

Процент пополнения в нашу сторону и стоимость готовых аккаунтов: <b>50% от баланса на аккаунте.</b>
Если нужен залив на ваш аккаунт, в этом случае требуются логин и пароль Вашего акка для доступа к форме оплаты, пополнения баланса.
Для постоянных заказчиков гибкая система бонусов и скидок!

<b>Гарантия: </b>

<b>И, конечно же ничто не укрепляет доверие, как - Постоплата!!!</b> Вперед денег не просим...

Рады сотрудничеству!

<b>Заливы на балансы Авито</b>
________

баланс борд на авито
авито деньги под проценты от частных лиц
деньги в долг авито номер телефона
авито кошелек документы
избежать блокировки аккаунта на авито

Nataliehic 25 сен 2017 00:39
Данное сообщение размещено здесь с помощью XRumer + XEvil 3.0
XEvil 3.0 - революционное приложение, способное обходить практически любую антибот-защиту.
Распознавание капчи Google, Facebook, Yandex, VKontakte, Captcha Com и свыше 8400 тысяч других типов!
Вы читаете это - значит, это работает! ;)
Подробности на официальном сайте XEvil.Net, есть бесплатная демо-версия.

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