Всем привет !
Необходимо организовать меню для этой программы,а у меня при выводе функции выдаёт ошибку...
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
class vector
{
private:
int *mas; // массив
int low; // нижняя граница
int high; // верхняя граница
public:
vector(); // конструктор
vector(int low, int high); // конструктор с настройкой границ
~vector(); // деструктор
int Add(vector *v); // сложить 2 вектора
int Sub(vector *v); //âû÷åñòü 2 âåêòîðà
void Mul(int k); // óìíîæèòü âåêòîð íà ÷èñëî
void Div(int k); // ïîäåëèòü âåêòîð íà ÷èñëî
int &operator[](int k); // îáðàùåíèå ê ýëåìåíòó âåêòîðà
void VyvodElem(int index); //âûâîä îäíîãî ýëåìåíòà
void VyvodVector(void); //âûâîä âñåãî âåêòîðà
};
vector::vector()
{ low= 0;
high= 100;
mas= (int*)malloc((high-low+1)*4);
}
vector::vector(int low, int high)
{
this->low= low;
this->high= high;
mas= (int*)malloc((high-low+1)*4);
}
vector::~vector()
{
free(mas);
}
int vector::Add(vector *v)
{
if ((low==v->low)&&(high==v->high))
{
for (int i=0; i<=high-low; i++)
mas[i]+= v->mas[i];
return 0;
}
return 1;
}
void vector::Mul(int k)
{
for (int i=0; i<=high-low; i++)
mas[i]*= k;
}
void vector::Div(int k)
{
for (int i=0; i<=high-low; i++)
mas[i]/= k;
}
int vector::Sub(vector *v)
{
if ((low==v->low)&&(high==v->high))
{
for (int i=low; i<=high; i++)
mas[i]-= v->mas[i];
return 0;
}
return 1;
}
int &vector::operator[](int index)
{
if ((index>=low)&&(index<=high))
{
return mas[index-low];
}
throw "error";
}
void vector::VyvodElem(int index)
{
if ((index>=low)&&(index<=high))
{
printf("%d", mas[index-low]);
}
else
printf("Worng index");
}
void vector::VyvodVector(void)
{
for (int i=0; i<=high-low; i++)
printf("%d ", mas[i]);
printf("\n");
}
void main()
{
vector v(10, 20);
for(int i=10; i<=20; i++)
v[i]= i;
v.VyvodVector();
v.Mul(10);
v.VyvodVector();
v.Div(5);
v.VyvodVector();
// здесь начинается меню............
int n;
cout<<"MENU:"<<endl;
cout<<"0-exit"<<endl;
cout<<"1-slogit 2 vectora"<<endl;
cout<<"2-vichest 2 vectora"<<endl;
cout<<"3-ymnogit vector na chislo"<<endl;
cout<<"4-delit vector na chislo"<<endl;
cout<<"5-vivod odnogo elementa "<<endl;
cout<<"6-vivod vsego elementa"<<endl;
cin>>n;
for(int i=0;i<100;i++)
if(n==1)
{
cout<<Add(); // сложение 2 векторов....здесь выдаёт ошибку
}
if(n==0)
{
exit(1);
}
getch();
}
//---------------------------------------------------------------------------