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

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

Войти
Регистрация
Восстановить пароль
 
Ruspect
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 7
#1

Оператор цикла while/do while - C++

08.12.2012, 18:51. Просмотров 346. Ответов 2
Метки нет (Все метки)

Всем добрый вечер! Поставили задачу в работающей прграмме, избавиться от метки М1(как следствие goto М1), чтобы программа продолжала работу, не закрывалась после выполнения какого-либо пункта. Посоветовали использовать оператор while/do while, но как, я честно сказать без понятия, помогите пожалуйста!)
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
# include <stdafx.h>
# include <iostream.h> // Библиотека ввода-вывода
# include <math.h> // Библиотека математических функций
# include <windows.h> // Главный заголовочный файл для Windows-приложений
# include <conio.h> // Библиотека для работы с консолью в текстовом режиме
# include <stdlib.h> // Библиотека специальных функций
int menu();
menu()
{
    int L;
    char fm0[]=" Функциональное меню для задач обработки одномерных массивов";
    AnsiToOem(fm0,fm0);
    cout<<fm0<<endl<<endl;
    char fm1[]="Задача 1.Вычислить и запомнить в структуре одномерного массива (таблица 1) фиксированное  количество элементов числовой последовательности, заданной рекуррентным выражением";
    AnsiToOem(fm1,fm1);
    cout<<fm1<<endl<<endl;
    char fm2[]="Задача 2.Найти минимальный элемент последовательности и его номер";
    AnsiToOem(fm2,fm2);
    cout<<fm2<<endl<<endl;
    getch(); //задержка
    cin>>L;
    system("cls"); //стирание 
    return L;
}// Конецменю
 
 
int main()
{
const int a=40;
int j; //целое
float B[a]; // на случай дробных чисел
 
M1: int L=menu();//кнопка отвечающая за меню
    if (L==1) //Составление одномерного массива
    {
        char tx1[]="Введите первый элемент B[0]:";
        AnsiToOem(tx1,tx1);
        cout<<tx1<<endl;
        cin>>B[0];
        char tx2[]="Введите второй элемент B[1]:";
        AnsiToOem(tx2,tx2);
        cout<<tx2<<endl;
        cin>>B[1];
        for (j=2; j<a; j++)
        {
            B[j]=2*(B[j-1]+B[j-2])/B[j-1];
        }
        char tx18[]="Элементы исходной последовательности:";
        AnsiToOem(tx18,tx18);
        cout<<tx18<<endl;
        for (j=0; j<a; j++)
        {
            cout<<"B["<<j<<"]="<<B[j]<<endl;
        }
        char tx3[]="Для возврата в меню нажмите любую клавишу";
        AnsiToOem(tx3,tx3);
        cout<<tx3<<endl;
        getch();
        system("cls"); 
        goto M1;
    }
    if (L==2) //Нахождение минимального элемента и его номер
    {
        float min=B[0];
        int nummin=0;
        for (j=0; j<a; j++)
        {
            if (B[j]<=min)
            {
                min=B[j];
                nummin=j;
            }
        }
        char tx18[]="Элементы исходной последовательности:";
        AnsiToOem(tx18,tx18);
        cout<<tx18<<endl;
        for (j=0; j<a; j++)
        {
            cout<<"B["<<j<<"]="<<B[j]<<endl;
        }
        char tx4[]="Минимальныйэлемент:";
        AnsiToOem(tx4,tx4);
        cout<<tx4<<" B["<<nummin<<"]="<<min<<endl;
        char tx3[]="Для возврата в меню нажмите любую клавишу";
        AnsiToOem(tx3,tx3);
        cout<<tx3<<endl;
        getch();
        system("cls");
        goto M1;
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 18:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Оператор цикла while/do while (C++):

Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры. - C++
Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры. Шаг изменения...

оператор цикла while, do...while - C++
Можно ли этот код переделать, чтоб был оператор цикла while, do...while ? #include &lt;iostream&gt; using namespace std; bool...

Оператор цикла - C++
задание 1. Найти сумму целых пол-х чисел, кратных 6 и меньших 150. задание 2.

оператор цикла WHILE - C++
задание: написать програму при помощи оператора цикла WHILE для подсчета суммы ряда с точность Е=10-4 общий член которого a(c индексом...

оператор цикла: - C++
Одного вот этого задания не хватает до зачёта, хоть вроде и элементарное:( Задание(цикл while): S = X/2! + x^3/4! + x^5/6! ...

оператор цикла - C++
задание:

2
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
08.12.2012, 19:28 #2
Она, кстати еще как-то работала без указания типа функции в 8 строке.
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
# include <stdafx.h>
# include <iostream> // ÁèáëèîòåêГ* ââîäГ*-âûâîäГ*
# include <math.h> // ÁèáëèîòåêГ* Г¬Г*ГІГҐГ¬Г*ГІГЁГ·ГҐГ±ГЄГЁГµ ГґГіГ*êöèé
# include <windows.h> // ГѓГ«Г*ГўГ*ûé Г§Г*ãîëîâî÷Г*ûé ГґГ*éë äëÿ Windows-ïðèëîæåГ*ГЁГ©
# include <conio.h> // ÁèáëèîòåêГ* äëÿ Г°Г*áîòû Г± ГЄГ®Г*ñîëüþ Гў òåêñòîâîì ðåæèìå
# include <stdlib.h> // ÁèáëèîòåêГ* ñïåöèГ*ëüГ*ûõ ГґГіГ*êöèé
using namespace std;
int menu();
int menu()
{
    int L;
    char fm0[]=" ÔóГ*êöèîГ*Г*ëüГ*îå ìåГ*Гѕ äëÿ Г§Г*Г¤Г*Г· îáðГ*áîòêè îäГ*îìåðГ*ûõ Г¬Г*ññèâîâ";
    AnsiToOem(fm0,fm0);
    cout<<fm0<<endl<<endl;
    char fm1[]="Г‡Г*Г¤Г*Г·Г* 1.Âû÷èñëèòü ГЁ Г§Г*ïîìГ*ГЁГІГј Гў ñòðóêòóðå îäГ*îìåðГ*îãî Г¬Г*Г±Г±ГЁГўГ* (ГІГ*áëèöГ* 1) ôèêñèðîâГ*Г*Г*îå  ГЄГ®Г«ГЁГ·ГҐГ±ГІГўГ® ýëåìåГ*òîâ ÷èñëîâîé ïîñëåäîâГ*òåëüГ*îñòè, Г§Г*Г¤Г*Г*Г*îé ðåêóððåГ*ГІГ*ûì âûðГ*æåГ*ГЁГҐГ¬";
    AnsiToOem(fm1,fm1);
    cout<<fm1<<endl<<endl;
    char fm2[]="Г‡Г*Г¤Г*Г·Г* 2.ГЌГ*éòè ìèГ*ГЁГ¬Г*ëüГ*ûé ýëåìåГ*ГІ ïîñëåäîâГ*òåëüГ*îñòè ГЁ ГҐГЈГ® Г*îìåð";
    AnsiToOem(fm2,fm2);
    cout<<fm2<<endl<<endl;
    getch(); //Г§Г*äåðæêГ*
    cin>>L;
    system("cls"); //Г±ГІГЁГ°Г*Г*ГЁГҐ 
    return L;
}// ГЉГ®Г*åöìåГ*Гѕ
 
 
int main()
{
const int a=40;
int j; //öåëîå
float B[a]; // Г*Г* ñëó÷Г*Г© äðîáГ*ûõ Г·ГЁГ±ГҐГ«
while (1)
{ 
 int L=menu();//ГЄГ*îïêГ* îòâå÷Г*ГѕГ№Г*Гї Г§Г* ìåГ*Гѕ
    if (L==1) //ÑîñòГ*âëåГ*ГЁГҐ îäГ*îìåðГ*îãî Г¬Г*Г±Г±ГЁГўГ*
    {
        char tx1[]="Ââåäèòå ïåðâûé ýëåìåГ*ГІ B[0]:";
        AnsiToOem(tx1,tx1);
        cout<<tx1<<endl;
        cin>>B[0];
        char tx2[]="Ââåäèòå âòîðîé ýëåìåГ*ГІ B[1]:";
        AnsiToOem(tx2,tx2);
        cout<<tx2<<endl;
        cin>>B[1];
        for (j=2; j<a; j++)
        {
            B[j]=2*(B[j-1]+B[j-2])/B[j-1];
        }
        char tx18[]="ÝëåìåГ*ГІГ» èñõîäГ*îé ïîñëåäîâГ*òåëüГ*îñòè:";
        AnsiToOem(tx18,tx18);
        cout<<tx18<<endl;
        for (j=0; j<a; j++)
        {
            cout<<"B["<<j<<"]="<<B[j]<<endl;
        }
        char tx3[]="Äëÿ âîçâðГ*ГІГ* Гў ìåГ*Гѕ Г*Г*æìèòå ëþáóþ ГЄГ«Г*ГўГЁГёГі";
        AnsiToOem(tx3,tx3);
        cout<<tx3<<endl;
        getch();
        system("cls"); 
    }
    if (L==2) //ГЌГ*õîæäåГ*ГЁГҐ ìèГ*ГЁГ¬Г*ëüГ*îãî ýëåìåГ*ГІГ* ГЁ ГҐГЈГ® Г*îìåð
    {
        float min=B[0];
        int nummin=0;
        for (j=0; j<a; j++)
        {
            if (B[j]<=min)
            {
                min=B[j];
                nummin=j;
            }
        }
        char tx18[]="ÝëåìåГ*ГІГ» èñõîäГ*îé ïîñëåäîâГ*òåëüГ*îñòè:";
        AnsiToOem(tx18,tx18);
        cout<<tx18<<endl;
        for (j=0; j<a; j++)
        {
            cout<<"B["<<j<<"]="<<B[j]<<endl;
        }
        char tx4[]="ГЊГЁГ*ГЁГ¬Г*ëüГ*ûéýëåìåГ*ГІ:";
        AnsiToOem(tx4,tx4);
        cout<<tx4<<" B["<<nummin<<"]="<<min<<endl;
        char tx3[]="Äëÿ âîçâðГ*ГІГ* Гў ìåГ*Гѕ Г*Г*æìèòå ëþáóþ ГЄГ«Г*ГўГЁГёГі";
        AnsiToOem(tx3,tx3);
        cout<<tx3<<endl;
        getch();
        system("cls");
        }
    }
 
}
1
Ruspect
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 7
08.12.2012, 20:03  [ТС] #3
Спасибо большое, работает!)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2012, 20:03
Привет! Вот еще темы с ответами:

оператор цикла for - C++
Помогите пожалуйста решить задачу: Дано натуральные числа n, b1,b2,...bn. Найти количество членов bk последовательности b1, b2,...,...

Оператор цикла - C++
Помогите пожалуйста с прогой: Известны оценки по физике каждого из 20 учеников класса. Вычислить среднюю оценку. //C++ или C#

Оператор цикла с предусловием - C++
Внешний цикл образован оператором цикла с предусловием. Можно ли в качестве внутреннего цикла использовать оператор цикла с параметром? А...

Оператор цикла с условием - C++
Дана непустая последовательность целых чисел, оканчивающаяся нулем. Найти: а) сумму всех чисел последовательности; б) количество всех...


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

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

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