Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/22: Рейтинг темы: голосов - 22, средняя оценка - 4.68
 Аватар для chaosfall
4 / 1 / 2
Регистрация: 04.12.2010
Сообщений: 65

Вывести полную информацию из базы на экран

19.03.2011, 22:13. Показов 4305. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. Создать абстрактный класс Stud с методами, позволяющим вывести на экран информацию о персоне, а также определить ее возраст (на момент текущей даты).
2. Создать производные классы: Абитуриент (фамилия, дата рождения, факультет), Студент (фамилия, дата рождения, факультет, курс), Преподаватель (фамилия, дата рождения, факультет, должность, стаж), со своими методами вывода информации на экран, и определения возраста.
3. Создать базу (массив) из n персон, вывести полную информацию из базы на экран, а также организовать поиск персон, чей возраст попадает в заданный диапазон.

Сейчас нахожусь на пункте 3. Массив из персон есть, создан с помощью класса object.
Вопрос теперь в том, как вывести эту информацию на экран? У базового абстрактного класса Stud есть абстрактный метод вывода информации Show(), который впоследствии переопределяется в каждом производном классе.
Как его теперь можно применить к объекту db[i]?..

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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace StudAbstract
{
    abstract class Stud
    {
        abstract public void Show();
        public void defineDate(DateTime date)
        {
            DateTime dateNow = DateTime.Today;
            int year = dateNow.Year - date.Year;
            if (dateNow.Month < date.Month ||
                (dateNow.Month == date.Month && dateNow.Day < date.Day)) year--;
            Console.WriteLine("Возраст:{0} ", year);
        }
    }
 
    //Абитуриент (фамилия, дата рождения, факультет)
    class Applicant : Stud
    {
        public string Surname;
        public DateTime Date;
        public string Faculty;
 
        public Applicant(string surn, DateTime date1, string fac)
        {
            this.Surname = surn;
            this.Date = date1;
            this.Faculty = fac;
        }
 
        public string pSurname
        {
            get { return Surname; }
            set { Surname = value; }
        }
 
        public DateTime pDate
        {
            get { return Date; }
            set { Date = value; }
        }
 
        public string pFaculty
        {
            get { return Faculty; }
            set { Faculty = value; }
        }
 
        public override void Show()
        {
            Console.WriteLine("Фамилия абитуриента: {0}", this.pSurname);
            Console.WriteLine("Дата рождения: {0:D}", this.pDate);
            Console.WriteLine("Факультет: {0}", this.pFaculty);
        }
 
    }
 
    //Студент (фамилия, дата рождения, факультет, курс), 
    class Student : Applicant
    {
        public int studyYear;
 
        public Student(string surn, DateTime date1, string fac, int course)
            : base(surn, date1, fac)
        {
            this.studyYear = course;
        }
 
        public override void Show()
        {
            Console.WriteLine("Фамилия абитуриента: {0}", this.Surname);
            Console.WriteLine("Дата рождения: {0:D}", this.Date);
            Console.WriteLine("Факультет: {0}", this.Faculty);
            Console.WriteLine("Курс: {0}", this.studyYear);
        }
    }
 
    //Преподаватель (фамилия, дата рождения, факультет, должность, стаж), 
    class Teacher : Applicant
    {
        public string Position;
        public int Experience;
 
        public Teacher(string surn, DateTime date1, string fac, string pos, int st)
            : base(surn, date1, fac)
        {
            this.Position = pos;
            this.Experience = st;
        }
 
        public override void Show()
        {
            Console.WriteLine("Фамилия абитуриента: {0}", this.Surname);
            Console.WriteLine("Дата рождения: {0:D}", this.Date);
            Console.WriteLine("Факультет: {0}", this.Faculty);
            Console.WriteLine("Должность: {0}", this.Position);
            Console.WriteLine("Стаж: {0}", this.Experience);
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            object[] db = new object[6];
 
                DateTime date3 = new DateTime(1988, 3, 1, 7, 0, 0);
                db[0] = new Applicant("Иванов", date3 , "ФМО");
                db[1] = new Applicant("Васильев", date3, "ФМК");
                db[2] = new Student ("Андреева", date3, "ФМК", 1);
                db[3] = new Student("Алексеенко", date3, "ФМК", 2);
                db[4] = new Teacher("Антонович", date3, "ФМК","Cт.преподаватель", 2);
                db[5] = new Teacher("Тарасова", date3, "ФМК","Доцент", 5);
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.03.2011, 22:13
Ответы с готовыми решениями:

Вывести на экран полную информацию об экземплярах газет , которые были выпущены в июле 2013 года
Задано массив записей , в котором содержится информация о газетах (дата выхода (месяц и год) , издательство , название). Вывести на экран...

Вывести полную информацию о файлах папки
Программным путем: 1. В папке С:\temp создайте папки К1 и К2. 2. В папке К1: .1. создайте файл t1.txt, в который...

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

1
 Аватар для FtarG
138 / 138 / 42
Регистрация: 02.11.2010
Сообщений: 316
20.03.2011, 09:48
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Stud[] db = new Stud[6];
DateTime date3 = new DateTime(1988, 3, 1, 7, 0, 0);
db[0] = new Applicant("Иванов", date3, "ФМО");
db[1] = new Applicant("Васильев", date3, "ФМК");
db[2] = new Student("Андреева", date3, "ФМК", 1);
db[3] = new Student("Алексеенко", date3, "ФМК", 2);
db[4] = new Teacher("Антонович", date3, "ФМК", "Cт.преподаватель", 2);
db[5] = new Teacher("Тарасова", date3, "ФМК", "Доцент", 5);
 
foreach (Stud item in db)
{
        item.Show();
        Console.WriteLine();
} 
Console.ReadKey();
Идея в том, что у тебя есть базовый класс. Объяви массив элементов базового класса и храни в нем элементы дочерних классов. Тогда можно без проблем вызывать метод Show() каждого дочернего класса в отдельности, плюс не надо париться насчет преобразования из объекта типа object в объект одного из твоих классов.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.03.2011, 09:48
Помогаю со студенческими работами здесь

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

Вывести полную информацию о занятиях, относящихся к предметной области «Информатика»
Расписание содержит: день недели; количество пар в этот день; время начала и конца пары; название предмета; фамилию преподавателя. ...

Задача на массивы, вывести полную информацию о занятиях, относящихся к предметной области «Информатика»
Описать массив расписание, содержащий день недели; количество пар в этот день; время начала и конца пары; название предмета; ...

Создать массив n функций и вывести полную информацию о значении данных функций в точке х
Создать абстрактный класс Function с методом вычисления значения функции y=f(x) в заданной точке. Создать производные классы: Line...

Как вывести информацию о checkbox из базы данных?
Заранее всем спасибо кто откликнется и сразу перейдём к задачи, нужно вывести логический тип данных из базы в C#, к примеру я хочу...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru