Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Linq;
- namespace class2
- {
- struct Student
- {
- public string fname;
- public string FName
- {
- get { return fname; }
- }
- public string lname;
- public string LName
- {
- get { return lname; }
- }
- public int year;
- public int Year
- {
- get { return year; }
- }
- public long numbers;
- public long Numbers
- {
- get { return numbers; }
- }
- public Student(string fname, string lname, int year, long numbers)
- {
- this.fname = fname;
- this.lname = lname;
- this.year = year;
- this.numbers = numbers;
- }
- }
- class Program
- {
- static void Main()
- {
- string[] lines = File.ReadAllLines("C:\\Users\\L-PC\\Desktop\\лекции и все подобное\\Технология программирования\\Викины\\классы 2\\class2\\catalog.txt");
- int size = lines.Length;
- Student[] students = new Student[10];
- for (int i = 0; i < size; i++)
- {
- string[] arguments = lines[i].Split(",");
- students[i] = new Student(arguments[0], arguments[1], int.Parse(arguments[2]), long.Parse(arguments[3]));
- }
- int ch = 0;
- while (true)
- {
- Console.WriteLine("Выберите действие\n1.Вывести список студентов\n2.Добавить студента\n3.Удалить студента из списка\n4.Отсортировать список по определенным полям\n5.Найти студента по имени или фамилии\n6.Выход");
- ch = int.Parse(Console.ReadLine());
- if (ch == 1)
- {
- Console.WriteLine("Весь список:");
- Output(students);
- Console.ReadLine();
- Console.Clear();
- }
- if (ch == 2)
- {
- Insert(students);
- Console.ReadLine();
- Console.Clear();
- }
- if (ch == 3)
- {
- Output(students);
- Console.WriteLine("Введите индекс студента, которого хотите удалить: ");
- int index = int.Parse(Console.ReadLine());
- students = Delete(students, index);
- Console.ReadLine();
- Console.Clear();
- }
- if (ch == 4)
- {
- Console.WriteLine("По какому полю сортировать?\n1. По имени\n2. По году рождения");
- int field = int.Parse(Console.ReadLine());
- if (field == 1)
- {
- var buf = students.OrderBy(x => x.LName).ToArray();
- students = buf;
- }
- if (field == 2)
- {
- var buf = students.OrderBy(x => x.year).ToArray();
- students = buf;
- }
- Output(students);
- Console.ReadLine();
- Console.Clear();
- }
- if (ch == 5)
- {
- Search(students);
- Console.ReadLine();
- Console.Clear();
- }
- if (ch == 6)
- Environment.Exit(0);
- }
- }
- static void Output(Student[] students)
- {
- int i = 0;
- foreach (var student in students)
- if (student.FName != null)
- {
- i++;
- Console.WriteLine("{0}. Имя: {1}, Фамилия: {2}, Год рождения: {3}, Номер: {4}", i, student.FName, student.LName, student.Year, student.Numbers);
- }
- }
- static Student[] Delete(Student[] students, int index)
- {
- if (students.Length == 0) return students;
- if (students.Length <= index) return students;
- Student[] buf = new Student[students.Length - 1];
- for (int i = 0; i < index; i++)
- {
- buf[i] = students[i];
- }
- for (int i = index; i < students.Length; i++)
- {
- buf[i - 1] = students[i];
- }
- return buf;
- }
- static void Insert(Student[] students)
- {
- Console.WriteLine("Введите имя:");
- string fname = Console.ReadLine();
- Console.WriteLine("Введите фамилию:");
- string lname = Console.ReadLine();
- Console.WriteLine("Введите год рождения:");
- int year = int.Parse(Console.ReadLine());
- Console.WriteLine("Введите номер телефона:");
- long numbers = long.Parse(Console.ReadLine());
- Student buf = new Student(fname, lname, year, numbers);
- for (int i = 0; i < students.Length; i++)
- {
- if (students[i].fname == null)
- {
- students[i] = buf;
- break;
- }
- }
- }
- static void Search(Student[] students)
- {
- int i = 0;
- Console.WriteLine("По какому полю искать?\n1. По имени\n2. По году рождения");
- int field = int.Parse(Console.ReadLine());
- if (field == 1)
- {
- Console.WriteLine("Введите имя:");
- string fname = Console.ReadLine();
- foreach (var student in students)
- if (student.FName == fname)
- {
- i++;
- Console.WriteLine("Имя: {0}, Фамилия: {1}, Год рождения: {2}, Номер телефона: {3}", student.FName, student.LName, student.Year, student.Numbers);
- }
- }
- if (field == 2)
- {
- Console.WriteLine("Введите год издания:");
- int year = int.Parse(Console.ReadLine());
- foreach (var student in students)
- if (student.Year == year)
- {
- i++;
- Console.WriteLine("Имя: {0}, Фамилия: {1}, Год рождения: {2}, Номер телефона: {3}", student.FName, student.LName, student.Year, student.Numbers);
- };
- }
- if (i == 0)
- Console.WriteLine("Ничего не найдено");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement