Форум программистов, компьютерный форум CyberForum.ru

"Угадай число" (напишите программу, хочу проверить со своей). - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Заменить в каждой строке элементы с наибольшим значением нулём http://www.cyberforum.ru/cpp-beginners/thread327586.html
Дан текстовый файл, состоящий из одной или нескольких строк. Каждая строка файла содержит числа,разделенные пробелами. Заменить в каждой строке элементы с наибольшим значением нулём. Создать файл, который будет содержать данные исходного файла, а затем данные преобразованного файла. Пожалуйста. . . Очень надо. . .:(
C++ Задается положительное действительное чисто R Решите очень нужно , Задается положительное действительное чисто R. Найти положительные действительные R1,R2,...,Rn, Ri<4,i=1,...,n, такие, что R=R1*R2*...*Rn=R1+R2+...+Rn http://www.cyberforum.ru/cpp-beginners/thread327572.html
Удалить из бинарного файла, в котором записаны целые числа все четные элементы. C++
Решите очень нужно. Удалить из бинарного файла, в котором записаны целые числа все четные элементы.
Шаблон класса комплексных чисел C++
Ребят, выручайте. завтра экзамен и нужно сделать задачу, а у меня никак не получается. Создать шаблон класса комплексных чисел различной точности.
C++ CBitmapButton http://www.cyberforum.ru/cpp-beginners/thread327523.html
Решил для написания ГУЙ выбрать MFC, но мне не нравятся стандартные кнопки. Прочитал про CBitmapButton, создал картинки, и есть вопрос как при помощи AppWizard создать CBitmapButton?
C++ Решить систему уравнений Вычислить систему: {sin^2(x), x<0 {1-cos(2*x+1), x≥0 на с++ Спасибо подробнее

Показать сообщение отдельно
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
30.06.2011, 17:24     "Угадай число" (напишите программу, хочу проверить со своей).
Цитата Сообщение от vortexx1 Посмотреть сообщение
Напиши лучше программу, которая так же отгадывает у пользователя его число, а он только вводит больше/меньше. ИМХО, так сложнее и интереснее.
Вот начиркал прогу, вы указывайте диапазон и число попыток компьютеру, своё число держите в уме, подсказыайте ему вот комманды: меньше, больше, угадал.
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <time.h>
 
wchar_t  wtolower(wchar_t  ch)  {
     if(ch >= 1072)
         return  ch;
     if(ch + 0x20 >= 0x430 && ch + 0x20 <= 0x44F)
         return ch + 0x20;
     return ch;
}
 
 
bool  wstricmp(const wchar_t*  src, const wchar_t*  dst) {
      while( wtolower(*src) == wtolower(*dst) ) {
           *src++;
           *dst++;
           if( *src == L'\0' && *dst == L'\0')
                return true;
      }
      return  false;
}
 
 
//  диапазон угадывания: first < N < last
void  main(void) {
 
   srand(time(NULL));
   setlocale(LC_ALL, "Russia");  // "rus_rus.866" - в MS VC++ 6.0 такую локаль ставьте а не "Russia"
   system("color 17");
   const wchar_t*  CMD[4] = { L"меньше", L"больше", L"угадал" };
 
prev:
   int first, last, pos, counter = 1, number = 0;
 
   wprintf(L"Задумайте число в уме, компьютер попробует его угадать, задайте диапазон.\nОт: ");
   wscanf(L"%d", &first);
   wprintf(L"До: ");
   wscanf(L"%d", &last);
   wprintf(L"Максимальное число попыток, чтобы угадать: ");
   wscanf(L"%d", &number);
 
   wchar_t   str[32];    
 
   while(1) {
       pos = last - first;
       if(pos <= 0){
          wprintf(L"Вы наверное жульничаете !\n");
          goto jump;
          break;
       }
       pos = first + rand() % pos;
       wprintf(L"Вот это число: %d\n",  pos);
       wprintf(L"\t\tВаш ответ: ");
       wscanf(L"%s", str);
 
       if( wstricmp(str,  CMD[0]))    // меньше
             last  = pos;
       else if( wstricmp(str, CMD[1])) // больше
             first = pos + 1;
       else if(wstricmp(str, CMD[2]))   // угадал
             break;
       else {
             wprintf(L"Неизвестная комманда !\n");
             continue;
       }
       counter++;
       if(counter > number)
            break;
   }
 
   if(counter <= number)
         wprintf(L"Компьютер угадал ваше задуманное число за N - %d попыток.\n\n", counter);
   else
         wprintf(L"Очень жаль что я не угадал...\n\n");
jump:
   wprintf(L"Начать заново, Да или Нет ? _ ");
   wscanf(L"%s", str);
   if(wstricmp(str, L"да")) {
        system("cls");
        goto  prev;
   }
 
}
 
Текущее время: 07:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru