Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/41: Рейтинг темы: голосов - 41, средняя оценка - 5.00
 Аватар для Мария Смайл)
2 / 2 / 0
Регистрация: 08.03.2011
Сообщений: 30

Описать класс «запись»

30.03.2011, 15:59. Показов 8817. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можете помоч пожалуста..я классы умею писать но мне сказали что бы писать в стандарте с применением базового класса применением get , set и добавить виртуальный метод...и к этому всему еще добавить наследник((

Описать класс «запись», содержащий следующие закрытые поля:
• фамилия, имя;
• номер телефона;
• дата рождения (массив из трех чисел).
Предусмотреть свойства для получения состояния объекта.
Описать класс «записная книжка», содержащий закрытый массив записей. Обес
печить следующие возможности:
• вывод на экран информации о человеке, номер телефона которого введен
с клавиатуры; если такого нет, выдать на дисплей соответствующее сообщение;
• поиск людей, день рождения которых сегодня или в заданный день;
• поиск людей, день рождения которых будет на следующей неделе;
• поиск людей, номер телефона которых начинается на три заданных цифры.
Написать программу, демонстрирующую все разработанные элементы классов.

Добавлено через 7 минут
и можете прокомментировать..пожалуста что бы разобраться можно было(
2
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.03.2011, 15:59
Ответы с готовыми решениями:

Описать класс «Запись»
Описать класс «запись», содержащий следующие закрытые поля:  фамилия, имя;  номер телефона;  дата рождения (массив...

Описать базовый класс Point. Описать класс Прямоугольник от класса Point
Описать базовый класс Point - точка. Описать класс "прямоугольник". Обязательные поля класса "Прямоугольник": - имя...

Описать базовый класс колоды карт и производный класс пасьянс
Здраствуйте! товарищи-программисты, помогите пожалуйста со следующим заданием: Создать колоду карт. Конструкторы колоды должны...

4
21 / 21 / 3
Регистрация: 11.07.2010
Сообщений: 63
30.03.2011, 16:25
Тут не отдел заказов. Если хотите заказать работу, уверен, что вам помогут сделать это в другом месте за деньги.

Если хотите написать это сами, предоставьте что вы наработали или что вам непонятно и вам обязательно помогут.
2
 Аватар для Мария Смайл)
2 / 2 / 0
Регистрация: 08.03.2011
Сообщений: 30
31.03.2011, 00:02  [ТС]
Это меня подруга попросила!сделать а я не знаю!я тоже не успеваю все делать!!!!(вот и прошу помочь..
0
 Аватар для SandWraith
189 / 189 / 38
Регистрация: 11.04.2009
Сообщений: 497
31.03.2011, 00:10
Цитата Сообщение от Мария Смайл) Посмотреть сообщение
Это меня подруга попросила!сделать а я не знаю!я тоже не успеваю все делать!!!!(вот и прошу помочь..
Девушка, вы не помочь просите - отнюдь! "Помогите" и "сделайте все за меня" - вещи принципиально разные.
0
146 / 130 / 27
Регистрация: 20.12.2010
Сообщений: 242
31.03.2011, 11:38
А девушки хоть симпотичные?

Класс Zapis
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System;
 
namespace ConsoleApplication3
{
   class Zapis
   {
      // закрытые члены класса: фамилия, имя, телефон, дата рождения
      private String _famil;
      private String _name;
      private String _telefon;
      private Int32[] _date = new Int32[3];
 
      // конструстор класса
      public Zapis(String f, String n, String t, Int32 d, Int32 mn, Int32 y)
      {
         Famil = f.Trim();
         Name = n.Trim();
         Telefon = t.Trim();
         Date[0] = d;
         Date[1] = mn;
         Date[2] = y;
      }
 
      // свойства для доступа к закрытым членам класса
      public String Famil
      {
         get { return _famil; }
         set { _famil = value; }
      }
      public String Name
      {
         get { return _name; }
         set { _name = value; }
      }
      public String Telefon
      {
         get { return _telefon; }
         set { _telefon = value; }
      }
      public Int32[] Date
      {
         get { return _date; }
         set { _date = value; }
      }
      // виртуальный метод, который можно переопределить в наследных классах.
      public virtual void print()
      {
         Console.WriteLine("{0} {1}, родился {2}.{3}.{4}, его номер телефона: {5}", 
            Name, Famil, Date[0], Date[1], Date[2], Telefon);
      }
   }
}


Класс ZapisBook
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
using System;
using System.Collections.Generic;
using System.IO;
 
namespace ConsoleApplication3
{
   class ZapisBook
   {
      //private Zapis[] _mass = new Zapis[0];
      // закрытый массив записей
      private List<Zapis> _mass = new List<Zapis>();
 
      //конструктор класса, подгружает из файла данные
      public ZapisBook(String filename)
      {
         StreamReader sr = new StreamReader(filename);
         String text = sr.ReadToEnd();
         String[] lines = text.Split(new String[] { "\n", "\r" }, StringSplitOptions.RemoveEmptyEntries);
         foreach (String s in lines)
         {
            String[] zap = s.Split(new String[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            _mass.Add(new Zapis(zap[0], zap[1], zap[2], Int32.Parse(zap[3]), Int32.Parse(zap[4]), Int32.Parse(zap[5])));
         }
      }
      
      // поиск человека по телефону
      public Zapis SearchTelefon(String tel)
      {
         foreach (Zapis z in _mass)
            if (z.Telefon == tel) return z;
         return null;
      }
 
      // поиск людей, день рождения которых сегодня
      public List<Zapis> SearchMans()
      {
         DateTime dt = DateTime.Now;
         List<Zapis> mas = new List<Zapis>();
         foreach (Zapis z in _mass)
            if (z.Date[0] == dt.Day && z.Date[1] == dt.Month && z.Date[2] == dt.Year)
               mas.Add(z);
         return mas;
      }
 
      // поиск людей, день рождения которых в заданный день
      public List<Zapis> SearchMans(Int32 day, Int32 month, Int32 year)
      {
         List<Zapis> mas = new List<Zapis>();
         foreach (Zapis z in _mass)
            if (z.Date[0] == day && z.Date[1] == month && z.Date[2] == year)
               mas.Add(z);
         return mas;
      }
 
      // поиск людей, день рождения которых будет на следующей неделе
      public List<Zapis> SearchMansNextWeek()
      {
         // указатель на начало следующей недели
         DateTime dt_now = DateTime.Now;
         DayOfWeek dw = dt_now.DayOfWeek;
         Int32 n = (dw == DayOfWeek.Sunday) ? 1 : DayOfWeek.Saturday - dw + 2;
         // указатель указывает на понедельник следующей недели
         dt_now = dt_now.AddDays(n);
 
         List<Zapis> mas = new List<Zapis>();
         foreach (Zapis z in _mass)
         {
            // день рождения человека из записи.
            DateTime dt = new DateTime(dt_now.Year, z.Date[1], z.Date[0]);
            // если дата рождения входит в диапазон следующего понедельника и следующего воскресенья
            if (dt.DayOfYear >= dt_now.DayOfYear && dt.DayOfYear < dt_now.DayOfYear + 7)
               mas.Add(z);
         }
         return mas;
      }
 
      // поиск людей, номер телефона которых начинается на три заданных цифры
      public List<Zapis> SearchMans3NumTel(String num)
      {
         List<Zapis> mas = new List<Zapis>();
         foreach (Zapis z in _mass)
            if (z.Telefon.StartsWith(num))
               mas.Add(z);
         return mas;
      }
   }
}


Основной класс программы
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Collections.Generic;
 
namespace ConsoleApplication3
{
   class Program
   {
      static void Main()
      {
         ZapisBook zn = new ZapisBook("notebook.txt");
         Console.Write("Введите номер телефона: ");
         String tel = Console.ReadLine();
         Zapis man = zn.SearchTelefon(tel.Trim());
         if (man != null)
         {
            Console.WriteLine("С заданным номером телефона {0} нашлась запись:", tel);
            man.print();
         }
         else
            Console.WriteLine("С заданным номером телефона {0} записей не нашлось", tel);
 
         List<Zapis> mans = zn.SearchMansNextWeek();
         if (mans.Count != 0)
         {
            Console.WriteLine("На следующей неделе день рождение у следующих сотрудников:");
            foreach (Zapis z in mans)
               z.print();
         }
         else
            Console.WriteLine("На следующей неделе именников нет");
 
         Console.Write("Введите первые 3 цифры телефона: ");
         tel = Console.ReadLine();
         mans = zn.SearchMans3NumTel(tel);
         if (mans.Count != 0)
         {
            Console.WriteLine("С первыми цифрами телефона {0}* нашлись записи:", tel);
            foreach (Zapis z in mans)
               z.print();
         }
         else
            Console.WriteLine("С первыми цифрами телефона {0}* записей не нашлось.", tel);
 
         Console.ReadLine();
      }
   }
}


Замечания:
1) реализован ввод данных из файла. Я конечно мог бы реализовать ввод данных с клавиатуры, но мне лень каждый раз для отладки набирать все записи.
2) формат данных в файле: построчно:
Фамилия;Имя;телефон;дата;месяц;год
3) файл с записями "notebook.txt" находится в папке "\bin\Debug\"
4)
и к этому всему еще добавить наследник((
А к чему тут наследника добавлять? Класс ZapisBook не может быть наследником класса Zapis, так как относится к нему как "содержит", а не "является".
Наследником класса Zapis может быть, например, класс Finansy, куда добавляются какие финансовые данные.
5) в качестве массива записей избрал обобщенные коллекции, ибо с ними проще и нужно работать в подобных задачах.
6) Считается, что все данные в файле введены верно, потому в код не включал проверки на корректность данных. Если в файле будет некорректная дата, программа выбросит исключение, которое в данном коде никак не обрабатывается. Вводите корректные данные.

Проект прилагается.
Вложения
Тип файла: zip ConsoleApplication3.zip (30.5 Кб, 338 просмотров)
5
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.03.2011, 11:38
Помогаю со студенческими работами здесь

Описать класс "запись" и "записная книжка"
Описать коасс &lt;&lt;запись&gt;&gt;, содержащий следующие поля *Фамилия, имя; *Номер телефона *Дата рождения Описать класс &lt;&lt;записная...

Описать класс Car и его наследника, класс Avto
Создать класс Автомобиль: Поля: - Марка - приватный - Габариты (А, Б, С) - публичный - Руль (право, лево) -...

Описать класс Car и его наследника, класс Sedan
Описать базовый класс CAR (автомашина) со свойствами: •*Марка машины; На его основе создать класс с именем SEDAN (седан), содержащий...

Описать класс «Работник». Каждая запись содержит фамилия и инициалы, должность, год поступления на работу,
Описать класс «Работник». Каждая запись содержит фамилия и инициалы, должность, год поступления на работу, зарплата. Предусмотреть...

Описать класс «Расписание занятий». Каждая запись содержит день недели, время, название учебной дисциплины, а
Описать класс «Расписание занятий». Каждая запись содержит день недели, время, название учебной дисциплины, аудиторию. Помогите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru