
Завдання 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); }