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

Ваш аккаунт

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

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

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

проблемы с Console.Read() и сравнением строк на С#

2.1K
07 марта 2008 года
госик
98 / / 20.11.2006
1) Console.Read() один раз за весь цикл (в начале) считывает, что я там ввела (одну интовскую цифру - оценку) и все. А мне то нужно несколько оценок ввести.
2) как сравнивать строки на < >? есть функция equals, но она возвращает либо истина, либо ложь. а мне нужно узнать какая из строк больше (чтобы делать сортировку строк)
1.8K
07 марта 2008 года
CilCatblack
251 / / 20.09.2007
Цитата: госик

2) как сравнивать строки на < >? есть функция equals, но она возвращает либо истина, либо ложь. а мне нужно узнать какая из строк больше (чтобы делать сортировку строк)



Метод класса String static int CompareOriginal() возвращает отрицательное число если s1<s2 и положительное если s1>s2, и 0 если строки равны:)

6.6K
08 марта 2008 года
Ordos
105 / / 02.11.2007
Цитата:
1) Console.Read() один раз за весь цикл (в начале) считывает, что я там ввела (одну интовскую цифру - оценку) и все. А мне то нужно несколько оценок ввести.



Используй Console.ReadLine()

2.1K
08 марта 2008 года
госик
98 / / 20.11.2006
[QUOTE/]Используй Console.ReadLine()[/QUOTE]

мне нужно ввести интовскую переменную, а (int)Console.ReadLine() не работает
2.1K
08 марта 2008 года
госик
98 / / 20.11.2006
а нужно какую-то библиотеку подключать, чтобы эту функцию использовать?
1.8K
08 марта 2008 года
CilCatblack
251 / / 20.09.2007
Цитата: госик
а нужно какую-то библиотеку подключать, чтобы эту функцию использовать?



using System;:D

14K
08 марта 2008 года
stimpi
100 / / 04.09.2007
Цитата: госик
Цитата:
Используй Console.ReadLine()

мне нужно ввести интовскую переменную, а (int)Console.ReadLine() не работает



 
Код:
int a = Convert.ToInt(Console.ReadLine());
2.1K
08 марта 2008 года
госик
98 / / 20.11.2006
public static void orderByGroup(student[] arrayOfstudents)
{
for (int i = 0; i < size; i++)
{
for (int j = i + 1; j < size; j++)
{
if (arrayOfstudents.Group.CompareTo(arrayOfstudents[j].Group) == 1)
{
student temp = arrayOfstudents;
arrayOfstudents = arrayOfstudents[j];
arrayOfstudents[j] = temp;
}
}
}
}

а вот моя сортировка, которая не работает
2.1K
08 марта 2008 года
госик
98 / / 20.11.2006
Цитата: stimpi
 
Код:
int a = Convert.ToInt(Console.ReadLine());



такой функции нет, есть ToInt16, ToInt32, ToInt64 - использовала 32, ошибок нет, но на вводе прога вылетает

2.1K
08 марта 2008 года
госик
98 / / 20.11.2006
Цитата: госик
public static void orderByGroup(student[] arrayOfstudents)
{
for (int i = 0; i < size; i++)
{
for (int j = i + 1; j < size; j++)
{
if (arrayOfstudents.Group.CompareTo(arrayOfstudents[j].Group) == 1)
{
student temp = arrayOfstudents;
arrayOfstudents = arrayOfstudents[j];
arrayOfstudents[j] = temp;
}
}
}
}

а вот моя сортировка, которая не работает



точнее работает через раз (когда группу набираю цифрами)

2.1K
08 марта 2008 года
госик
98 / / 20.11.2006
Цитата: госик
такой функции нет, есть ToInt16, ToInt32, ToInt64 - использовала 32, ошибок нет, но на вводе прога вылетает



а вот если 16 - нормально. но теперь-то раз я использую ReadLine - то могу вводить двух-, трех-... значные цифры (таких оценок насколько мне известно нет)

241
11 марта 2008 года
Sanila_san
1.6K / / 07.06.2005
Цитата: госик
а вот если 16 - нормально. но теперь-то раз я использую ReadLine - то могу вводить двух-, трех-... значные цифры (таких оценок насколько мне известно нет)

Можно сделать небольшой разборщик, который будет разбирать строку на слова из цифр, разделнных пробелами, и запоминать только первую из каждого слова. Всё равно по уму надо делать какой-то фильтр ввода. План обработки таков:

 
Код:
String istr = Console.ReadLine()
istr = istr.Trim
istr = " " & istr //не уверен, что это синтаксически верно

//А потом просто создать, скажем, массив символов,
//в который внести первый символ после каждого пробела.
1.9K
12 марта 2008 года
tva94
115 / / 01.05.2007
Зачем так тупо? Вот пример
Код:
string mData = "";
            Console.ForegroundColor = ConsoleColor.Green;
            Console.Write("Введите число: ");
            Console.Title = "Пример ввода чисел";
            Console.ForegroundColor = ConsoleColor.Magenta;
            for (; ; )
            {
                ConsoleKeyInfo cc = Console.ReadKey(true);
                if (cc.Key == ConsoleKey.Enter)
                {
                    break;
                }
                if (cc.Key == ConsoleKey.Backspace | cc.KeyChar == (char)8)
                {
                    if (mData.Length > 0)
                    {
                        Console.SetCursorPosition(Console.CursorLeft - 1, Console.CursorTop);
                        Console.Write(" ");
                        Console.SetCursorPosition(Console.CursorLeft - 1, Console.CursorTop);
                        mData = mData.Remove(mData.Length - 1);
                    }
                }
                if (Char.IsDigit(cc.KeyChar))
                {
                    if (mData.Length < 20)
                    {
                        Console.Write(cc.KeyChar);
                        mData = mData + cc.KeyChar.ToString();
                    }
                    else
                    {
                        Console.Beep();
                    }
                }
            }

            int Integer = Convert.ToInt32(mData);


В Integer введенное число.

А если пного надо ввести много и спрашуте :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог