Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2011, 16:27   #1
coper
Пользователь
 
Регистрация: 16.11.2009
Сообщений: 28
По умолчанию проблема с Console.Read()

Код:
  static void Main(string[] args)
        {
            int Q;
            Console.Write("Enter ");
            Q = Console.Read();
            Console.Write("Enter ");
            Q = Console.Read();
            Console.Write("Enter ");
            Q = Console.Read();
        }
Хоть убей не пойму почему, но Read() выполняется только 1 раз (первый), а дальше программа завершается ничего ввести не предлагая.
coper вне форума Ответить с цитированием
Старый 13.04.2011, 03:49   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

используйте ReadLine
ибо после Read остаются символы новой строки.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.04.2011, 19:25   #3
coper
Пользователь
 
Регистрация: 16.11.2009
Сообщений: 28
По умолчанию

Да, я уже разобрался, спасибо. Вот только мне не понятно зачем нужна тогда эта функция.
coper вне форума Ответить с цитированием
Старый 14.04.2011, 19:49   #4
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Для того, чтобы читать отдельные символы, а не целые строки.
Например:
Код:
using System;

class MyClass
{
    static void Main()
    {
         char c = (char)Console.Read();
         Console.WriteLine(c);
         Console.ReadLine();
    }
}

Последний раз редактировалось _-Re@l-_; 14.04.2011 в 19:51.
_-Re@l-_ вне форума Ответить с цитированием
Старый 15.10.2011, 01:36   #5
Prizrak86
Форумчанин
 
Аватар для Prizrak86
 
Регистрация: 15.10.2011
Сообщений: 139
По умолчанию Не соответствие типов

Цитата:
Код:
static void Main(string[] args)
        {
            int Q;
            Console.Write("Enter ");
            Q = Console.Read();
            Console.Write("Enter ");
            Q = Console.Read();
            Console.Write("Enter ");
            Q = Console.Read();
        }
Хоть убей не пойму почему, но Read() выполняется только 1 раз (первый), а дальше программа завершается ничего ввести не предлагая.




Суть в том, что ты объявлял переменную целочисленного типа. для паскаля такая схема подойдет, но в шарпе все что вводится с клавиатуры имеет строковый тип, по этому необходимо конвертировать. для этого есть 2 способа.

int Q;
Console.WriteLine("Enter 1 ");
Q = int.Parse(Console.Read());
Console.WriteLine("Enter 2 ");
Q = Console.ToInt(Console.Read());
Console.ReadKey(); //Задержка экрана
Программист это не профессия, программист - это образ жизни.

Последний раз редактировалось rpy3uH; 16.10.2011 в 19:11.
Prizrak86 вне форума Ответить с цитированием
Старый 16.10.2011, 17:04   #6
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию

И ещё есть такой способ
Код:
int q;
q=Convert.ToInt32(Console.Read());
Самый перспективный framework Yii (c)
TranceSmile вне форума Ответить с цитированием
Старый 16.10.2011, 21:00   #7
Prizrak86
Форумчанин
 
Аватар для Prizrak86
 
Регистрация: 15.10.2011
Сообщений: 139
По умолчанию

Цитата:
Сообщение от TranceSmile Посмотреть сообщение
И ещё есть такой способ
Код:
int q;
q=Convert.ToInt32(Console.Read());
это аналогичная запись, по умолчания ToInt аналогичен ToInt32.
Программист это не профессия, программист - это образ жизни.
Prizrak86 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема при компиляции в Dev-C++: "инструкция ... обратилась к памяти ... Память не может быть read." Catharsis Общие вопросы C/C++ 3 14.05.2010 02:12
Проблема с case и read(string). cdtj Помощь студентам 2 11.11.2009 21:55