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

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

Восстановить пароль Регистрация
 
paRadoX-2
0 / 0 / 0
Регистрация: 24.10.2010
Сообщений: 18
13.06.2011, 16:42     Функция не прекращает работать #1
Здравствуйте. Нужно написать игру, цель которой угадать натуральное число которое придумал компьютер, в заданном промежутке от нуля, за заданное количество попыток. Проблема в том, что когда я выбираю первый пункт меню у меня начинает работать функция, отвечающая за игру, но после её завершения она начинает работать поновой. Я в панике. Подозреваю, что дело в переменной 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2011, 16:42     Функция не прекращает работать
Посмотрите здесь:

C++ ЕХЕ файл после ввода элементов вектора прекращает работу
Как сделать, чтобы функция класса могла работать с обьектами другого класса C++
C++ Функция ну никак не хочет работать
Объясните, как будет работать функция поиска Числа Фибоначчи C++
Программа, во время выполнения, после ввода, прекращает работу C++
C++ Корректно ли будет работать функция realloc в пользовательском классе массива
C++ Прекращает работу программу после ее запуска, в чем дело
[Символьная строка] После ввода количества символов в символьной строке, программа прекращает работу C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grizlik78
Эксперт С++
 Аватар для grizlik78
1884 / 1416 / 102
Регистрация: 29.05.2011
Сообщений: 2,961
13.06.2011, 16:58     Функция не прекращает работать #2
Вместо строчки 52:
C++
1
2
3
4
5
if(v==1)
{
    v = 0;
    igra();
}
Добавлено через 2 минуты
И лучше бы это поставить перед строкой 49, а не после.
Avenged7Fold
2 / 2 / 0
Регистрация: 09.06.2011
Сообщений: 20
13.06.2011, 17:01     Функция не прекращает работать #3
Yandex
Объявления
13.06.2011, 17:01     Функция не прекращает работать
Ответ Создать тему
Опции темы

Текущее время: 16:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru