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

как правильно вернуть значение? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Отладка http://www.cyberforum.ru/cpp-beginners/thread1114820.html
Вопрос такой, можно ли в visual studio сделать остановку ( только с помощью отладчика ), на определённом шаге цикла, то есть while на 100 итераций, мне нужно посмотреть i == 54, фишки с if i == 51 не прокатят =) интересует именно средствами отладчика.
C++ Переделать код из С в С++ помогите переделать код из С в С++. до 11.03.14 надо #include<stdio.h> #include<stdlib.h> #include<math.h> float f(float x) { float y; http://www.cyberforum.ru/cpp-beginners/thread1114800.html
Классы С++ C++
Привет всем! Учу С++ уже довольно давно, но застопорился на классах, учусь я по онлайн учебнику codelive но там все так непонятно и сжато что никак не могу ничего понять, если не трудно киньте ссылку на нормальный онлайн урок где все понятно и по-человечески пожалуйстаа! :coffee2:
Нужно, чтобы консоль не ожидала нажатие клавиши, а сразу закрывалась C++
Может это прозвучит глупо, но мне надо чтобы консоль не ожидала нажатие клавиши, а сразу закрывалась. Ни getch() ни system("pause") я не использую, но все равно ждет нажатия. Студия 12.
C++ Метод Крамера с сохранением в файл http://www.cyberforum.ru/cpp-beginners/thread1114771.html
Решение систем линейных уравнений методом Крамера. Входные данные берутся из файла или с клавиатуры, промежуточные результаты и ответ сохраняются в файле. с загрузкой и сохранением в файл я подобного задания не нашел,помогите плиз
C++ Найти сумму значений функции, указанной в условии, на отрезке изменения аргумента [a, b] (a<b) с шагом d Пожалуйсто подскажите как написать код Мне нужно сделать программу в которую водится интервал от 1 числа до 2 числа и шаг числа То есть, к примеру я вожу - считать от 0 до 10, с шагом 2 В итоге получается 0,2,4,6,8,10 И чтобы эти все значение вводились в заданую формулу как F(n) и все ответы по расчёту выводились в консольном окне программы... подробнее

Показать сообщение отдельно
Praud
7 / 7 / 3
Регистрация: 25.02.2013
Сообщений: 233
10.03.2014, 13:02  [ТС]     как правильно вернуть значение?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Stack
{
private:
    myString *st;
    int size;
    int index;
 
    
public:
    Stack(int);
    Stack(Stack&);
    ~Stack(void);
    int getSize();
    int getIndex();
    myString* getSt();
    friend void operator+(Stack&, myString);
    myString print(void);
    myString operator[](int);
};
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
Stack::Stack(int k)
{
    size=k;
    st=new myString[size];
    index=0;
}
 
Stack::Stack(Stack &a)
{
    st = new myString[a.size]; 
    index = a.getIndex();
    for(int i = 0; i < index; i++)
        st[i] = a.getSt()[i];
}
 
int Stack::getSize()
{
    return size;
}
 
int Stack::getIndex()
{
    return index;
}
 
myString* Stack::getSt()
{
    return st;
}
 
Stack::~Stack(void)
{
    delete [] st;
}
 
void operator+(Stack& b, myString a)
{
    if(b.index==b.size)
             cout << "Стек полон!" << endl;
      else b.st[b.index++] = a;
 
}
 
myString Stack::print(void)
{
     if (index < 0)
     {
        cout << "Стек не загружен!" << endl;
        return 0;
     } 
     else return st[--index];
}
 
myString Stack::operator[](int a)
{
    if(a<size)
        return st[a];
    else 
    {
        cerr<<"Error!";
        _getch();
        exit(-1);
    }
}
Добавлено через 1 минуту
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
int main()
{
    int n;
    cout<<"Enter the stack size: ";
    cin>>n;
    Stack stack(n);
 
    myString string;
    cin>>string;
    
    for(int i=0;i<n;i++)
    {
        cin>>string;
        stack+string;
    }
 
    for (int i = 0; i < n; i++)
        cout<<stack.print();
 
    Stack stack2(stack);
        for (int i = 0; i < n; i++)
        {
            cout<<stack2.print();
            getch();
        }
 
    _getch();
}
Добавлено через 1 час 13 минут
Вот еще класс MyString. Может там проблема кроется

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
const int MAX_SIZE = 255;
 
class myString
{
private:
    char str[MAX_SIZE];
public:
    myString(void);
    myString(char*);
    ~myString(void);
    myString operator+(myString);
    myString operator+(char);
    char operator[](int);
    void operator=(char*);
    void operator=(myString);
    void Addition(myString);
    friend ostream& operator<<(ostream&,const myString&);
    friend istream& operator>>(istream&, myString&);
};
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
#include "myString.h"
#include "string.h"
#include "conio.h"
#include <iostream>
 
myString::myString(void)
{
    strcpy(str, "");
}
 
myString::myString(char* s)
{
    strcpy(str, s);
}
 
myString::~myString(void)
{
}
 
myString myString::operator+(myString s)
{
    Addition(s);
 
    return str;
}
 
myString myString::operator+(char s)
{
    str[strlen(str)+1]='\0';
    str[strlen(str)]=s;
    
    return str;
}
 
void myString::operator=(char *s)
{
    strcpy(str, s);
}
 
void myString::operator=(myString s)
{
    Addition(s);
}
 
ostream& operator<<(ostream& os,const myString& ms)
{
     os<<ms.str<<endl;
     return os;
}
 
istream& operator>>(istream& os, myString& ms)
{
    char BUFF[2048];
 
    os.getline(BUFF, sizeof BUFF);
    ms = BUFF;
 
    return os;
}
 
 
char myString::operator[](int i)
{
    if(strlen(str)>i)
        return str[i];
    else 
        {
            cerr<<"Error!";
            _getch();
            exit(-1);
        }
}
 
void myString::Addition(myString s)
{
    int len=strlen(str);
    int i=0;
    int k=0;
    for(i=len;i<len+strlen(s.str);i++)
    {
        str[i]=s.str[k];
        k++;
    }
 
    str[i]='\0';
}
 
Текущее время: 01:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru