Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
2 / 2 / 0
Регистрация: 22.04.2012
Сообщений: 43

Реализовать программу игры «Угадай число»

23.10.2012, 11:17. Показов 6976. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Реализовать программу игры «Угадай число». Компьютер «задумывает» число в выбранном пользователем интервале. Если пользователь вводит неверный ответ, то компьютер сообщает больше или меньше задуманное им число и приглашает ввести число снова. В итоге компьютер выдает сообщение вида: «Вы угадали с … попытки»
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.10.2012, 11:17
Ответы с готовыми решениями:

Реализовать программу игры "Угадай число"
Реализовать программу игры «Угадай число». Компьютер «задумывает» число в выбранном пользователем интервале. Если пользователь вводит...

Реализовать программу "угадай число"
1.Реализовать программу игры «Угадай число». Компьютер «задумывает» число в выбранном пользователем интервале. Если пользователь вводит...

Составить программу игры «Угадай число».
Составить программу игры «Угадай число». Компьютер загадывает трехзначное число при помощи генератора случайных чисел. Пользователь вводит...

11
 Аватар для Бельфегор
688 / 602 / 139
Регистрация: 08.05.2009
Сообщений: 1,098
23.10.2012, 12:38
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Enter interval start: ");
            int a = Convert.ToInt32(Console.ReadLine());
            Console.Write("Enter interval end: ");
            int b = Convert.ToInt32(Console.ReadLine());
            Random rand = new Random((int)DateTime.Now.Ticks);
            int number = rand.Next(a, b);
            Console.WriteLine("Lets begin, enter number: ");
            int tries = 0;
            int tmp = int.MinValue;
            while ((tmp = Convert.ToInt32(Console.ReadLine())) != number)
            {
                Console.WriteLine(tmp<number?"Smaller":"bigger");
                tries++;
            }
            Console.WriteLine(string.Format("You guessed in {0} tries.", tries));
        }
    }
}
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
23.10.2012, 13:00
Бельфегор, чуть поправлю
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Enter interval start: ");
            int a = Convert.ToInt32(Console.ReadLine());
            Console.Write("Enter interval end: ");
            int b = Convert.ToInt32(Console.ReadLine());
            var number = new Random().Next(a, b); 
            Console.WriteLine("Lets begin, enter number: "); 
            int tries;
            string tmp;
            for (;(tmp = Console.ReadLine()) != number; tries++)            
                Console.WriteLine("Secret numer is {0} than {1}", int.Parse(tmp)>number?"smaller":"bigger",tmp);             
            Console.WriteLine("You guessed in {0} tries.", tries); //string.Format тут не нужен, он и так неявно используется.
            Console.ReadKey(); //Надо добавлять, новички часто забывают и жалуются, что у них "Ничего не работает" :)
        }
    }
}
2
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 9
23.10.2012, 15:49
У меня по-другому:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
int count = 1;
            Console.WriteLine("\t Угадай число!");
        go: Console.Write("Введите начало интервала: ");
            int a = int.Parse(Console.ReadLine());
            Console.Write("Введите конец интервала: ");
            int b = int.Parse(Console.ReadLine());
            Random rnd = new Random();
            int chislo = rnd.Next(a, b);
            Console.Write("Введите число в отрезке [{0},{1}]: ", a, b);
            int prov = int.Parse(Console.ReadLine());
            if (prov == chislo)
            {
                Console.WriteLine("Вы угадали число!");
            }
            else
            {
                Console.WriteLine("Вы не угадали число!");
            }
            Console.WriteLine("Количество попыток = {0}", count);
            Console.Write("Хотите поробавовать заново?\nЕсли да введите Y, если нет-N\n");
            char vibor = char.Parse(Console.ReadLine());
            switch (vibor)
            {
                case 'Y':case 'y':
                    {
                        count++;
                        goto go;
                    }
                default:
                    {
                        break;
                    }
            }
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
23.10.2012, 16:20
elbrusoft, не говоря про использование goto: у вас количество попыток всегда будет равно 1. Подумайте, почему. Про стиль написания молчу.
0
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
23.10.2012, 16:29
Цитата Сообщение от Psilon Посмотреть сообщение
у вас количество попыток всегда будет равно 1. Подумайте, почему.
На худой конец тогда go: надо было прописать возле
C#
1
2
go:
Console.Write("Введите число в отрезке [{0},{1}]: ", a, b);
0
2 / 2 / 0
Регистрация: 22.04.2012
Сообщений: 43
23.10.2012, 19:48  [ТС]
Огромное всем спасибо)))
0
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 9
24.10.2012, 15:17
Psilon, кол-во попыток увеличивается, что со стилем?
0
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
24.10.2012, 15:19
Цитата Сообщение от elbrusoft Посмотреть сообщение
Psilon, кол-во попыток увеличивается, что со стилем?
Не кошерно!
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
24.10.2012, 15:20
elbrusoft, если просто: использовать goto в программах на любых языках программирования, кроме ассемблера, запрещено. Про то, что после каждой попытки загадывается другое число я вообще молчу.
0
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 9
24.10.2012, 15:43
Psilon, а если так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int count = 0;
            Console.WriteLine("\t Угадай число!");
            Console.Write("Введите начало интервала: ");
            int a = int.Parse(Console.ReadLine());
            Console.Write("Введите конец интервала: ");
            int b = int.Parse(Console.ReadLine());
            Random rnd = new Random();
            int chislo = rnd.Next(a, b);
            int prov;
            do
            {
                Console.Write("Введите число в отрезке [{0},{1}]: ", a, b);
                prov = int.Parse(Console.ReadLine());
                count++;
                if (prov == chislo)
                {
                    Console.WriteLine("Вы угадали число!");
                    Console.WriteLine("Число попыток: {0}", count);
 
                }
                else
                {
                    Console.WriteLine("Вы не угадали число!");
                    Console.WriteLine("Число попыток: {0}", count);
                }
            } while (prov!=chislo);
Вторую неделю только изучаю, goto использовать не буду, обещаю
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
24.10.2012, 15:49
elbrusoft, уже лучше. Хотя недочеты все еще есть Напрмер
C#
1
2
3
4
5
6
7
8
9
10
if(a)
{
   b();
   d();
}
else
{
   c();
   d();
}
гораздо логичнее заменить на
C#
1
2
3
4
5
if(a)
   b();
else
   c();
d();
так как в первом случае d выполняется в обоих ветках условия, гораздо естественнее вынести его за условие вообще
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.10.2012, 15:49
Помогаю со студенческими работами здесь

Составить программу игры «Угадай число»
Составить программу игры «Угадай число». Компьютер загадывает трехзначное число при помощи генератора случайных чисел. Пользователь вводит...

Реализовать генерацию случайных чисел для игры "Угадай число"
Всем привет!написал код для игры. По условию компьютер должен загадать число от 1 до 100 и пользователь должен отгадать это число за 6...

Составить программу игры "угадай число", используя оператор с постусловием
помогите найти ошибку! задача: составить программу игры &quot;угадай число&quot;, используя оператор с постусловием. В этой программе сообщение...

Реализовать игру «Угадай число», где в качестве игрока, угадывающего число, выступает компьютер
Игра «Угадай число» Реализовать игру «Угадай число», где в качестве игрока, угадывающего число, выступает компьютер. Дополнительная...

Реализовать игру «Угадай целое число».
Помогите написать программу. Правила игры следующие. Один из партнеров вводит задуманное число, а второй угадывает это число, причем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru