Здравейте искам да попитам дали някой може да ми помогне с курсовата задача по С++, а та я следната: Да се състави клас символен низ с член-данни: указател към началото на низа и дължина на низа. Член-функциите на класа са: конструктори; деструктор; предефинирана операция + за конкатенация на низове; проверка на типа на данните в низа (допустимост само на букви, интервал и точка); предефинирана операция =. Да се състави клас служител с член-данни: трите имена (само букви); ЕГН (10 цифри); заплата по щат. Член-функциите на класа са: конструктор (да проверява и за коректност на данните); предефинирана операция > за сравняване на заплатите на двама служители. 1. Да се състави външна функция, която сортира масив от служители по заплата в намаляващ ред. 2. Да се състави главна функция, която създава масив от обекти и извежда данните за всички служители преди и след сортиране. 3. Записва данните във файл. #include <iostream>
#include <cstring>
using namespace std;
class symbol {
char *p;
int lenght;
public:
symbol (char *s);
symbol(int size);
symbol &operator=(symbol &ob);
symbol operator+(const symbol& ob) const;
int isText ();
int isNumeric();
~symbol() {
cout<<"Freeng " << (unsigned) p << 'n';
delete []p;
}
symbol() {}
};
symbol::symbol(char *s)
{
int l;
l=strlen(s)+1;
p= new char [1];
if (!p) {
cout << "Memory allocatoin error!n";
exit(1);
}
lenght=1;
strcpy(p, s);
}
symbol::symbol(int size){
int l;
l=size+1;
p=new char[1];
if (!p) {
cout << "Memory allovation arror!n";
exit(1);
}
lenght=1;
}
symbol &symbol::operator=(symbol &ob) {
if (lenght< ob.lenght) {
delete[] p;
p= new char[ob.lenght];
if(!p) {
cout << " Memory allocation error!n ";
exit(1);
}
}
lenght=ob.lenght;
strcpy(p, ob.p);
return *this;
}
symbol symbol :: operator+( const symbol& ob ) const {
int l;
l=lenght+ob.lenght;
symbol temp(1);
strcpy(temp.p, p);
strcat(temp.p, ob.p);
return temp;
}
int symbol :: isNumeric () {
int result;
for (int i=0; i<lenght-1, p[i]!='\0'; i++) {
if (p[i]<'0' || p[i]>'9')
{
cout << "Only numeric data required!n";
result=0;
}
else { result=1; }
}
return result;
}
int symbol :: isText() {
int result;
for(int i=0; i<lenght - 1, p[i]!='\0'; i++) {
if (p[i]>'a' && p[i] <'z' || p[i]>'A' && p[i]<'Z' ||
p[i]==' ' || p[i]='.' )
{
result =1;
}
else {result=0; }
}
return result;
}
class employee: public symbol {
private:
symbol name;
symbol egn;
symbol pay;
public:
employee();
};
int main() {
return 0;
} забих на клас employee и нз как да продължа. Ако някой помогне ще съм му много благодарен :-) П.С Надявам се тоя сорс код, който съм го писал да не е пълна скъб :-D :-D