Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 7
1

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

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

Author24 — интернет-сервис помощи студентам
Всем добрый вечер! Поставили задачу в работающей прграмме, избавиться от метки М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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2012, 18:51
Ответы с готовыми решениями:

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

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

оператор цикла WHILE
задание: написать програму при помощи оператора цикла WHILE для подсчета суммы ряда с точность...

Оператор цикла
Вводиться последовательность из N целых чисел, найти разность между произведением нечетных чисел и...

2
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 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
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 7
08.12.2012, 20:03  [ТС] 3
Спасибо большое, работает!)
0
08.12.2012, 20:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2012, 20:03
Помогаю со студенческими работами здесь

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

оператор цикла:
Одного вот этого задания не хватает до зачёта, хоть вроде и элементарное:( Задание(цикл while): ...

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

Оператор цикла while
Помогите исправить код. Задание: Вводить с клавиатуры числа, пока не будет введен 0. Определить,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru