Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
10 / 10 / 5
Регистрация: 20.04.2014
Сообщений: 161

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

27.04.2014, 23:06. Показов 4752. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru