Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звіт з ООП.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
183.28 Кб
Скачать

Завдання 1

Текст програми:

#include<iostream.h>

#include<conio.h>

int deleten(char *strz,int i,int n)

{int j,zn; j=i; zn=strlen(strz);n=n+i;

for(;n<zn;n++){strz[j]=strz[n];j=j+1;};strz[j]='\0'; return 0; }

int insert(char *vst,char *strz,int i)

{int j,stan,zn,nv;zn=strlen(strz); char zx[zn+3],zx1[zn]; nv=strlen(vst); j=0;

{if(i>0){for(j=0;j<i;j++)zx1[j]=strz[j];zx1[j]='\0';deleten(strz,0,(i));}; zn=strlen(strz);

if(zn>0){for(j=0;j<zn;j++)zx[j]=strz[j];zx[j]='\0';}; deleten(strz,0,zn); if(i>0)strcat(strz,zx1); strcat(strz,vst);

if(zn>0)strcat(strz,zx);}; return stan;}

int npsv(char *riadok)

{int kodmova=1,i,dovhota,cod; char sumvol; dovhota=strlen(riadok);

for(i=0;i<dovhota;i++)

{cod=riadok[i]; if(cod==39) if(kodmova==1)kodmova=2; else kodmova=1;

if((cod!=39)&&(((cod!=64)&&(i!=dovhota-1))||((cod==64)&&(i!=dovhota-1)))){

if((kodmova==1))

{switch(cod)

{case 96:cod=243;break;case 126:cod=242;break;case 49:cod=49;break;case 33:cod=33;break;

case 50:cod=50;break;case 64:cod=34;break;case 51:cod=51;break;case 35:cod=252;break;

case 52:cod=52;break;case 36:cod=59;break;case 53:cod=53;break;case 37:cod=37;break;

case 54:cod=54;break;case 94:cod=58;break;case 55:cod=55;break;case 38:cod=63;break;

case 56:cod=56;break;case 42:cod=42;break;case 57:cod=57;break;case 40:cod=40;break;

case 48:cod=48;break;case 41:cod=41;break;case 45:cod=45;break;case 95:cod=95;break;

case 61:cod=61;break;case 43:cod=43;break;case 92:cod=92;break;case 124:cod=47;break;

case 113:cod=169;break;case 81:cod=137;break;case 119:cod=230;break;case 87:cod=150;break;

case 101:cod=227;break;case 69:cod=147;break;case 114:cod=170;break;case 82:cod=138;break;

case 116:cod=165;break;case 84:cod=133;break; case 121:cod=173;break;case 89:cod=141;break;

case 117:cod=163;break;case 85:cod=131;break; case 105:cod=232;break;case 73:cod=152;break;

case 111:cod=233;break;case 79:cod=153;break; case 112:cod=167;break;case 80:cod=135;break;

case 91:cod=229;break;case 123:cod=149;break; case 93:cod=245;break;case 125:cod=244;break;

case 97:cod=228;break;case 65:cod=148;break; case 115:cod=105;break;case 83:cod=73;break;

case 100:cod=162;break;case 68:cod=130;break; case 102:cod=160;break;case 70:cod=128;break;

case 103:cod=175;break;case 71:cod=143;break; case 104:cod=224;break;case 72:cod=144;break;

case 106:cod=174;break;case 74:cod=142;break; case 107:cod=171;break;case 75:cod=139;break;

case 108:cod=164;break;case 76:cod=132;break; case 59:cod=166;break;case 58:cod=134;break;

case 122:cod=239;break;case 90:cod=159;break; case 120:cod=231;break;case 88:cod=151;break;

case 99:cod=225;break;case 67:cod=145;break; case 118:cod=172;break;case 86:cod=140;break;

case 98:cod=168;break;case 66:cod=136;break; case 110:cod=226;break;case 78:cod=146;break;

case 109:cod=234;break;case 77:cod=156;break; case 44:cod=161;break;case 60:cod=129;break;

case 46:cod=238;break;case 62:cod=158;break; case 47:cod=46;break;case 63:cod=44;break;}; };};

if((cod==64)&&(i==dovhota-1)) cout<<endl; else if(cod!=39){sumvol=cod; cout<<sumvol;};};

return 0; };

class publication

{private: char* title; float *price;

public:

publication(){price=new float; *price=0.0;};

publication(char* zm,float zm1)

{title=new char[strlen(zm)+1]; title[0]='\0'; strcat(title,zm); price=new float; *price=zm1;};

virtual ~publication()

{ if(title!=NULL)delete[]title; delete price;};

virtual int getdate()

{char riadok[300]; cout<<endl; npsv(" Ddtlsnm yfpde j,'`'`rne^ ");cin>>riadok;

if(title!=NULL)delete[]title; title=new char[strlen(riadok)+1]; title[0]='\0'; strcat(title,riadok);

npsv(" Ddtlsnm wsye j,'`'`rne^ ");cin>>*price; return 0;};

virtual int putdate()

{cout<<endl; npsv(" Yfpde j,'`'`rnf -- "); cout<<title;

cout<<endl; npsv(" Wsye j,'`'`rnf -- "); cout<<*price; return 0;}; };

class book:public publication

{private: int *pages;

public:

book(){publication(); pages=new int; *pages=0;};

book(char* zm,float zm1,int zm2){publication(zm,zm1);pages=new int; *pages=zm2;};

virtual ~book(){delete pages;};

int getdate()

{publication::getdate();

npsv(" Ddtlsnm rskmrscnm cnjhsyjr rybub^ ");cin>>*pages; return 0;};

int putdate()

{publication::putdate();

cout<<endl; npsv(" Rskmrscnm cnjhsyjr rybub -- "); cout<<*pages; return 0;}; };

class tape:public publication

{private: float *time;

public:

tape(){publication();time=new float; *time=0.0;};

tape(char* zm,float zm1,float zm2){publication(zm,zm1); time=new float; *time=zm2;};

virtual ~tape(){delete time;};

int getdate()

{publication::getdate();

npsv(" Ddtlsnm ljd;bye felsjpfgbce^ ");cin>>*time; return 0;};

int putdate()

{publication::putdate();

cout<<endl; npsv(" Ljd;byf felsjpfgbce -- "); cout<<*time; return 0;}; };

int main()

{int dovhota=0,key;

do{ dovhota=0; publication* mas_date[30];

do{system("cls");system("mode con cols=80 lines=5");

npsv(" Db,thsnm zrjuj nbge syajhvfws. db ,eltnt ddjlbnb/ @");

npsv(" 1/ Lkz ddtltyyz syajhvfws] ghj rybue yfnbcysnm rkfdsie 1-y/ @");

npsv(" 2/ Lkz ddtltyyz syajhvfws] ghj felsjpfgbc yfnbcysnm rkfdsie 2-f/ @");

npsv(" <elm-kfcrf phj,snm dfi db,sh/ "); key=getch();

system("cls");system("mode con cols=80 lines=11");

npsv(" Db ddjlbnt syajhvfws. e ");cout<<dovhota+1;npsv("-q tktvtyn vfcbde/ @");

if(key==49){cout<<endl;npsv(" Db db,hfkb ddtltyyz syajhvfws] ghj rybue/ ");

mas_date[dovhota]=new book; mas_date[dovhota]->getdate(); dovhota+=1;}

else if(key==50){cout<<endl; npsv(" Db db,hfkb ddtltyyz syajhvfws] ghj felsjpfgbc/ ");

mas_date[dovhota]=new tape; mas_date[dovhota]->getdate(); dovhota+=1;}

else {cout<<endl; npsv(" Db yt db,hfkb ;jlyjuj s pfghjgjyjdfyb[ dfhsfyns/ ");};

cout<<endl;

npsv(" Lkz ghjljd;tyyz ddtltyyz syajhvfws] e vfcbd lfyb[ yfnbcysnm ,elm-zre rkfdsie @");

npsv(" Dbrjyfkf cneltynrf uhegb 310G^ ");

npsv(" Rfcghbiby Yfnfksz ");key=getch();}

while(key!=27);

if(dovhota!=0)

{int indexzm=0;key=0;

do{system("cls"); system("mode con cols=80 lines=14");

npsv(" E ");cout<<indexzm+1;npsv("-q tktvtyn vfcbde pfgbcfyf nfrf syajhvfwsz^ @");

mas_date[indexzm]->putdate();

cout<<endl;

npsv(" Sycnherws] gj rjhbcnedfyy. ghjuhfvj.^ @");

npsv(" 1/ Lkz gthtvsotyyz gj vfcbde dbrjhbcnjdeqnt rkfdsis gthtvsotyyz rehcjhe ddth[ nf dybp$ @");

npsv(" 2/ Lkz pfdthityyz gthtukzle yfnbcysnm rkfdsie @'Esc'@/ @");

cout<<endl; npsv(" Lkz db[jle sp ghjuhfvb yfnbcysnm rkfdsie @'Esc'@ @");

npsv(" Dbrjyfkf cneltynrf uhegb 310G^ ");

npsv(" Rfcghbiby Yfnfksz "); key=getch();

switch(key)

{case 72:{if(indexzm>0)indexzm-=1; break;};

case 80:{if(indexzm<dovhota-1)indexzm+=1; break;};}; }

while(key!=27);}

else {system("cls"); system("mode con cols=80 lines=5");

npsv(" Cbcntvyt gjdsljvktyyz/ @");

npsv(" Db yt ddtkb ;jlyjuj tktvtynf e vfcbd/ ");};

cout<<endl;

npsv(" Lkz db[jle sp ghjuhfvb yfnbcysnm rkfdsie @'Esc'@ syfrit -- ,elm zre rkfdsie/ ");key=getch();}

while(key!=27); }