Jump to content

Помощ за курсова по С++


Препоръчан пост

Здравейте искам да попитам дали някой може да ми помогне с курсовата

задача по С++, а та я следната:

 

Да се състави клас символен низ с член-данни: указател към началото

на низа и дължина на низа. Член-функциите на класа са: конструктори;

деструктор; предефинирана операция + за конкатенация на низове;

проверка на типа на данните в низа (допустимост само на букви,

интервал и точка); предефинирана операция =.

Да се състави клас служител с член-данни: трите имена (само букви);

ЕГН (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

Link to comment
Сподели другаде

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...
×
×
  • Създай ново...