Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример программы с использованием структур с методами и перечислений

Рекомендации по программированию

Область применения структур – типы данных, имеющие небольшое количество полей, с которыми удобнее работать как со значениями, а не как со ссылками. Накладные расходы на динамическое выделение памяти для экземпляров небольших классов могут весьма значительно снизить быстродействие программы, поэтому их эффективнее описывать как структуры.

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

 

using System;

using System.Collections.Generic;

using System.Text;

//Багги - если неверно вводится знак зодиака, то по умолчанию буде Овен

// если вводятся одинаковые фамилии

namespace ConsoleApplication10

{

struct Человек

{

public enum Знак_Зодиака

{

Овен,Скорпион,Рак,Стрелец,Рыбы,Весы,Близнецы,Дева,Козерог,Водолей,Лев

}

public string Фамилия;

public Знак_Зодиака Знак;

public override string ToString()

{

return (string.Format("Фамилия {0}. Знак зодиака {1}", Фамилия,Знак));

}//конец метода

 

public void vvod()

{

Console.WriteLine("Введите фамилию человека:");

Фамилия=Console.ReadLine();

Console.WriteLine("Введите знак зодиака:");

string buf =Console.ReadLine();

switch (buf)

{

case "Овен": Знак = Знак_Зодиака.Овен; break;

case "Скорпион": Знак = Знак_Зодиака.Скорпион; break;

case "Рак": Знак = Знак_Зодиака.Рак; break;

case "Стрелец": Знак = Знак_Зодиака.Стрелец; break;

case "Рыбы": Знак = Знак_Зодиака.Рыбы; break;

case "Весы": Знак = Знак_Зодиака.Весы; break;

case "Близнецы": Знак = Знак_Зодиака.Близнецы; break;

case "Дева": Знак = Знак_Зодиака.Дева; break;

case "Козерог": Знак = Знак_Зодиака.Козерог; break;

case "Водолей": Знак = Знак_Зодиака.Водолей; break;

case "Лев": Знак = Знак_Зодиака.Лев; break;

// default: Console.WriteLine("Значение не определено"); break;

}

}

 

}

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Введите количество человек:");

int n = Convert.ToInt32(Console.ReadLine());

Человек[] x=new Человек[n];

for (int i = 0; i < n; i++)

x[i].vvod();

Console.WriteLine("Информация в базе:");

for (int i = 0; i < n; i++)

Console.WriteLine(x[i]);

Console.WriteLine("Введите фамилию для поиска знака зодиака:");

string fam=Console.ReadLine();

int k=0;

for (int i = 0; i < n; i++)

{

if (x[i].Фамилия == fam) { Console.WriteLine(x[i]); k++; break; }

}

if (k == 0) Console.WriteLine("Такой фамилии нет");

 

Console.ReadKey();

}

}

}

<== предыдущая лекция | следующая лекция ==>
Операции с перечислениями | 
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 291; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.