10 / 10 / 5
Регистрация: 20.04.2014
Сообщений: 161

Аналог функции strlen (проверка длины введённых данных)

27.04.2014, 23:06. Показов 4767. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите пожалуйста есть ли аналог функции strlen в С#?И\или как еще можно проверить введ. данные на "длину"?

Добавлено через 10 минут
И еще:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static string Fioo(byte maxSize = 10)
{
string fio;
int count = 0, dx = 0;
do
{
if (count != 0) Console.WriteLine(" Превышен допустимый размер данных на {0} символов! ", dx);
Console.Write("...");
fio = Console.ReadLine();
dx = fio.Length - maxSize;
++count;
} while (dx > 0);
Console.Clear();
return fio;
Как в этом кусе кода еще можно задать максимальный размер без объявления в методе?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.04.2014, 23:06
Ответы с готовыми решениями:

Проверка введённых данных
Прошу помочь разобраться, в чем проблема! Пишу простенький скрипт обратной связи. Проблема состоит в том, что данные отправленные из формы...

Проверка введённых данных (Char)
Как на Паскале реализовать проверку введённых данных типа Char, например, введёнными данными должны быть символы диапазона '0'..'9', при...

Проверка введённых данных на наличие их в БД
Здравствуйте. Мне нужно проверить есть ли то,что я ввожу в текстбокс ГРЗ в таблице Автомобили (Avto) такой же ГРЗ и если есть то выдать...

5
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
27.04.2014, 23:09
Salems, в смысле длина строки? String.Length.
0
10 / 10 / 5
Регистрация: 20.04.2014
Сообщений: 161
27.04.2014, 23:21  [ТС]
insite2012, не правильно немного выразился.Например: в добавленном выше коде,как еще можно проверить введенные данные на кол-во символов без объявления static string Fioo(byte maxSize = 10)?
0
338 / 327 / 154
Регистрация: 29.10.2012
Сообщений: 949
28.04.2014, 05:53
Опишите пожалуйста задачу более подробно.
0
10 / 10 / 5
Регистрация: 20.04.2014
Сообщений: 161
28.04.2014, 10:48  [ТС]
kmaffa, Есть код,выполняет ввод данных с консоли и запись в файл.Как в методе AddNewStudent сделать проверку,чтобы Ф.И.О не вводилось более 50 букв,а оценка от 0 до 100,если ошибка,то возврат на ввод?
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.IO;
 
namespace FirstEnum
{
    class Program
    {
        class Student
        {
            public string FIO { get; set; }
            public string Group { get; set; }
            public string Predmet { get; set; }
            public int Ocenka { get; set; }
            public string Otch { get; set; }
 
            public override string ToString()
            {
                return string.Format(@"Фамилия:{0},Имя и Отчество:{1},Группа:{2},
        Предмет:{3},Оценка:{4}", FIO, Otch, Group, Predmet, Ocenka);
            }
        }
 
        static void Main(string[] args)
        {
            bool kones = true;
            List<Student> al = new List<Student>();
 
            while (kones)
            {
                Console.WriteLine();
                PrintMessage();
                int a = int.Parse(Console.ReadLine());
                if (a == 0)
                {
                    AddNewStudent(al);
                }
                else if (a == 1)
                {
                    PrintAllStudent(al);
                }
                else if (a == 2)
                {
                    FindStudent(al);
                }
                else if (a == 3)
                {
                    FindGroup(al);
                }
                else if (a == 4)
                {
                    PodschetOtl(al);
                }
 
                else if (a == 8)
                {
                    SaveToFiles(al);
                }
                else kones = false;
            }
 
        }
 
        private static void SaveToFiles(List<Student> al)
        {
            DirectoryInfo di = new DirectoryInfo("Data");
            di.Create();
            StreamWriter sw = File.CreateText("D:\\student.txt");
            foreach (var item in al)
            {
                Student st = (Student)item;
                sw.WriteLine(st.ToString());
            }
            sw.Close();
        }
 
        private static void FindStudent(List<Student> al)
        {
            Console.WriteLine("Введите фамилию:");
            string findFIO = Console.ReadLine();
            bool fd = false;
            Student findSt = new Student();
            foreach (var item in al)
            {
                Student st = (Student)item;
                if (findFIO == st.FIO)
                {
                    findSt = st;
                    fd = true;
                    break;
                }
            }
            if (fd) { Console.WriteLine(findSt.ToString()); }
            else { Console.WriteLine("Студент не найден"); }
        }
 
        private static void FindGroup(List<Student> al)
        {
            
        }
 
        private static void PodschetOtl(List<Student> al)
        {
            
        }
 
 
        private static void PrintMessage()
        {
            Console.WriteLine("Для добавления студента нажмите на 0");
            Console.WriteLine("Для получения списка студентов нажмите на 1");
            Console.WriteLine("Для поиска студента по фамилии нажмите на 2");
            Console.WriteLine("Для поиска группы студетов нажмите на 3");
            Console.WriteLine("Для поиска для подсчета отличников нажмите на 4");
            Console.WriteLine("Для сохранения нажмите на 8");
            Console.WriteLine("Для выхода из приложения на 9");
        }
 
        private static void PrintAllStudent(List<Student> al)
        {
            FileStream file1 = new FileStream("D:\\student.txt", FileMode.Open);
            StreamReader reader = new StreamReader(file1);
            Console.WriteLine(reader.ReadToEnd());
            reader.Close();
            Console.ReadLine();
        }
 
        private static void AddNewStudent(List<Student> al)
        {
            string fio; string grup; string predmet; int mark; string otcestvo;
            Console.WriteLine("Введите фамилию студента:");
            fio = Console.ReadLine();
            Console.WriteLine("Введите имя и отчество: ");
            otcestvo = Console.ReadLine();
            Console.WriteLine("Группа:");
            grup = Console.ReadLine();
            Console.WriteLine("Предмет:");
            predmet = Console.ReadLine();
            Console.WriteLine("Введите оценку студента:");
            mark = int.Parse(Console.ReadLine());
            al.Add(new Student { FIO = fio, Otch = otcestvo, Group= grup, Predmet = predmet, Ocenka = mark });
        }
 
        public static void LoadStudent(string[] args)
        {
            List<Student> al = new List<Student>();
            al.Add(new Student
            {
                FIO = "Pushkin",
                Otch = "Александр Сергеевич",
                Group = "123324",
                Predmet = "Математический анализ",
                Ocenka = 80
            });
            al.Add(new Student
            {
                FIO = "Lermontov",
                Otch = "Михаил Юрьевич",
                Group = "123323",
                Predmet = "Математический анализ",
                Ocenka = 59
            });
            al.Add(new Student
            {
                FIO = "Dostoevskii",
                Otch = "Федор Михайлович",
                Group = "321212",
                Predmet = "Математический анализ",
                Ocenka = 33
            });
            
        }
    }
}
0
Заблокирован
28.04.2014, 11:52
Лучший ответ Сообщение было отмечено Salems как решение

Решение

Salems, например так:
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
        private static void AddNewStudent(List<Student> al)
        {
            try
            {
                string fio = "", grup = "", predmet = "", otcestvo = "";
                int mark = 101;
                Add(ref fio, "Введите фамилию студента:", 50);
                Add(ref otcestvo, "Введите имя и отчество: ", 50);
                Add(ref grup, "Группа:", 20);
                Add(ref predmet, "Предмет:", 50);
                while (mark < 0 || mark > 100)
                {
                    Console.WriteLine("Введите оценку студента:");
                    mark = int.Parse(Console.ReadLine());
                }
 
                al.Add(new Student { FIO = fio, Otch = otcestvo, Group = grup, Predmet = predmet, Ocenka = mark });
            }
            catch (Exception exp)
            {
                Console.WriteLine(exp.Message);
            }
        }
        private static void Add(ref string str,string text,int length)
        {
            bool one = true;
            while (one)
            {
                Console.WriteLine(text);
                str = Console.ReadLine();
                if (str.Length < length) one = false;
                else Console.WriteLine("Повторите ввод");
            }
        }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.04.2014, 11:52
Помогаю со студенческими работами здесь

Проверка введённых данных пользователя и вывод из MySQL
В таблице MySQL имеются столбцы id, name, score и pass. Пытаюсь сделать так, чтобы при вводе name, score и pass: 1) проверялось в базе,...

Проверка введённых данных: число или нет?
Можно ли задать условие на проверку ввода? Например, пользователь вводит число в переменную, после чего программа должна проверить число ли...

Проверка правильности введённых данных в StringGrid (C++ Builder)
Ребят, немного туго понимаю работу со строками и посимвольной проверкой... Пользователь вводит число в ячейку StringGrid, нажимает...

Напишите свой аналог функций strlen()
Пожалуйста, помогите написать свой аналог функций strlen()!!!!

Написать две пользовательские функции, эквивалентные стандартной функции strlen
Написать программу, содержащую две пользовательские функции определения длины строки, эквивалентные стандартной функции strlen. Первая из...


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

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

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru