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

C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
Naglus
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
#1

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

04.04.2011, 17:40. Просмотров 2099. Ответов 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:с

....... и тд.

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

что нужно сделать чтобы программа запускалась на тех компах где не стоить Builder? C++ Builder
Сделать так, чтобы программа при запуске требовала привилегии администратора C++ Builder
Как сделать так, чтобы программа понимала русские буквы? C++
C++ Как сделать так, чтобы программа не компилилась, хотя синтаксически была бы правильной?
Сделать так, чтобы при вводе отрицательного значения программа выводила errror C++
Нужно сделать так, чтобы программа запускалась только если ей передать заданный аргумент. C++
C++ Linux Чтение клавиш. Сделать так, чтобы программа продолжала работать и не ждала ввода gerh()
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
skaa
Хочу в Исландию
1027 / 826 / 75
Регистрация: 10.11.2010
Сообщений: 1,626
04.04.2011, 18:05     Как сделать так чтобы простейшая программа запускалась сначало #2
Перед оператором return 0; надо поставить к примеру goto mrp;, а оператор cout << "Enter a number of points: "; заменить на mrp:cout << "Enter a number of points: ";
Naglus
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
04.04.2011, 19:52  [ТС]     Как сделать так чтобы простейшая программа запускалась сначало #3
Спасибо
-=ЮрА=-
Заблокирован
Автор 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()
}
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
05.04.2011, 09:36     Как сделать так чтобы простейшая программа запускалась сначало #5
-=ЮрА=-, ИМХО, это выглядит на порядок страшнее, чем с goto.
Naglus, занесите тело всей программы в какой-нибудь цикл.
-=ЮрА=-
Заблокирован
Автор FAQ
05.04.2011, 16:45     Как сделать так чтобы простейшая программа запускалась сначало #6
Хохол, как по мне рекурсия проще да и код покороче будет
gGrn-7DA
мну довольно <(-__-)l
203 / 192 / 1
Регистрация: 17.01.2010
Сообщений: 2,391
Завершенные тесты: 1
05.04.2011, 16:51     Как сделать так чтобы простейшая программа запускалась сначало #7
Сглашусь с Хохол - цикл выглядит намного лучше, он не требует дополнительного выделения памяти на каждый проход и он проще в понимании новичков, коим является TC.
nxnx
Формучанин
362 / 293 / 16
Регистрация: 02.11.2010
Сообщений: 1,234
05.04.2011, 17:39     Как сделать так чтобы простейшая программа запускалась сначало #8
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Операции безусловного перехода goto не рекомендованы в высокоуровневом программироваии
кем? вами?
иногда бывают случаи когда без goto никак не обойтись.
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
05.04.2011, 17:41     Как сделать так чтобы простейшая программа запускалась сначало #9
Цитата Сообщение от nxnx Посмотреть сообщение
кем? вами?
Дейкстрой.

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


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

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

Не по теме:

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

wolf.diesel
14 / 14 / 1
Регистрация: 04.04.2011
Сообщений: 70
05.04.2011, 21:44     Как сделать так чтобы простейшая программа запускалась сначало #19
И даже Дохлоптица вы не удосужились прочитать внимательно.
Есть break & continue.
Я программирую уже 8 лет. Мне не встречались алгоритмы, в которых жизненно необходим GOTO.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2011, 18:29     Как сделать так чтобы простейшая программа запускалась сначало
Еще ссылки по теме:

Сделать так, чтобы функция возвращала как целые, так и дробные значения C++
Как сделать так чтобы программа открывала txt файл? C++
Нужно добавить проект на гугл-диск, как сделать так, чтобы запускалась сразу консоль, одним файлом? C++
C++ Как сделать так чтобы в матрице присутствовали еще и нулевые элементы и программа считала их количество?
C++ Как сделать, так чтобы программа выводила наименование цвета, как здесь?

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
06.04.2011, 18:29     Как сделать так чтобы простейшая программа запускалась сначало #20
nxnx, В С++ кроме булевой переменной или счетчика есть еще блоки try/catch которые помогают, хотя это тоже крайне нежелательно, но менее чем goto.
Yandex
Объявления
06.04.2011, 18:29     Как сделать так чтобы простейшая программа запускалась сначало
Ответ Создать тему
Опции темы

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