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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2011, 16:04   #11
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну так у C# и С++ похожий синтаксис, все, что находится за пределами функции main в этом коде вам не нужно. Вывод сообщений и ввод значений переменных пользователем вы же сможете сами написать?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 23.09.2011, 16:29   #12
афродита
Пользователь
 
Регистрация: 08.04.2010
Сообщений: 14
По умолчанию

скорей всего нет
афродита вне форума Ответить с цитированием
Старый 23.09.2011, 17:23   #13
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что значит "скорей всего"? Вы хотя бы попробуйте ) Расскажите о результатах, что конкретно не получается.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 23.09.2011, 18:02   #14
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

Код:
using System;

namespace ConsoleApplication1
{
    internal class Program
    {
        private static void Main()
        {
            var limits = GetLimits();
            var value = ( new Random( DateTime.Now.Millisecond ) ).Next( limits.Item1, limits.Item2 );
            var attemptsCount = 0;
            int customValue;
            do
            {
                customValue = GetNewValue();
                Console.WriteLine( "{0}", customValue > value ? " Загаданное число меньше" : customValue != value ? "Загаданное число больше " : "Угадал!" );
                attemptsCount++;
            }
            while ( value != customValue );
            Console.WriteLine( "Число угадано с {0} попытки", attemptsCount );
            Console.ReadKey();
        }

        private static int GetNewValue()
        {
            Console.WriteLine( "Введите значение" );
            return TryCatchConverter( Console.ReadLine() ) ?? 0;
        }

        private static Tuple< int, int > GetLimits()
        {
            Console.WriteLine( "Левый предел: " );
            var item1 = TryCatchConverter( Console.ReadLine() ) ?? 0;
            Console.WriteLine( "Правый предел: " );
            return new Tuple< int, int >( item1, TryCatchConverter( Console.ReadLine() ) ?? 0 );
        }

        private static int? TryCatchConverter( string s )
        {
            try
            {
                return Convert.ToInt32( s );
            }
            catch ( Exception )
            {
                Console.WriteLine( "Не могу преобразовать в целое число" );
            }
            return null;
        }
    }
}
Вот тебе код на C#, но тебе тоже, наверное, не подойдет..))))
Не давай организму поблажки, каждый день тренируй его в шашки..

Последний раз редактировалось Скарам; 23.09.2011 в 18:35. Причина: Забыл про количество попыток..))
Скарам вне форума Ответить с цитированием
Старый 23.09.2011, 23:40   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Скарам, издеваетесь?...

Это пример даже я не смог расскусить (впрочем, это говорит о моём крайне низком знании, а точнее - полном незнании C#)

выдаётся ошибка
Цитата:
Не удалось найти имя типа или пространства имен 'Tuple' (возможно, пропущена используемая директива или ссылка на сборку) (CS0246) Program.cs:38,24
но можно сделать так ("в лоб", по старинке ):
Код:
using System;

namespace Console1
{
    internal class Program
    {
        private static void Main()
        {
            Console.WriteLine( "Левый предел: " );
            int limit_low =  TryCatchConverter( Console.ReadLine() ) ?? 0;
            Console.WriteLine( "Правый предел: " );
            int limit_high = TryCatchConverter( Console.ReadLine() ) ?? 0;
            var value = ( new Random( DateTime.Now.Millisecond ) ).Next( limit_low, limit_high );
            var attemptsCount = 0;
            int customValue;
            do
            {
                customValue = GetNewValue();
                Console.WriteLine( "{0}", customValue > value ? " Загаданное число меньше" : customValue != value ? "Загаданное число больше " : "Угадал!" );
                attemptsCount++;
            }
            while ( value != customValue );
            Console.WriteLine( "Число угадано с {0} попытки", attemptsCount );
            Console.ReadKey();
        }

        private static int GetNewValue()
        {
            Console.WriteLine( "Введите значение" );
            return TryCatchConverter( Console.ReadLine() ) ?? 0;
        }
        
        private static int? TryCatchConverter( string s )
        {
            try
            {
                return Convert.ToInt32( s );
            }
            catch ( Exception )
            {
                Console.WriteLine( "Не могу преобразовать в целое число" );
            }
            return null;
        }
    }
}
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.09.2011, 09:34   #16
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

Serge_Bliznykov, Tuple появился в .NET 4, это очень удобная обертка для типов, например, из запроса надо передать анонимный тип... Как это делалось раньше? Отдельно писался класс или в редких случаях использовался словарь, теперь Tuple берет все на себя..)))..
Цитата:
но можно сделать так ("в лоб", по старинке ):
Можно, только мне хотелось, чтобы больше информации(для студента) уместилось в коде. Ибо сдать лабу без пояснений ... )
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 24.09.2011, 10:00   #17
prorok_zla
Новичок
Джуниор
 
Регистрация: 23.09.2011
Сообщений: 2
По умолчанию

Очень примитивная версия, зато всё понятно, должно быть
Да, как тут сделать сохранение отступов?

Код:
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Random rnd = new Random();

                Console.WriteLine("Введите нижнюю границу");
                int low = int.Parse(Console.ReadLine());

                Console.WriteLine("Введите нижнюю границу");
                int high = int.Parse(Console.ReadLine());

                int num = rnd.Next(low, high + 1);

                do
                {
                    Console.WriteLine("Введите ВАШЕ чисо");
                    int n = int.Parse(Console.ReadLine());

                    if (n > num)
                        Console.WriteLine("Число меньше вашего");
                    else if (n < num)
                        Console.WriteLine("Число больше вашего");
                    else
                    {
                        Console.WriteLine("Совершенно верно!");
                        break;
                    }

                }
                while (true);
            }
            catch (Exception)
            {
                Console.WriteLine("Программная ошибка! :( ");
            }

            Console.ReadKey();
        }
    }
}

________
Для того, чтобы отступы сохранялись, код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 24.09.2011 в 15:30.
prorok_zla вне форума Ответить с цитированием
Старый 27.10.2011, 07:54   #18
афродита
Пользователь
 
Регистрация: 08.04.2010
Сообщений: 14
По умолчанию

а как эту программу написать в форме???точнее я не могу понять как эту строку int num = rnd.Next(low, high + 1);
написать в форме
афродита вне форума Ответить с цитированием
Старый 27.10.2011, 08:22   #19
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

на форму нужно поместить нужное число контролов (для задания границ и задания числа пользователя). Например, TextBox'ы можно использовать.

Добавивить кнопку "Проверить число". На ней поместить код проверки.
если число угадано. убирать комбобокс для ввода числа пользователя, писать поздравления, играть музыку и т.д. и т.п...

Для вывод результатов я бы воспользовался банальным
MessageBox.Show("...")
Код:
                    if (n > num)
                        MessageBox.Show("Число меньше вашего");
                    else if (n < num)
                        MessageBox.Show("Число больше вашего");
                    else
                    {
                        MessageBox.Show("Совершенно верно!");
                    }

p.s. извините, но я вообще не понимаю, что у Вас вызывает затруднения.
Может быть, стоит задуматься о том, что Вам НЕ БЫТЬ программистом...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра "Угадай число" MaxOvg Помощь студентам 2 20.05.2011 15:07
Игра"Угадай число" в Паскале.(вставка таблицы рекордов) valli Помощь студентам 1 03.01.2011 14:04
Игра,угадай задуманное число,Ошибка деления на ноль!!! Rid Помощь студентам 4 22.10.2009 21:12
Pascal - Игра "Угадай число" d_b Помощь студентам 8 16.02.2009 09:33
[Delphi] Игра "Угадай число" Bomber Помощь студентам 15 05.06.2008 09:34