Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [С#] БД вуза, Помогите сделать задачки) 
:(
    Опции темы
Лиана
  Дата 11.1.2010, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



1)Создать абстракный класс Persona с методами ,позволяющим вывести на экран инфо о персоне ,а также опред ее возраст(на ее момент текущей даты)
2)Создать производные классы:
Абитуриент (фам,дата рож,факультет),
Студент(фам,дата рож,факультет,курс),
Преаодаватель(фам,дата рож,факультет,должность,стаж),со своими методами вывода инфо на экран.
3)Создать базу (массив) из n персон ,вывести полную инфо из базы на экран ,а также организовать поиск персон ,чей возраст попадает в заданный диапазон.
PM MAIL ICQ   Вверх
Void
Дата 11.1.2010, 15:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 6
Всего: 173



Для домашних заданий, курсовых и т.п. существует "Центр Помощи".

Тема перенесена! 

P.S. По C# и .NET на форуме существует огромный раздел, вопросы по популярным языкам не стоит отправлять в «Другие языки».

Это сообщение отредактировал(а) Void - 11.1.2010, 15:28


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Fortnox
Дата 11.1.2010, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 31.10.2008
Где: Ростов-на-Дону

Репутация: 4
Всего: 22



Код

using System;
using System.Collections.Generic;
using System.Text;
using System.Globalization;

namespace ConsoleApplication1
{
    // Базовый класс
    abstract public class Person
    {
        protected DateTime birthday;
        public string surname;

        public Person(string surname, DateTime birthday)
        {
            this.surname = surname;
            this.birthday = birthday;
        }

        public virtual void PrintInfo()
        {
            Console.Write("Фамилия: {0}\nДата рождения: {1}\n", surname, birthday);
        }

        public virtual int CalculateAge()
        {
            int age = DateTime.Now.Year - birthday.Year;
            return age;
        }
    }

    // Класс преподаватель
    class Teacher : Person
    {
        string department; // факультет
        string job; // должность
        int exp; // стаж

        public Teacher(string surname, DateTime birthday, string department, string job, int exp)
            : base(surname, birthday)
        {
            this.department = department;
            this.job = job;
            this.exp = exp;
        }

        public override void PrintInfo()
        {
            Console.Write("Фамилия: {0}\nДата рождения: {1}\nФакультет: {2}\nДолжность: {3}\nСтаж: {4}\n",
                surname, birthday, department, job, exp.ToString());
        }

        public override int CalculateAge()
        {
            return base.CalculateAge();
        }
    }

    // Класс Студент
    class Student : Person
    {
        string department; // факультет
        int course; // курс

        public Student(string surname, DateTime birthday, string department, int course)
            : base(surname, birthday)
        {
            this.department = department;
            this.course = course;
        }

        public override void PrintInfo()
        {
            Console.Write("\nФамилия: {0}\nДата рождения: {1}\nФакультет: {2}\nКурс: {3}\n",
                surname, birthday, department, course.ToString());
        }

        public override int CalculateAge()
        {
            return base.CalculateAge();
        }
    }

    // Класс Абитуриент
    public class Applicant : Person
    {
        protected string department; // факультет

        public Applicant(string surname, DateTime birthday, string department)
            : base(surname, birthday)
        {
            this.department = department;
        }

        public override void PrintInfo()
        {
            Console.Write("Фамилия: {0}\nДата рождения: {1}\nФакультет: {2}\n", surname, birthday, department);
        }

        public override int CalculateAge()
        {
            return base.CalculateAge();
        }
    }

    class Program
    {
        // массив
        static Person[] persons;
        static CultureInfo culture;

        static void Main(string[] args)
        {
            persons = new Person[0];
            culture = new CultureInfo("ru-RU");
            bool isExit = false;
            do
            {
                Console.Write("Введите действие:\n1) Добавить человека в список\n" +
                    "2) Вывести весь список\n3) Поиск по возрасту\n" +
                    "4) Вывести весь список с возрастом\n5) Выход\nВаш выбор: ");
                int action = int.Parse(Console.ReadLine());
                switch (action)
                {
                    case 1: AddPerson(); break;
                    case 2: PrintArray(); break;
                    case 3: SearchByAge(); break;
                    case 4: PrintInfoAndAge();  break;
                    case 5: isExit = true; break;
                    default: PrintMenu(); break;
                }
            }while (isExit == false);
        }

        // Вывести список с информацией и возрастом всех людей
        private static void PrintInfoAndAge()
        {
            foreach (Person p in persons)
            {
                p.PrintInfo();
                Console.WriteLine("Возраст: {0}", p.CalculateAge());
            }
        }

        // Вывести меню
        private static void PrintMenu()
        {
            Console.Write("\nВведите действие: 1) Добавить человека в список\n2) Вывести информацию об опр-ом человеке\n" +
                "3) Вывести весь список\n4) Показать возраст опр-го человека\n5) Показать возраст всех людей в списке\n" +
                "6) Вывести весь список с возрастом\n7) Выход\nВаш выбор:");
        }

        // Вывести список людей
        private static void PrintArray()
        {
            foreach (Person p in persons)
                p.PrintInfo();
        }

        // Поиск по заданному диапазону возраста
        private static void SearchByAge()
        {
            Console.Write("Минимальный возраст: ");
            int minAge = int.Parse(Console.ReadLine());

            Console.Write("Максимальный возраст: ");
            int maxAge = int.Parse(Console.ReadLine());

            int i = 0;
            foreach (Person p in persons)
            {
                i++;
                if (p.CalculateAge() >= minAge && p.CalculateAge() <= maxAge)
                {
                    persons[i].PrintInfo();
                }
            }
        }

        // Добавление человека
        private static void AddPerson()
        {
            bool isExit = false;
            do
            {
                Console.Write("Кого добавить:\n1) Абитуриента\n2) Студента\n3) Преподавателя\n4) Отмена\nВаш выбор: ");
                int action = int.Parse(Console.ReadLine());
                switch (action)
                {
                    case 1: AddApplicant(); break;
                    case 2: AddStudent(); break;
                    case 3: AddTeacher(); break;
                    case 4: isExit = true; break;
                    default: Console.Write("\nНеизвестная команда.\nКого добавить:\n1) Абитуриента\n2) Студента\n3) Преподавателя\n4) Отмена\nВаш выбор: "); break;
                }
            } while (isExit == false);
        }

        // Добавление студента в массив
        private static void AddStudent()
        {
            try
            {
                Array.Resize(ref persons, persons.Length + 1);

                Console.Write("\nВведите фамилию: ");
                string surname = Console.ReadLine();

                Console.Write("\nВведите дату рождения (дд.мм.гггг): ");
                DateTime birthday = Convert.ToDateTime(Console.ReadLine(), culture);

                Console.Write("\nВведите факультет: ");
                string department = Console.ReadLine();

                Console.Write("\nВведите курс: ");
                int course = int.Parse(Console.ReadLine());

                persons[persons.Length - 1] = new Student(surname, birthday, department, course);
                Console.Write("\nСделано\n");
            }
            catch (Exception error)
            {
                PrintError(error.Message);
            }
        }

        // Добавление преподавателя в массив
        private static void AddTeacher()
        {
            try
            {
                Array.Resize(ref persons, persons.Length + 1);

                Console.Write("\nВведите фамилию: ");
                string surname = Console.ReadLine();

                Console.Write("\nВведите дату рождения (дд.мм.гггг): ");
                DateTime birthday = Convert.ToDateTime(Console.ReadLine());

                Console.Write("\nВведите факультет: ");
                string department = Console.ReadLine();

                Console.Write("\nВведите должность: ");
                string job = Console.ReadLine();

                Console.Write("\nВведите стаж (кол-во лет): ");
                int exp = int.Parse(Console.ReadLine());

                persons[persons.Length - 1] = new Teacher(surname, birthday, department, job, exp);
                Console.Write("\nСделано\n");
            }
            catch (Exception error)
            {
                PrintError(error.Message);
            }
        }

        // Добавление абитуриента в массив
        private static void AddApplicant()
        {
            try
            {
                Array.Resize(ref persons, persons.Length + 1);
                Console.Write("\nВведите фамилию: ");
                string surname = Console.ReadLine();
                Console.Write("\nВведите дату рождения (дд.мм.гггг): ");
                DateTime birthday = Convert.ToDateTime(Console.ReadLine());
                Console.Write("\nВведите факультет: ");
                string department = Console.ReadLine();
                persons[persons.Length - 1] = new Applicant(surname, birthday, department);
                Console.Write("\nСделано\n");
            }
            catch (Exception error)
            {
                PrintError(error.Message);
            }
        }

        // Вывод ошибки
        private static void PrintError(string msg)
        {
            Console.Write("Ошибка: {0}", msg);
            Console.ReadLine();
        }
    }
}



Это сообщение отредактировал(а) Fortnox - 11.1.2010, 20:21

Присоединённый файл ( Кол-во скачиваний: 23 )
Присоединённый файл  ConsoleApplication1.zip 35,06 Kb
PM MAIL   Вверх
Лиана
Дата 11.1.2010, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



ого)))))))спасибо огромное))))
PM MAIL ICQ   Вверх
Настюshа
Дата 12.10.2010, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 9.10.2010

Репутация: нет
Всего: -1



Создать форму, с помощью которой можно открывать БД, сделать из нее выборку данных в новую таблицу и формировать отчет.
Я не работала никогда в C#, поэтому затрудняюсь выполнить задание...Помогите пожалуйста)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0774 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.