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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2015, 16:54   #1
nadya12041996
 
Регистрация: 19.09.2015
Сообщений: 9
Радость Помогите с задачей

описать класс "домашняя библиотека". Предусмотреть возможность работы с произвольным числом книг, поиска книги по какому-либо признаку(по автору, году издания или категории), добавления книг в библиотеку, удаления книг из нее, доступа к книге по номеру.
я сделала 2 варианта.помогите исправить ошибки пожалуйста

вариант 1
Код:
class record
    {
        string category, sourname, inicialy;
        string year;
private   char[] p;

        
     public record(string category, string sourname, string inicialy, string year)
        {
            this.year = year;

            this.category = category;
            this.sourname = sourname;
            this.inicialy = inicialy;
        }

public    record(string category,string sourname,string inicialy,char[] p)
    {
        // TODO: Complete member initialization
this.category = category;
this.sourname = sourname;
this.inicialy = inicialy;
    }

        public List<record> bookRecords
          {
            get { return bookRecords; }
               set { bookRecords = value; }
            }

        public static void InputFromKeyboard(List<record> Targetr)
        {
            Console.WriteLine("Input sourNAME");
            string sourname=Console.ReadLine();
            Console.WriteLine("Input inicialy");
            string inicialy=Console.ReadLine();
            Console.WriteLine("Input year");
            string year=Console.ReadLine();
            Console.WriteLine("Input category");
            string category=Console.ReadLine();

            record tempr = tempr.sourname + " " + tempr.inicialy + " " + tempr.year + " " + tempr.category;
            Targetr.Add(tempr);
        }
        public override string ToString()
        {
            string result = this.tempr+" ";
            foreach (int value in tempr)
            {
                
                result += value.ToString();
                result += ",";
            }
            return result;
        }
        public void Removerecord(record record)
        {
            record.Remove(record);
        }

        private static void Remove(record record)
        {
            throw new NotImplementedException();
        }
        public string Getrecord(int id)
        {
            return tempr[id].sourname + " " + tempr[id].inicialy + " " + tempr[id].year + " " + tempr[id].category;
        }
        public int GetAmount()
        {
            return record.Count;
        }

    
public  string tempr { get; set; }
public static int Count { get; set; }
    }
    class Program
    {
       
        public static bool readFromFile;
        static void DataInput(List<record> Targetr, bool fileread)
        {
            if (fileread)
            {   }
            else
            {
                while (true)
                {
                    record.InputFromKeyboard(Targetr);
                    Console.WriteLine("Еще значения? д/н");
                    if (Console.ReadLine().ToLower() == "н") break;   
                }
            }                     
        }


        public static void Menu(List<record> Myr)
        {
            Console.Clear();
            Console.WriteLine("1. добавить книгу");
            Console.WriteLine("2. Поиск книги");
            Console.WriteLine("3. Удалить книгу");
            Console.WriteLine("0. Выход");
            string answer=Console.ReadLine();
            bool exit=false;
            switch(answer)
            {
                case "1":
                    {
                        Console.WriteLine("Введите данные");
                            readFromFile = false;
                        DataInput(Myr, readFromFile);
 
                        break;
                    }
                case "2":
                    {
                        Console.WriteLine("Введите данные для поиска");
                        foreach (record value in Myr)
                        {
                            Console.WriteLine(value.ToString());
                      }
                            Console.WriteLine("Press any key...");
                            Console.ReadKey(); 
                        
                        break;
                    }
                case "3":
                    {
                        
                        Console.WriteLine("Введите номер удаляемого элемента");
                        DataInput(Myr, readFromFile);
                        break;
                    }
                case "0":
                    {
                        exit = true;
                        break;
                    }
            }
            if (!exit) Menu(Myr);                      
        }
        static void Main(string[] args)
        {List<record> Myr=new List<record>();
          Menu(Myr);
        }
    }
}
не оставьте без помощи)

Последний раз редактировалось Stilet; 26.09.2015 в 17:21.
nadya12041996 вне форума Ответить с цитированием
Старый 26.09.2015, 16:56   #2
nadya12041996
 
Регистрация: 19.09.2015
Сообщений: 9
По умолчанию

2 вариант
Код:
    public class record
    {
  
        public int id; 
        public string Surname;      
        public string Name;
        public int year;
        public string category;

        public record(int id, string Surname, string Name,  int year,string category)
        {
            this.id = id;
            this.Name = Name;
            this.Surname = Surname;
            this.year = year;
            this.category = category;
        }

    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 Surname, string Name, int year, string category)
        {
            List<record> ret = new List<record>();
            foreach (record rec in notebookRecords)
                if (rec.Surname == Surname || rec.Name == Name || rec.year == year || rec.category == category)
                    ret.Add(rec);
            return ret;
        }

        public void AddRecord(int id, string Surname, string Name, int year, string category)
        {
            record rec = new record(id, Name, Surname, year, category);
            notebookRecords.Add(rec);
        }

        public void DeleteRecords(string Surname, string Name, int year, string category)
        {
            List<record> records = SearchRecords(Name, Surname, year, category);
            foreach (record rec in records)
                notebookRecords.Remove(rec);
        }
    }
    class Program
    {
        public static bool Input;
        static void DataInput(List<record> Targetr, bool fileread)
        {
            if (fileread)
            {    }
            else
            {     while (true)
                {
                    record. AddRecord(Targetr);
                    Console.WriteLine("Еще значения? д/н");
                    if (Console.ReadLine().ToLower() == "н") break;
                }
            }
        }
        public static bool Search;
        static void SearchData(List<record> Targetr, bool search)
        {
            if (search)
            {  }
            else
            {    while (true)
                {
                    record.SearchRecords(Targetr);
                    Console.WriteLine("Еще значения? да/нет");
                    if (Console.ReadLine().ToLower() == "нет") break;
                }
            }
        }
        public static bool Delete;
        static void DeleteData(List<record> Targetr, bool delete)
        {
            if (delete)
            {  }
            else
            {    while (true)
                {
                    record.DeleteRecords(Targetr);
                    Console.WriteLine("Еще значения? да/нет");
                    if (Console.ReadLine().ToLower() == "нет") break;
                }
            }
        }
        public static void Menu(List<record> Myr)
        {
            Console.Clear();
            Console.WriteLine("1. добавить книгу");
            Console.WriteLine("2. Поиск книги");
            Console.WriteLine("3. Удалить книгу");
            Console.WriteLine("0. Выход");
            string answer = Console.ReadLine();
            bool exit = false;
            switch (answer)
            {
                case "1":
                    {
                        Console.WriteLine("Введите данные");
                        Input = false;
                        DataInput(Myr, Input);
                        break;
                    }
                case "2":
                    {
                        Console.WriteLine("Введите данные для поиска");
                        Search = false;
                        SearchData(Myr, Search);
                        foreach (record value in Myr)
                        {
                            Console.WriteLine(value.ToString());
                        }
                        Console.WriteLine("Press any key...");
                        Console.ReadKey();
                        break;
                    }
                case "3":
                    {
                        Console.WriteLine("Введите данные об удаляемой книге");
                        Delete = false;
                        DeleteData(Myr, Delete);
                        break;
                    }
                case "0":
                    {
                        exit = true;
                        break;
                    }
            }
            if (!exit) Menu(Myr);
        }
        static void Main(string[] args)
        {
            List<record> Myr = new List<record>();
            Menu(Myr);
        }
    }

Последний раз редактировалось Stilet; 26.09.2015 в 17:21.
nadya12041996 вне форума Ответить с цитированием
Старый 26.09.2015, 17:22   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Может пора описать какие ошибки ты просишь исправить?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.09.2015, 17:50   #4
nadya12041996
 
Регистрация: 19.09.2015
Сообщений: 9
По умолчанию

проблема с вызовом методов.
nadya12041996 вне форума Ответить с цитированием
Старый 26.09.2015, 18:32   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Давай разгребать эту жуть по-порядку.
Для начала ввод:
Сделай еще один конструктор:
Код:
		public record(){
			Console.WriteLine ("Введите запись:");

			Console.WriteLine ("Номер:");this.id = Convert.ToInt32 (Console.ReadLine ());
			Console.WriteLine ("Имя:");this.Name =  (Console.ReadLine ());
			Console.WriteLine ("Фамилия:");this.Surname =  (Console.ReadLine ());
			Console.WriteLine ("Год:");this.year = Convert.ToInt32 (Console.ReadLine ());
			Console.WriteLine ("Категория:");this.category =  (Console.ReadLine ());
		}
И саму функцию ввода напиши так:
Код:
		static void DataInput(List<record> Targetr, bool fileread)
		{
			if (fileread)
			{    }
			else
			{     while (true)
				{
					record r = new record ();
					Targetr.Add (r);
					Console.WriteLine("Еще значения? д/н");
					if (Console.ReadLine().ToLower() == "н") break;
				}
			}
		}
Для чего это все, объяснять надо?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.09.2015, 19:34   #6
nadya12041996
 
Регистрация: 19.09.2015
Сообщений: 9
По умолчанию

объяснять не надо)
nadya12041996 вне форума Ответить с цитированием
Старый 27.09.2015, 07:48   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Эт радует )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.09.2015, 09:54   #8
nadya12041996
 
Регистрация: 19.09.2015
Сообщений: 9
По умолчанию

осталось 2 проблемки тут)

код:
Код:
public static bool Search;
        static void SearchData(List<record> Targetr, bool search)
        {
            if (search)
            {  }
            else
            {    while (true)
                {
                    record.SearchRecords(Targetr);
                    Console.WriteLine("Еще значения? да/нет");
                    if (Console.ReadLine().ToLower() == "нет") break;
                }
            }
        }
        public static bool Delete;
        static void DeleteData(List<record> Targetr, bool delete)
        {
            if (delete)
            {  }
            else
            {    while (true)
                {
                    record.DeleteRecords(Targetr);
                    Console.WriteLine("Еще значения? да/нет");
                    if (Console.ReadLine().ToLower() == "нет") break;
                }
            }
        }

Последний раз редактировалось Stilet; 27.09.2015 в 11:02.
nadya12041996 вне форума Ответить с цитированием
Старый 27.09.2015, 11:04   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
осталось 2 проблемки
Бывает... )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.09.2015, 11:18   #10
nadya12041996
 
Регистрация: 19.09.2015
Сообщений: 9
По умолчанию

я очень надеюсь на вашу помощь)
nadya12041996 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с задачей Марсель1 Помощь студентам 1 26.04.2014 13:50
Помогите с задачей. DarthaBaudh Паскаль, Turbo Pascal, PascalABC.NET 6 04.06.2009 13:55
Помогите с задачей на С Карол Помощь студентам 16 14.11.2008 21:26
Помогите с задачей bel_ka Общие вопросы C/C++ 13 26.12.2007 19:23