Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Consile.Read()

1.8K
29 декабря 2007 года
rSolanov
106 / / 04.05.2005
Здравствуйте, помогайте, плиз, кто может
Вот код:
 
Код:
int a = System.Console.Read();
 System.Console.WriteLine(a);

Но значение переменной "a" выводится в консоль совсем не тем, котоым вводил. Выводится какое-то совершенно левое число. А как же тогда правильно считывать данные с клавиатуры?
5
29 декабря 2007 года
hardcase
4.5K / / 09.08.2005
Статический метод класса Console
int Console.Read()
читает с терминала не число, а код следующего символа в терминале.

Для более удобного чтения пользуйся Console.In, а для записи - Console.Out.
Модифицированный мною пример из MSDN:
Код:
using System;
using System.IO;

class InTest {
    public static void Main() {

        TextReader tIn = Console.In;
        TextWriter tOut = Console.Out;

        tOut.WriteLine("Hola Mundo!");
        tOut.Write("What is your name: ");
        string name = tIn.ReadLine();
         
        tOut.Write("How old are you: ");
        int age = int.Parse(tIn.ReadLine());

        tOut.WriteLine("You are, {0} years old.", age);        
        tOut.WriteLine("Buenos Dias, {0}!", name);
    }
}
14K
29 декабря 2007 года
stimpi
100 / / 04.09.2007
можно и таким образом читать с консоли

Код:
using System;
using System.Collections.Generic;
using System.Text;

namespace CodeForumCistern
{
    class Program
    {
        public static void Main(string[] args)
        {
            Console.Write("Введите число: ");
            double bulk = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Вы ввели: {0}", bulk);
        }
    }
}
1.8K
16 января 2008 года
rSolanov
106 / / 04.05.2005
Да, большое спасибо, тут я понял. Но если мне надо прямо на этапе ввода осуществить контроль за вводом, например чтобы пользователь мог вводить только цифры, а на нажатия других клавиш небыло "реакции"(с точки зрения пользователя). Похоже, что тут придётся использовать скан-код или можно как-то еще?
1.8K
21 января 2008 года
rSolanov
106 / / 04.05.2005
Всё, разобрался. Вот функция, которая читает вводимые символы с консоли, игнорирует все символы кроме цифр и знака "-":
Код:
static int ReadKoeff()
        {
            StringBuilder SB = new StringBuilder();
            ConsoleKeyInfo KeyInfo;
            do
            {
                KeyInfo = System.Console.ReadKey(false);
                char c = KeyInfo.KeyChar;
                if ((c >= 47 && c <= 56)|(c == 45)) SB.Append(c);
            } while (KeyInfo.Key != ConsoleKey.Enter);
            return (Convert.ToInt32(SB.ToString()));
        }
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог