{{notification.text}}

MirGames

A|1vE NooB
09.02.09 15:03
0
Вот я создаю консольное приложение, как я понял ReadLine не считывает введенные даные пользователем, если ты указал int например. Мене он выдает ошибку, а когда я подставляю string то он считывает. Мене просто надо проверить правильно ли вел пользователь число. Я знаю можно это проверить и так без лишнего гемороя, но я хочу узнать есть ли в system.console для работы с int?
#1
A|1vE NooB
09.02.09 15:15
0
Короче есть у меня такая штука
public void Events()
{
Console.WriteLine("Вопрос 1 - Сколько будет 10x2");
string otvet;
otvet = Console.ReadLine();
if (otvet == 100)
{

}

}
Он не может произвести сравнение т.к. у меня два типа данных.
Int и string, если я изменю string на int то Readline не сможет прочитать введенную инфу с консоли, т.к. я понял ReadLine работает только с типами данных string.
#2
Почётный лектор
09.02.09 16:32
0
Не хочется объяснять каждую элементарную вещь. Книги читай по языку и ищи ответы там. Иначе никогда ничему не научишься.

(а ответ на твой вопрос я, разумеется знаю. Но не скажу)
#3
Студент
09.02.09 21:41
0
Не программировал на C#, но из программирования вообще... Короче, пришла мысль о том, что сравнивать надо строки, а не строку и число. Самый простой путь решения, как я понял, сделать из числа 100, строку 100. Делается это двумя символами.
#4
MirGames Dev
09.02.09 23:20
0
dezmax
Нет, C# самостоятельно не занимается обработкой входных данных. Придется разбивать строку/набор входных байтов вручную, т.к. тут даже scanf не предусмотрен) Хотя есть заменители scanf, работающие через регулярные выражения.
#5
10.02.09 00:46
0
Pierre Kurochkin
MeF Dei Corvi
О_о Вы не ищите простых решений

З.Ы. в шарпе преобразование строки в число уже встроено в строки...
#6
MirGames Dev
10.02.09 01:33
0
Drako
Тут дело не в простых решениях) Просто человек, как я понимаю, хочет аналог readln из Delphi. То, что полученную строку можно конвертировать в любой нужный тип, автор похоже и так в курсе)
#7
A|1vE NooB
10.02.09 01:57
0
Вот единственный человек который понял меня - то что я хочу ) Это меф)
Я вот что подумал, а если создавать массив и считать из консоли что пользователь ввел и передавать в массив. Потом уже при помощи foreach/in искать совпадения в массиве. Это я так просто сказал - мысли в слух ) Конечно если в C# такое возможно.

Ну с самой я проблемой разобрался, просто создаю вторую переименую с типом данных стрнг, которой уже присваиваю нужный мене ответ. А потом уже проверяю правильно ли вел пользователь. ))

Вот помогите пожалуйста - вот есть у меня такое условие на делфи (Ограничение ввода букв)
if not (Key in ['0'..'9',char(8)]) then
begin
Key := #0;
end;
Вот как такой код будет выглядеть для C#.
и вопрос #2
Искал, искал так и не нашел. Вот как мене можно закрыть консольное приложение без нажатие клавиши и закрытие крестиком?
Отредактировано: 10.02.09 02:18
#8
MirGames Dev
10.02.09 02:57
0
Цитата
Искал, искал так и не нашел. Вот как мене можно закрыть консольное приложение без нажатие клавиши и закрытие крестиком?
А в чем проблема?

Цитата
Вот помогите пожалуйста - вот есть у меня такое условие на делфи (Ограничение ввода букв)
Нафиг тебе это? Считай в строку и TryParse. Если TryParse вернул false, значит строка в некорректном формате)
#9
A|1vE NooB
10.02.09 12:11
0
MeF Dei Corvi
Спасибо начат строк ;)
Просто идет изучение C# по книге для профессионалов, там многое нужно узнавать самому ;)
Кста разбираюсь сейчас с ООП ;) Пока конечно не все понятно, но результат есть )

Таакк решил проблему с
public void Events()
{
Console.WriteLine("Вопрос 1 - Сколько будет 10x2");
string otvet;
otvet = Console.ReadLine();
if (otvet == 100)
{

}

Просто сделал так:
string kas = Console.ReadLine();
int k = int.Parse(kas);
int did = 100;
if (k == did)
{
Console.WriteLine("Ух, какой ты умный. Правильно ;");
}
Отредактировано: 10.02.09 13:48
#10
Хранитель Флейма
10.02.09 14:13
0
Бред какой. Ниразу Меф тебя не понял...

К тому же судя по примеру можно сделать вывод, что правильный ответ тебе дал Pierre Kurochkin.
#11
A|1vE NooB
10.02.09 17:31
0
Цитата(MeF Dei Corvi @ Вчера, 22:57)
[snapback]92857[/snapback]
Нафиг тебе это? Считай в строку и TryParse. Если TryParse вернул false, значит строка в некорректном формате)

А я вот реализовал )
int value;
try
{
value = int.Parse(age);
}
catch (Exception e)
{
Thread.Sleep(2000);
Console.WriteLine("Вводи только цифры, а не буквы.");
goto myage;
}
#12
10.02.09 23:05
0
Цитата(MeF Dei Corvi @ 9.02.2009 - 23:33) [snapback]92852[/snapback]

Drako
Просто человек, как я понимаю...

Что-то я вообще ни чего не понял чего он хочет.

dezmax
goto и ООП - это жесть О_о
Нет, ну я конечно знаю, что для встраиваемых систем - это норма, но это ведь не твой случай.
#13
Студент
10.02.09 23:40
0
[offtop]
Автор, брось, 10х2 будет 20, а не сто :)
[/offtop]
#14
A|1vE NooB
10.02.09 23:51
0
хм...это для вас будет сто :) Но во второй степени 100
просто не знаю как написать в степени ))
#15
Студент
11.02.09 00:45
0
dezmax
Ну я видел везде n^X. n - число. X- степень.
Блин, я тебе дал решение всего двумя символами :) Оно не универсальное и подходит только для констант. Но всё же.
#16
MirGames Dev
11.02.09 03:34
0
dezmax
Я говорил о TryParse, а не о try/catch { Parse } :-)
http://msdn.microsoft.com/en-us/library/sy...2.tryparse.aspx
Цитата
Бред какой. Ниразу Меф тебя не понял...
Тсс.) Я тут человеку внушаю про то, как строки в int переводить))) а также про то, как вопросы формулировать ;-)
"Мене просто надо проверить правильно ли вел пользователь число."
Тут же не написано правильное ли число :-)
Отредактировано: 11.02.09 03:39
#17
Хранитель Флейма
11.02.09 03:38
0
MeF Dei Corvi
А что он под правильными числами подразумевает?
#18
MirGames Dev
11.02.09 03:40
0
Said
Пропустил "не" в своем посте) Автор про правильные числа не говорил в вопросе, он говорил про то, правильно ли число введено)
Отредактировано: 11.02.09 03:41
#19
Flashhell
05.02.11 04:55
0
Цитата(dezmax @ 10.02.2009 - 07:11) [snapback]92869[/snapback]

MeF Dei Corvi
Спасибо начат строк ;)
Просто идет изучение C# по книге для профессионалов, там многое нужно узнавать самому ;)
Кста разбираюсь сейчас с ООП ;) Пока конечно не все понятно, но результат есть )

Таакк решил проблему с
public void Events()
{
Console.WriteLine("Вопрос 1 - Сколько будет 10x2");
string otvet;
otvet = Console.ReadLine();
if (otvet == 100)
{

}

Просто сделал так:
string kas = Console.ReadLine();
int k = int.Parse(kas);
int did = 100;
if (k == did)
{
Console.WriteLine("Ух, какой ты умный. Правильно ;");
}



Вот правильное решение:

string kas = Console.ReadLine();
int k = Convert.ToInt32(kas);//на выходе получишь число
int did = 100;
if (k == did)
{
Console.WriteLine("Ух, какой ты умный. Правильно ;");
}
#20
Хранитель Флейма
05.02.11 10:17
0
Flashhell
Некрофилам некропривет!

Цитата

//на выходе получишь число


Или получишь исключение и закроешься :)
#{{post.Index}}
{{post.Author.Login}}
{{post.CreatedDate | date:'dd.MM.yy HH:mm'}}
{{post.VotesRating}}
Отредактировано: {{post.UpdatedDate | date:'dd.MM.yy HH:mm'}}