Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2014, 11:36   #1
overlord754
Новичок
Джуниор
 
Регистрация: 21.11.2013
Сообщений: 2
По умолчанию класс записная книжка.

Помогите данные вывести. Создайте класс «записная книжка». Предусмотрите возможность работы с произвольным числом записей, поиска записи по какому-либо признаку (например, по фамилии, дате рождения или номеру телефона), добавление или удаление записей, сортировки по фамилии и доступа к записи по номеру. Напишите программу, демонстрирующую работу с этим классом.

Вот код.

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    public class record
    {
        public int id;
        public string Name;
        public string Surname;
        public DateTime Birthday;
        public string PhoneNumber;
        public static bool brake = false;

        public record(int id, string Name, string Surname, DateTime Birthday, string PhoneNumber)
        {
            this.id = id;
            this.Name = Name;
            this.Surname = Surname;
            this.Birthday = Birthday;
            this.PhoneNumber = PhoneNumber;
        }
    }

    public class Notebook
    {
        private List<record> notebookRecords;
        public List<record> NotebookRecords
        {
            get { return notebookRecords; }
            set { notebookRecords = value; }
        }

        public Notebook()
        {
            notebookRecords = new List<record>();
        }

        public List<record> SearchRecords(string Name, string Surname, DateTime? Birthday, string PhoneNumber)
        {
            List<record> ret = new List<record>();
            foreach (record rec in notebookRecords)
                if (rec.Name == Name || rec.Surname == Surname || rec.Birthday == Birthday || rec.PhoneNumber == PhoneNumber)
                    ret.Add(rec);
            return ret;
        }

        public void AddRecord(int id, string Name, string Surname, DateTime Birthday, string PhoneNumber)
        {
            id = Convert.ToInt32(Console.ReadLine());
            Name = Convert.ToString(Console.ReadLine());
            Birthday = Convert.ToDateTime(Console.ReadLine());
            PhoneNumber = Convert.ToString(Console.ReadLine());
            record rec = new record(id, Name, Surname, Birthday, PhoneNumber);
            notebookRecords.Add(rec);
            Console.WriteLine(Convert.ToString(id),Name,Surname,Birthday,PhoneNumber);
        }

        public void DeleteRecords(string Name, string Surname, DateTime Birthday, string PhoneNumber)
        {
            List<record> records = SearchRecords(Name, Surname, Birthday, PhoneNumber);
            foreach (record rec in records)
                notebookRecords.Remove(rec);
        }

        public void SortBySurname()
        {
            notebookRecords.OrderBy(x => x.Surname);
        }

        private void test()
        {
            SearchRecords(null, null, null, null); //вернёт все записи
        }
    }
помогите сделать простое меню для консольного приложения с вводом и выводом данных классов.




___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 17.01.2014 в 13:37.
overlord754 вне форума Ответить с цитированием
Старый 17.01.2014, 17:17   #2
simples
Форумчанин
 
Регистрация: 03.10.2013
Сообщений: 142
По умолчанию

Простое меню
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleMenu
{
    class Program
    {
        static void Main(string[] args)
        {
            var needExit = false;
            while (!needExit)
            {
                char resp = ReadMenuSelection("Выберите: [Q]=Выход, [A]=генерация случайного числа", new char[] { 'Q', 'A' });
                switch (resp)
                {
                    case 'Q':
                        Console.WriteLine("Завершение программы");
                        needExit = true;
                        break;
                    case 'A':
                        Console.WriteLine("Генерация случайного числа:");
                        Console.WriteLine(new Random().Next(100));
                        break;
                    default:
                        Console.WriteLine("Не предусмотренный ответ.");
                        break;
                }
            }
        }

        private static char ReadMenuSelection(string Mesage, char[] ValidResponces)
        {
            while (true)
            {
                Console.WriteLine(Mesage);
                var key = Console.ReadKey();
                if (ValidResponces.Contains(key.KeyChar))
                {
                    Console.WriteLine();
                    return key.KeyChar;
                }
                else
                {
                    Console.WriteLine("Неправильный ввод. Попробуйте исчо рас-рас.");
                }
            }
        }
    }
}
simples вне форума Ответить с цитированием
Старый 17.01.2014, 17:31   #3
overlord754
Новичок
Джуниор
 
Регистрация: 21.11.2013
Сообщений: 2
По умолчанию

=) Действительно у вас простое меню.
вот конкретнее.

1.добавить в книжку.
2. удалить из книжки.
3. поиск по имени или дате или номеру телефона.
4. сортировка по фамилии и вывод книжки.
5. выход из программы.

Последний раз редактировалось overlord754; 17.01.2014 в 17:34.
overlord754 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ЗАПИСНАЯ КНИЖКА НА C# анастасия05 Помощь студентам 1 10.05.2012 08:44
БД записная книжка Водогрей Microsoft Office Access 0 05.12.2011 18:48
Записная книжка Sina БД в Delphi 6 06.04.2010 15:53
Записная книжка Babur4iK Помощь студентам 4 06.03.2010 16:46
Записная книжка Черничный Софт 9 15.07.2008 04:44