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

Возвращение в начало программы из функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создание игр в текстовом режиме http://www.cyberforum.ru/cpp-beginners/thread1098408.html
Привет всем! Тут занялся написанием игрушек в текстовом режиме, типа змейки, тетриса и т.п. Суть в том, что я хочу как можно более правильно написать код, со стороны рефакторинга, со стороны выделения и освобождения памяти, и многих других аспектов. Думаю эта тема поможет многим новичкам, в написание чего-либо подобного, поэтому буду потихоньку выкладывать свои исходники и ждать ваших...
C++ Подскажите библиотеку GUI, реализующую графический интерфейс Доброй ночи. Подскажите, пожалуйста, лёгкую и простую библиотеку реализующую графический интерфейс. Сам интерфейс примитивен - пара кнопок и диалоговых окон. Это всё, что мне нужно от библиотеки. ОС - Windows, компилятор - VC++. Спасибо. http://www.cyberforum.ru/cpp-beginners/thread1098407.html
C++ Выведение на экран фигуры, которая изображает множество точек, которые удовлетворяют неравенству
Исправьте, пожалуйста, ошибки. Задача. Выведение на экран фигуры, которая изображает множество точек, которые удовлетворяют неравенство: x^2+y^2<=2(abs(x)+abs(y)) #include <math.h> #include <bios.h> int x0, y0; void main() int x, y; int gdriver - DETECT, gmode, errorcode; initgraph (&gdriver, &gmode, "g:\\bc31\\bg1");
C++ Как разрешить ввод только чисел типа int?
Доброго времени суток. Подскажите, пожалуйста, как разрешить ввод только чисел типа int. Преподаватель очень любит заваливать на этом, введя например букву, там где нужно число. Очень важно, чтобы код был негромоздким. #include <iostream> #include <cstdio> #include <conio.h> using namespace std; int roman (int,int,char); int main()
C++ Некорректно работает вывод вещественных чисел в массиве http://www.cyberforum.ru/cpp-beginners/thread1098403.html
#include "stdafx.h" #include <conio.h> #include <stdio.h> void ReadArray(double a)
C++ Вывести информацию в виде таблицы помогите, после введения данных , в конце программами должна выводится инф. в виде таблицы #include <stdio.h> #include <iostream> #include <stdlib.h> #include <time.h> #include <conio.h> #include <locale.h> using namespace std; int main (){ подробнее

Показать сообщение отдельно
kiborgdelto
70 / 72 / 27
Регистрация: 23.03.2011
Сообщений: 141
17.02.2014, 00:59     Возвращение в начало программы из функции
Здравствуйте, сегодня во время напписания программы возникла такая необходимость: нужно из функции vichis_oper вернуться в начало функции main(т.е. нужно в случае выполнения 60-й строки вернуться и начать выполнение с 33 строку, для исправления ошибки ввода(ошибка вводится специально для проверки, задача программы вычислить значение выражения при заданных значениях переменных и указанных приоритетах операций)), возможно ли как то это сделать без перезапуска программы?

C++ (Qt)
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
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
# include <cmath>
# include <limits>
# define N 100 // максимальная длина выражения которое нужно вычислить
# define N1 26 // максимальное количество переменных которые используются (=26 т.к. в латинском алфавите 26 букы)
using namespace std;
 
char m_func[N]="a+(b*c/d^a)-b\0";
char m_perem[N1];
char m_oper[N];
double m_znach_perem[N1];
char m_prioretet_oper[N1]="()^*/+-";
double chisl_viragjenie[N];
double oper_viragjeniya[N];
const double infinity = std::numeric_limits<double>::infinity();
 
void korrektnost_virajgeniya();
void vvod();
void analisator();
double vichis_oper(int n,double a,double b);
void vichislitel();
int max_prioretet_v_skobke(int k,int s);
void perezapis_perem(int k);
void perezapis_oper(int k);
 
 
void main()
{
    setlocale(LC_ALL, "Russian");
    vvod();
    analisator();
    vichislitel();
    system("pause");
}
 
...
 
 
double vichis_oper(int n,double a,double b)
{
    int k;
    k=(int)(m_prioretet_oper[n]);
    switch(k)
    {
        case 42:
            return a*b;
        case 43:
            return a+b;
        case 45:
            return a-b;
        case 47:
            return a/b;
        case 94:
            return pow(a,b);
        default:
            cout<<"Непонятная операция"<<endl;
            system("pause");
            exit(0);
    }
}
многоточие заменяет остальные функции, оформление должно быть именно через функции, нельзя собрать всё в main и через циклы настроить (
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru