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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
svk2140
-8 / 0 / 1
Регистрация: 04.07.2013
Сообщений: 268
#1

оооочень странно не выполняется условие - C++

05.07.2013, 19:59. Просмотров 1784. Ответов 38
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
    bool c = true;
    if(c == true)
    {
        cout << "w" << endl;
        loading();
        c = false;
    }
этот код должен выполнятся вроде бы 1 раз, но он выполняется постоянно.

вот код программы (код который вверху в начале main)

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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
 
bool petla = true;
int main();
 
int w = 0;
int age2[] = {17,24};
int *age = new int;
string nema2[] = {"roma","dima"}; 
string name[] = {"roma","dima"};
 
//***************************************************************************************
 
void loading()
{
    fstream file2;
    file2.open ("c:\\baza_save_age.txt");
    for(int i = 0; i < 2;i++)
    {
        file2 >> age[i];
    }
    file2.close();
        
    cout << "loading baza age" << endl << endl;
 
    system("del c:\\baza_save_age.txt");
    system("@echo off > c:\\baza_save_age.txt");
    
    for(int i = 0;i < 2;i++)
    {
        cout << age[i] << " ";
    }
}
 
//***************************************************************************************
    
void baza()
{
        do
        {
            
            cout << "vvedite id: ";
            int id;
            cin >> id;
            
            if(id > 0 && id < 3)
            {
                cout << endl << "age: " << age[id-1] << endl << "name: " << name[id-1] << endl;
            }
            
            if(id < 1 || id > 2)
            {
                cout << "error" << endl;
            }
            do
            {
                cout << endl << "hotite prodolzit?: ";
                string vopros;
                cin >> vopros;
                
                if(vopros == "net")
                {
                    cout << endl;
                    main();
                }
                if(vopros != "da" && petla != false)
                {
                    cout << endl << "error(!=(da,net))" << endl;
                }
                if(vopros == "da")
                {
                    cout << endl;
                    baza();
                }
            }
            while(petla);
        }
        while(petla);
}
 
//********************************************************************************
 
void function()
{
            cout << "dopolnitelnie funkchii" << endl
            << "1 - naiti samogo starshego" << endl
            << "2 - naiti srednij vozrast" << endl
            << "3 - redaktor" << endl << endl
            << "vvedite punct: ";
            
            int punct;
            cin >> punct;
            
            if(punct < 1 || punct > 3)
            {
                cout << "error" << endl;
            }
            
            if(punct == 1)
            {
                int a = 0;
                int b = 0;
                for(int i = 0 ; i < 2 ; i++)
                {
                    if(a < age[i])
                    {
                        a = age[i];
                        b = i;
                    }
                }
                cout << endl << "age: " << age[b] << endl << "name: " << name[b] << endl << endl;
                main();
            }
            if(punct == 2)
            {
                    int resultat = 0;
                    for(int i = 0 ; i < 2 ; i++)
                    {
                        resultat += age[i];
                    }
                    resultat /= 2;
                    cout << endl << "srednij vozrast: "<< resultat << endl << endl;
                    main();
            }
}
 
//********************************************************************************
 
int main()
{
    bool c = true;
    if(c == true)
    {
        cout << "w" << endl;
        loading();
        c = false;
    }
    do
    {   
        cout << endl << endl;
        {
            cout << "punct list" << endl
            << "1 - baza dannix" << endl
            << "2 - dopolnitelnie funkchii" << endl
            << "3 - save end exit" << endl << endl
            << "vvedite punct: ";
            
            int punct;
            cin >> punct;
            
            cout << endl;
            
            if(punct < 1 || punct > 3)
            {
                cout << "error" << endl << endl;
            }
            if(punct == 2)
            {
                function();
            }   
            if(punct == 1)
            {
                baza();
            }
            if(punct == 3)
            {           
                fstream file1;
                file1.open ("c:\\baza_save_age.txt");
                for(int i = 0;i < 2;i++)
                {
                    file1 << age2[i] << " "; 
                }
                file1.close();
                
                petla = false;
                return false;
            }
        }
    }
    while(petla);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2013, 19:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос оооочень странно не выполняется условие (C++):

Не выполняется условие - C++
Если ввести в консольном приложении строку Terminator, то должно выполниться условие и выведется текст That's Right. Но оно почему-то не...

Не выполняется условие if - C++
Нужна помощь не работает 13-я строка. #include &lt;iostream&gt; #include &lt;stdafx.h&gt; double f(double ** a1, int l, int m) { int...

Не выполняется условие - C++
Код как таковой работает но единственное что не выводит так это ответ при нажатии 0 Как нажимаю на ноль он должен написать c=0 но он...

Не выполняется условие - C++
При вводе единицы должно вывестись сообщение на экран, однако этого не происходит. MS Visual Studio #include &lt;cstdlib&gt; #include...

Не выполняется условие - C++
Условие задачи: На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке...

Не выполняется условие! - C++
Здравствуйте! подскажите пожалуйста по какой причине у меня может не выполняться условие проверки страны? void country(TEda * Start){ ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
metagalaxy
7 / 7 / 2
Регистрация: 18.02.2012
Сообщений: 61
05.07.2013, 20:30 #16
Цитата Сообщение от Tiva Посмотреть сообщение
а эти строки не находятся в цикле же. где там цикл то? это первые строки мейна
А зачем программе переходить к следующим строкам, если цикл постоянно true?
0
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
05.07.2013, 20:30 #17
Цитата Сообщение от svk2140 Посмотреть сообщение
неправильно Коментарии сделал
C++
1
c = false; //меняем значение переменной, чтоб если компилятор перепутает кодовое слово if на кодовое слово while, не произошел бесконечный цикл
надо заменить на комментарий
C++
1
//при 2 использовании функции main функция loading не запускается
я что-то не догоняю, но как мейн может отработать больше одного раза?
0
svk2140
-8 / 0 / 1
Регистрация: 04.07.2013
Сообщений: 268
05.07.2013, 20:32  [ТС] #18
Цитата Сообщение от Tiva Посмотреть сообщение
я что-то не догоняю, но как мейн может отработать больше одного раза?
я же потом вызываю main)
0
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
05.07.2013, 20:32 #19
Цитата Сообщение от metagalaxy Посмотреть сообщение
А зачем программе переходить к следующим строкам, если цикл постоянно true?
да где цикл то?
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    bool c = true;
    if(c == true)
    {
        cout << "w" << endl;
        loading();
        c = false;
    }
    ....
}
вот цитируемый тобою код из функции main
где
здесь
цикл?
0
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
05.07.2013, 20:33 #20
Tiva, автор повтороно вызывает функцию main();, глянь код через ctrl+f в браузере

Не по теме:

кто продал 100 грамм марихуаны автору?

1
svk2140
-8 / 0 / 1
Регистрация: 04.07.2013
Сообщений: 268
05.07.2013, 20:33  [ТС] #21
Цитата Сообщение от 120° Посмотреть сообщение
svk2140, скажи хоть что должна делать программа
это база данных с некоторыми функциями
C++
1
2
3
4
5
            cout << "dopolnitelnie funkchii" << endl
            << "1 - naiti samogo starshego" << endl
            << "2 - naiti srednij vozrast" << endl
            << "3 - redaktor" << endl << endl
            << "vvedite punct: ";
0
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
05.07.2013, 20:35 #22
Цитата Сообщение от nexen Посмотреть сообщение
Tiva, автор повтороно вызывает функцию main();, глянь код через ctrl+f в браузере
я даже не знал что мейн можно вызвать в мейне. что его вообще можно где-то вызвать
и все равно, туда не передаются же при вызове никакие параметы, значит bool c=true будет тру, и вызывай сколько угодно раз, c==false не будет
0
120°
12 / 10 / 1
Регистрация: 01.07.2013
Сообщений: 62
05.07.2013, 20:36 #23
Цитата Сообщение от Tiva Посмотреть сообщение
я даже не знал что мейн можно вызвать в мейне.
можно вызывать. так же как и обычную функцию
0
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
05.07.2013, 20:38 #24
Цитата Сообщение от 120° Посмотреть сообщение
можно вызывать. так же как и обычную функцию
да, но
bool c=true;
if (c==true)
всегда будет верно
хоть миллиард раз вызывай мейн, параметров при вызове мейна нету, значит с никак не переопределится, и будет истинно. и толку от этого блока условий и вообще переменной - нету
0
svk2140
-8 / 0 / 1
Регистрация: 04.07.2013
Сообщений: 268
05.07.2013, 20:40  [ТС] #25
Цитата Сообщение от Denisqwwq Посмотреть сообщение

Не по теме:

можно ссылку на ваши "уроки" ?

ну только если не поставишь из-за этого форума и моего возраста (17) мне дизлайки) ну ладно вот уроки...
http://www.youtube.com/watch?v=XBrwzgsjJpA
0
120°
12 / 10 / 1
Регистрация: 01.07.2013
Сообщений: 62
05.07.2013, 20:52 #26
Цитата Сообщение от svk2140 Посмотреть сообщение
оооочень странно не выполняется условие
что написал, то и выполняется. компьютер никогда не ошибается. ошибаются только программисты
1
Denisqwwq
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
05.07.2013, 21:03 #27
svk2140,

Не по теме:

Проанализируйте предыдущие темы..
Вам неоднократно исправляли ваши ошибки, но вы просто игнорируете, пытаясь ввести свой стандарт программирования на c++.
Ещё и людей такому учите.
Извините, если я обидел, Вас.

0
svk2140
-8 / 0 / 1
Регистрация: 04.07.2013
Сообщений: 268
05.07.2013, 21:05  [ТС] #28
Цитата Сообщение от Denisqwwq Посмотреть сообщение
svk2140,

Не по теме:

Проанализируйте предыдущие темы..
Вам неоднократно исправляли ваши ошибки, но вы просто игнорируете, пытаясь ввести свой стандарт программирования на c++.
Ещё и людей такому учите.
Извините, если я обидел, Вас.

да нет вы не обидели, если вы не поняли что я этот материал учу, а в учёбе без ошибок никак) ну и я не выкладываю видио с ошибками же! у меня всё на видио работает)
0
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
05.07.2013, 21:06 #29
svk2140, ну допустим в первом уроке у вас int main(), но return нет. Ошибка, однако.

Не по теме:

p.s У вас уже -72 о_О

0
svk2140
-8 / 0 / 1
Регистрация: 04.07.2013
Сообщений: 268
05.07.2013, 21:10  [ТС] #30
Цитата Сообщение от nexen Посмотреть сообщение
svk2140, ну допустим в первом уроке у вас int main(), но return нет. Ошибка, однако.

Не по теме:

p.s У вас уже -72 о_О

1 ну модераторы зачем так над пользователем глумиться та?)
2 у меня всё работает win7 среда geany. это значит что и у других будет работать), а зачем ненужные строки вводить тогда?)

Добавлено через 1 минуту
и пожалуйста верните мой 0 + тут походу - ставить нельзя)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2013, 21:10
Привет! Вот еще темы с ответами:

if выполняется, не смотря на условие - C++
Нужно с помощью метода итераций уточнить корень уравнения 1.8*x^4-sin(10*x)=0 на промежутке . Возникла проблема при проверке условия в теле...

Не выполняется условие в while цикле - C++
Привет, пытаюсь протестировать код из книги, но у меня внезапно перестал правильно работать цикл. Вот такой код: #include...

Не выполняется условие в цикле for - C++
Доброго времени суток. Почему не выполняется код в цикле for? #include &lt;iostream&gt; using namespace std; int main(){ for (int...

Не выполняется условие. Причина не ясна - C++
Вот код /* Расчет количества и веса арматуры */ #include &lt;stdio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.07.2013, 21:10
Ответ Создать тему
Опции темы

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