Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [С#] БД вуза


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

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

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

P.S. По C# и .NET на форуме существует http://forum.vingrad.ru/forum/dotNET-forum.html, вопросы по популярным языкам не стоит отправлять в «Другие языки».

Автор: Fortnox 11.1.2010, 20:17
Код

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();
        }
    }
}


Автор: Лиана 11.1.2010, 21:57
ого)))))))спасибо огромное))))

Автор: Настюshа 12.10.2010, 12:18
Создать форму, с помощью которой можно открывать БД, сделать из нее выборку данных в новую таблицу и формировать отчет.
Я не работала никогда в C#, поэтому затрудняюсь выполнить задание...Помогите пожалуйста)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)