7 / 1 / 1
Регистрация: 06.10.2019
Сообщений: 57
1

Организовать выбор из файла данных, содержащих информацию о студентах заданного пола с определенным цветом волос

17.11.2019, 21:47. Показов 1601. Ответов 5
Метки нет (Все метки)

Создать в редакторе текстовый файл, каждая строка которого содержит фамилию студента, пол, цвет волос. Организовать выбор из файла данных, содержащих информацию о студентах заданного пола с определенным цветом волос, и занесение этих данных в новый текстовый файл. Пол и цвет волос ввести по запросу. Если нужных студентов нет, то выдать соответствующее сообщение.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2019, 21:47
Ответы с готовыми решениями:

Как организовать поиск ячейки с определенным названием и выделение ее цветом
Подскажите пожалуйста как реализовать поиск детали : При выборе детали в форме и нажатии "поиск"...

Выбор студента заданного пола с минимальным ростом
Выбор студента заданного пола с минимальным ростом

Структура : Выбор студентов заданного пола, не получающих стипендию.
Выбор студентов заданного пола, не получающих стипендию. Как реализовать условие: выбор...

Выделить другим цветом информацию о самом старшем и самом младшем студентах
Помогите,пожалуйста,написать программу(струкуру),которая содержит следущие поля • ФИО студента;...

5
250 / 166 / 94
Регистрация: 16.09.2019
Сообщений: 456
17.11.2019, 23:08 2
Лучший ответ Сообщение было отмечено Coolam как решение

Решение

Coolam,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
public class Program
    {
        public static void Main()
        {
            {
                Console.Title = $"Workshop";
                Console.OutputEncoding = Encoding.UTF8;
                Console.CursorVisible = false;
                Console.ForegroundColor = ConsoleColor.Green;
                CultureInfo.CurrentCulture = new CultureInfo($"en-US");
            }
 
            string pathFrom = $"students1.txt";
            string pathTo = $"students2.txt";
 
            if(!File.Exists(pathFrom))
                File.Create(pathFrom).Close();
 
            var list = new List<Student>()
            {
                new Student() { Surname = "A1", Color = HairColor.Blue, Sex = Sex.Male },
                new Student() { Surname = "A2", Color = HairColor.Black, Sex = Sex.Female },
                new Student() { Surname = "A3", Color = HairColor.Red, Sex = Sex.Female },
                new Student() { Surname = "A4", Color = HairColor.Red, Sex = Sex.Male },
                new Student() { Surname = "A5", Color = HairColor.White, Sex = Sex.Male },
                new Student() { Surname = "A6", Color = HairColor.Black, Sex = Sex.Female },
                new Student() { Surname = "A7", Color = HairColor.Blue, Sex = Sex.Female },
                new Student() { Surname = "A8", Color = HairColor.Brown, Sex = Sex.Male }
            };
 
            WriteData(pathFrom, list);
 
            Search(pathFrom, pathTo, Sex.Female, HairColor.Black);
 
            Process.Start(new ProcessStartInfo() { FileName = pathFrom, UseShellExecute = true });
            Process.Start(new ProcessStartInfo() { FileName = pathTo, UseShellExecute = true });
 
            Console.ReadKey(true);
        }
 
        public static void Search(string pathFrom, string pathTo, Sex sex, HairColor color)
        {
            var list = ReadData(pathFrom).Where(s => s.Sex == sex && s.Color == color).ToList();
            if(list.Count == 0)
            {
                Console.WriteLine($"Нет студентов по критериям");
                return;
            }
 
            if(!File.Exists(pathTo))
                File.Create(pathTo).Close();
 
            using(var sw = new StreamWriter(pathTo))
            {
                for(int i = 0; i < list.Count; i++)
                {
                    Console.WriteLine($"Найден студент по критериям");
                    sw.WriteLine($"{list[i].Surname} {list[i].Sex} {list[i].Color}");
                }
            }
        }
 
        public static void WriteData(string path, List<Student> list)
        {
            using(var sw = new StreamWriter(path))
            {
                for(int i = 0; i < list.Count; i++)
                    sw.WriteLine($"{list[i].Surname} {list[i].Color} {list[i].Sex}");
            }
        }
 
        public static List<Student> ReadData(string path)
        {
            var list = new List<Student>();
            string[] info = null as string[];
            using(var sr = new StreamReader(path))
            {
                info = sr.ReadLine().Trim().Split(' ', StringSplitOptions.RemoveEmptyEntries);
                while(info != null)
                {
                    list.Add(new Student { Surname = info[0], Color = Enum.Parse<HairColor>(info[1]), Sex = Enum.Parse<Sex>(info[2]) });
                    info = sr.ReadLine()?.Trim().Split(' ', StringSplitOptions.RemoveEmptyEntries);
                }
            }
 
            return list;
        }
    }
 
    public class Student
    {
        public string Surname { get; set; }
        public HairColor Color { get; set; }
        public Sex Sex { get; set; }
 
        public override string ToString() => $"Фамилия студента: {Surname}\nЦвет волос: {Color}\nПол: {Sex}\n";
    }
 
    public enum HairColor
    {
        Black,
        White,
        Brown,
        Blue,
        Red,
    }
 
    public enum Sex
    {
        Male,
        Female
    }
1
7 / 1 / 1
Регистрация: 06.10.2019
Сообщений: 57
17.11.2019, 23:58  [ТС] 3
Какие using были подключены кроме System.IO?
0
3396 / 2412 / 1161
Регистрация: 14.08.2016
Сообщений: 8,086
18.11.2019, 00:19 4
Coolam, если что-то подчеркнуто красным, поставь курсор на это "слово" и нажми контрол+точка, студия сама покажет тебе где "это есть"
0
250 / 166 / 94
Регистрация: 16.09.2019
Сообщений: 456
18.11.2019, 00:23 5
Coolam, камрад Diamante четко все сказал.
C#
1
2
3
4
5
6
7
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
0
7 / 1 / 1
Регистрация: 06.10.2019
Сообщений: 57
18.11.2019, 08:45  [ТС] 6
Низкий поклон.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2019, 08:45
Помогаю со студенческими работами здесь

Ввести из файла информацию о K студентах группы
Информация содержит ФИО студента, год рождения, четыре оценки за экзамены последней сессии....

Вывести информацию о студентах из текстового файла
Условие программы: Дан текстовый файл, содержащий информацию о сдаче студентами экзаменационной...

Счиатать из файла информацию о студентах и записать ее в разные.
Ребята помогите решить задачку пожалуста: Файл в строках содержит ФИО студента, курс и средний...

Выбор студентов заданного пола, имеющих в сессию хотя бы одну оценку "3"
1. Разработать блок-схему алгоритма и программу для обработки сведе-ний о студентах своей группы....

Организовать ввод, хранение в массиве, вывод на экран данных о студентах группы
Организовать ввод, хранение в массиве, вывод на экран данных о студентах группы: фамилия, имя, дата...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru