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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
paRadoX-2
0 / 0 / 0
Регистрация: 24.10.2010
Сообщений: 18
#1

Функция не прекращает работать - C++

13.06.2011, 16:42. Просмотров 353. Ответов 2
Метки нет (Все метки)

Здравствуйте. Нужно написать игру, цель которой угадать натуральное число которое придумал компьютер, в заданном промежутке от нуля, за заданное количество попыток. Проблема в том, что когда я выбираю первый пункт меню у меня начинает работать функция, отвечающая за игру, но после её завершения она начинает работать поновой. Я в панике. Подозреваю, что дело в переменной v, но если после запуска функции игры присвоить ей значение например 0, то всё равно не получается ничего. Что делать я в панике. Помгите пожалуйста

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
#include <stdio.h>
#include <windows.h>
#include <conio.h>
#include <stdlib.h>
#include <ctime>
#include <iostream> 
#include <cstdio>
void menu()
{
printf("New game\n");
printf("Screensaver\n");
printf("Exit");
}
void igra()
{ system("cls");
  int p,n,c,k,i;
  randomize();
  printf("Ugadat' 4islo ot 0 do ");
  scanf("%i",&n);
  printf("\nKoli4estvo popitok ");
  scanf("%i",&k);
  system("CLS");
  p = random(n);
  for(i=1;i<k+1;i++)
                    {
                     printf("vvedite 4islo ");
                     scanf("%i",&c);
         if(c<p){system("CLS");printf("Sliwkom malen'koe 4islo ");}
         else if(c>p){system("CLS");printf("Sliwkom bol'woe 4islo ");}
         else if(c=p){system("CLS");printf("POBEDITEL!!!"); break;}
        if(i==k){system("CLS");printf("PORAJENIE!!!"); break;}
                     }
  system("pause");
}
 
int main()
{
int v=0,p=1;
menu();
gotoxy(15,p); printf("*");
while(v!=3){int z=getch(); gotoxy(1,1);
switch(z){
        case 72:p--; break;
        case 80:++p; break;
        case 13:v=p;
         }
         if(p>3)p=1;
         else if(p<1)p=3;
         system("cls");
         menu();
         gotoxy(15,p); printf("*");
         if(v==1){igra();};
           }
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2011, 16:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция не прекращает работать (C++):

Функция substr отказывается работать - C++
Здравствуйте! Подскажите, пожалуйста, в чем тут проблема, а то я не могу понять. Мне по заданию нужно считать строку из файла, и потом...

Функция ну никак не хочет работать - C++
Вот функция void OPEN_USER_COMMAND(System::String^ PolzCom) { System::String^ Temp = &quot;PrgBase\\&quot;; ...

Почему функция не будет работать без амперсанда? - C++
void swap(int &amp; ar1, int &amp; ar2) //функция обмена { int temp = ar1; ar1 = ar2; ar2 = temp; } почему функция НЕ будет...

Корректно ли будет работать функция realloc в пользовательском классе массива - C++
Доброго времени суток. Корректно ли будет работать функция realloc в пользовательском классе массива, если в этом массиве предполагается...

Объясните, как будет работать функция поиска Числа Фибоначчи - C++
int fib(int x) { if (x &lt; 2) return 1; else return fib(x - 1) + fib(x - 2); } Объясните на пальцах, как будет работать...

Почему while не прекращает вложенный цикл? - C++
double test; while (test&lt;=500) { for (test=0; test&lt;=600; test +=1) cout &lt;&lt; &quot;Итерация №&quot; &lt;&lt; test &lt;&lt; &quot;\n&quot;; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
grizlik78
Эксперт С++
1911 / 1443 / 112
Регистрация: 29.05.2011
Сообщений: 3,001
13.06.2011, 16:58 #2
Вместо строчки 52:
C++
1
2
3
4
5
if(v==1)
{
    v = 0;
    igra();
}
Добавлено через 2 минуты
И лучше бы это поставить перед строкой 49, а не после.
0
Avenged7Fold
2 / 2 / 0
Регистрация: 09.06.2011
Сообщений: 20
13.06.2011, 17:01 #3
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2011, 17:01
Привет! Вот еще темы с ответами:

Прекращает читать fstream после ~17000 байт - C++
Такая проблема... Я написал программу, которая считывает формат ico, сохраняет заголовок (62 байта) в структуру, и затем отрисовывает в...

Прекращает работу программу после ее запуска, в чем дело - C++
Вот код программы по указателям, в итоге должен выводить на экран значение 6, но при запуске программа виснет и прекращает свою работу,...

Программа, во время выполнения, после ввода, прекращает работу - C++
Проблема такая: Предисловие... Недавно я уже обращался сюда на форум из-за того, что с функцией randomize программа не компилировалась....

Почему программа прекращает свою работу, не дойдя до конца конструктора - C++
Инструкция по запуску: &lt;имя.exe&gt; &lt;inputfilename&gt; &lt;outputfilename&gt; &lt;-s|-i&gt; &lt;-a|-d&gt; Так как в коллере есть cout &lt;&lt; &quot;Constructor passed...&quot;,...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru