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

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

04.04.2011, 17:40. Просмотров 2685. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2011, 17:40
Ответы с готовыми решениями:

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

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

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

Нужно сделать так, чтобы программа запускалась только если ей передать заданный аргумент.
сразу приношу извинения, но я не нащёл подходящего раздела. суть такова. есть...

25
Хочу в Исландию
1038 / 837 / 119
Регистрация: 10.11.2010
Сообщений: 1,631
04.04.2011, 18:05 2
Перед оператором return 0; надо поставить к примеру goto mrp;, а оператор cout << "Enter a number of points: "; заменить на mrp:cout << "Enter a number of points: ";
1
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,293
05.04.2011, 09:36 5
-=ЮрА=-, ИМХО, это выглядит на порядок страшнее, чем с goto.
Naglus, занесите тело всей программы в какой-нибудь цикл.
2
Заблокирован
Автор FAQ
05.04.2011, 16:45 6
Хохол, как по мне рекурсия проще да и код покороче будет
1
мну довольно <(-__-)l
214 / 203 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
05.04.2011, 16:51 7
Сглашусь с Хохол - цикл выглядит намного лучше, он не требует дополнительного выделения памяти на каждый проход и он проще в понимании новичков, коим является TC.
0
Формучанин
362 / 293 / 41
Регистрация: 02.11.2010
Сообщений: 1,234
05.04.2011, 17:39 8
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Операции безусловного перехода goto не рекомендованы в высокоуровневом программироваии
кем? вами?
иногда бывают случаи когда без goto никак не обойтись.
1
Эксперт С++
475 / 443 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
05.04.2011, 17:41 9
Цитата Сообщение от nxnx Посмотреть сообщение
кем? вами?
Дейкстрой.

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


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

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

Не по теме:

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

1
14 / 14 / 1
Регистрация: 04.04.2011
Сообщений: 70
05.04.2011, 21:44 19
Цитата Сообщение от nxnx Посмотреть сообщение
И даже Дохлоптица вы не удосужились прочитать внимательно.
Есть break & continue.
Я программирую уже 8 лет. Мне не встречались алгоритмы, в которых жизненно необходим GOTO.
0
В астрале
Эксперт С++
8022 / 4779 / 654
Регистрация: 24.06.2010
Сообщений: 10,558
06.04.2011, 18:29 20
nxnx, В С++ кроме булевой переменной или счетчика есть еще блоки try/catch которые помогают, хотя это тоже крайне нежелательно, но менее чем goto.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2011, 18:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Нужно добавить проект на гугл-диск, как сделать так, чтобы запускалась сразу консоль, одним файлом?
Нужно добавить проект на гугл-диск, как сделать так, чтобы запускалась сразу консоль, одним файлом?

Как сделать так, чтобы программа понимала русские буквы?
И если знаете как убрать этот огромный массив символов &quot;char mass2&quot; на chr виснет все... Так...

Как сделать так чтобы программа открывала txt файл?
Допустим,я создал тхт файл и нужно его открыть с помощью запуска программы,как так сделать?

Как сделать, так чтобы программа выводила наименование цвета, как здесь?
http://colors.aeio.ru/color/fffffe Я создал базу из 1002 цветов но это вообще не то. Я подгрузил...


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

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

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