Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
Naglus
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
#1

Как сделать так чтобы простейшая программа запускалась сначало

04.04.2011, 17:40. Просмотров 2333. Ответов 25
Метки нет (Все метки)

Предположим есть самая простая программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
#include <cmath>
int main()
{
    double c;
    cout << "Enter a number of points: ";
    cin >> c;
    double wer = c - 1;
    double ns = c * 0.5;
    double an = wer * ns;
    cout << "Enter a number of lines " << an;
    cin.get();
    cin.get();
    return 0;
}

Я хочу чтобы вместо:
Enter a number of points:х
Enter a number of lines:y
(тоесть теперь я должен её закрыть, открыть снова и так каждый раз)

Она показывала так:
Enter a number of points:х
Enter a number of lines:y

Enter a number of points:к
Enter a number of lines:е

Enter a number of points:а
Enter a number of lines:м

Enter a number of points:в
Enter a number of lines:с

....... и тд.

Что мне надо сделать для этого?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2011, 17:40
Ответы с готовыми решениями:

Как сделать так, чтобы в окне, созданом OpenGL, рисовали 2 потока?
Вот не знаю, где создать тему, с одной стороны это надо в разделе OpenGL, с...

Как сделать так, чтобы две разные программы могли работать с одной и той же областью оперативной памяти?
Собственно даже незнаю куда копать. Пробовал в одной программе вывести...

что нужно сделать чтобы программа запускалась на тех компах где не стоить Builder?
Всем привет! подскажите пожалуйста, что нужно сделать чтобы программа...

Сделать так, чтобы программа при запуске требовала привилегии администратора
Как можно сделать, что бы программа при запуске требовала UAC? (ну, что бы при...

Как скомпилировать программу на XE8 чтобы запускалась на любом компьютере ?
Как скомпилировать программу на XE8 чтобы запускалась на любом компьютере ?

25
skaa
Хочу в Исландию
1035 / 834 / 119
Регистрация: 10.11.2010
Сообщений: 1,629
04.04.2011, 18:05 #2
Перед оператором return 0; надо поставить к примеру goto mrp;, а оператор cout << "Enter a number of points: "; заменить на mrp:cout << "Enter a number of points: ";
1
Naglus
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
04.04.2011, 19:52  [ТС] #3
Спасибо
0
-=ЮрА=-
Заблокирован
Автор FAQ
05.04.2011, 09:31 #4
Операции безусловного перехода goto не рекомендованы в высокоуровневом программироваии, лично я сделал бы рекурсивный вызов тела main()
C++
1
2
3
4
5
int main()
{
///
return main()
}
о на данную конструкцию компилятор может ругаться, поэтому проще вот так сделать
C++
1
2
3
4
5
void main()
{
//
main()
}
1
Хохол
Эксперт С++
475 / 443 / 34
Регистрация: 20.11.2009
Сообщений: 1,292
05.04.2011, 09:36 #5
-=ЮрА=-, ИМХО, это выглядит на порядок страшнее, чем с goto.
Naglus, занесите тело всей программы в какой-нибудь цикл.
2
-=ЮрА=-
Заблокирован
Автор FAQ
05.04.2011, 16:45 #6
Хохол, как по мне рекурсия проще да и код покороче будет
1
gGrn-7DA
мну довольно <(-__-)l
205 / 194 / 15
Регистрация: 17.01.2010
Сообщений: 2,397
Завершенные тесты: 1
05.04.2011, 16:51 #7
Сглашусь с Хохол - цикл выглядит намного лучше, он не требует дополнительного выделения памяти на каждый проход и он проще в понимании новичков, коим является TC.
0
nxnx
Формучанин
362 / 293 / 41
Регистрация: 02.11.2010
Сообщений: 1,234
05.04.2011, 17:39 #8
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Операции безусловного перехода goto не рекомендованы в высокоуровневом программироваии
кем? вами?
иногда бывают случаи когда без goto никак не обойтись.
1
Хохол
Эксперт С++
475 / 443 / 34
Регистрация: 20.11.2009
Сообщений: 1,292
05.04.2011, 17:41 #9
Цитата Сообщение от nxnx Посмотреть сообщение
кем? вами?
Дейкстрой.

Цитата Сообщение от nxnx Посмотреть сообщение
иногда бывают случаи когда без goto никак не обойтись.
Это какие?
1
nxnx
Формучанин
362 / 293 / 41
Регистрация: 02.11.2010
Сообщений: 1,234
05.04.2011, 17:48 #10
Цитата Сообщение от Хохол Посмотреть сообщение


Это какие?
например когда нужно выйти из цикла в цикле, приэтом это не конец процедуры.
1
Хохол
Эксперт С++
475 / 443 / 34
Регистрация: 20.11.2009
Сообщений: 1,292
05.04.2011, 17:58 #11
Дополнительную булевскую переменную завести невозможно?

Добавлено через 1 минуту
Да, это не очень удобно, C++ и C# не хватает labeled loops, как в джаве; но возможно.
1
wolf.diesel
14 / 14 / 1
Регистрация: 04.04.2011
Сообщений: 70
05.04.2011, 18:10 #12
простейший способ:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
#include <cmath>
int main()
{
    double c;
while(true){
    cout << "Enter a number of points: ";
    cin >> c;
    double wer = c - 1;
    double ns = c * 0.5;
    double an = wer * ns;
    cout << "Enter a number of lines " << an;
    cin.get();
    cin.get();
}
    return 0;
}
Дальше, если хотим заканчивать программу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
#include <cmath>
int main()
{
    double c;
    bool ff = false; //инициализируем ff
while(!ff){
    cout << "Enter a number of points: ";
    cin >> c;
    double wer = c - 1;
    double ns = c * 0.5;
    double an = wer * ns;
    cout << "Enter a number of lines " << an;
    cin.get();
    cin.get();
//здесь предусмотреть код, который выставляет ff = true, например при введении какого то значения с консоли
}
    return 0;
}
Ато понагородили тут возвраты в мейн, программисты блин...

Добавлено через 1 минуту
Цитата Сообщение от nxnx Посмотреть сообщение
кем? вами?
иногда бывают случаи когда без goto никак не обойтись.
Если вы не можете обойтись без гоуту, вы не умеете программировать, либо составлять алгоритм.
1
Хохол
Эксперт С++
475 / 443 / 34
Регистрация: 20.11.2009
Сообщений: 1,292
05.04.2011, 18:10 #13
wolf.diesel, do {...}whle(...) немношко лучше ^_^
1
gGrn-7DA
мну довольно <(-__-)l
205 / 194 / 15
Регистрация: 17.01.2010
Сообщений: 2,397
Завершенные тесты: 1
05.04.2011, 18:15 #14
goto понятен до безобразия - это его плюс. Новичкам он бывает полезен...
1
wolf.diesel
14 / 14 / 1
Регистрация: 04.04.2011
Сообщений: 70
05.04.2011, 18:35 #15
Цитата Сообщение от Хохол Посмотреть сообщение
wolf.diesel, do {...}whle(...) немношко лучше ^_^
Единственная разница - время(место) проверки аргумента.
1
Naglus
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
05.04.2011, 18:40  [ТС] #16
Спасибо большое, это очень полезная информация.
0
Хохол
Эксперт С++
475 / 443 / 34
Регистрация: 20.11.2009
Сообщений: 1,292
05.04.2011, 19:15 #17
do while используют, когда один раз действие обязательно должно совершиться. У нас как раз такой случай. Такая уж заведена идиома. А так одна лишняя проверка делается - первая.
1
nxnx
05.04.2011, 20:23
  #18

Не по теме:

Цитата Сообщение от wolf.diesel Посмотреть сообщение
Если вы не можете обойтись без гоуту, вы не умеете программировать, либо составлять алгоритм.
http://www.cyberguru.ru/programming/...p2-page48.html
http://ru.wikipedia.org/wiki/GOTO

1
wolf.diesel
14 / 14 / 1
Регистрация: 04.04.2011
Сообщений: 70
05.04.2011, 21:44 #19
И даже Дохлоптица вы не удосужились прочитать внимательно.
Есть break & continue.
Я программирую уже 8 лет. Мне не встречались алгоритмы, в которых жизненно необходим GOTO.
0
ForEveR
В астрале
Эксперт С++
7995 / 4754 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
06.04.2011, 18:29 #20
nxnx, В С++ кроме булевой переменной или счетчика есть еще блоки try/catch которые помогают, хотя это тоже крайне нежелательно, но менее чем goto.
0
06.04.2011, 18:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2011, 18:29

Работающая программа только нужно с ней сделать так, чтобы центры рисовались у треугольников темже цветом,что и треугольник подскажите пожалуйста
#include &lt;vcl.h&gt; #pragma hdrstop #include &quot;Unit1.h&quot;...

Надо сделать так если программа запущена с параметром -admin тогда написать доступ открыт. Как это сделать?
Надо сделать так если программа запущена с параметром -admin тогда написать...

Как сделать так, чтобы по оси х выводилась дата в chart
Имеется следующая структура: a.double - дата a.float - значение параметра....


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

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

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