.


:




:

































 

 

 

 





.1.2.

1.2 ()

1

 
 
 
 

1.2 ()

1

 
 
 
 
 

. .

//----------------------------------------------------------------------------

#include <iostream.h> // /

#include <conio.h> // getch

#include <windows.h> // CharToOem

#define SIZE_BUF 1024 // /

//-----------------------------------------------------------------------------

//

char strdos[256];

char* dos(char* strw){

CharToOem(strw,strdos);

return strdos;

}

//------------------------------------------------------------------------------

// x buf n

// , ,

// 1

int Search(char* buf,int n,char x){

int i;

for(i=0;buf[i]!=x && i<n;i++);

return (i!=n? i: -1);

}

//------------------------------------------------------------------------------

//

// argc=4

// argv[1] (e , d )

// argv[2]

// argv[3]

int main(int argc, char* argv[])

{

char abc[]="";//

char Buf[SIZE_BUF]; // /

int key; //

cout<<dos(" \n");

if(argc==4 && (*argv[1]=='e' || *argv[1]=='d')){

FILE* In=fopen(argv[2],"rb");

if(In==NULL){

cout<<dos(" ...\n");

getch(); return 1;

}

FILE* Out=fopen(argv[3],"wb");

if(Out==NULL){

fclose(In);

cout<<dos(" ...\n");

getch(); return 1;

}

clearerr(In); clearerr(Out);

cout<<dos(" ( 0 31: ");

cin>>key;

if(key < 0 || key > 31){

cout<<dos(" ...\n");

fclose(In); fclose(Out);

getch(); return 1;

}

while(!feof(In)){ //

int LenBuf=fread(Buf,1,SIZE_BUF,In); //

if(ferror(In)){

fclose(In); fclose(Out);

cout<<dos(" ...\n");

getch(); return 1;

}

for(int i=0;i<LenBuf;i++){ //

int code=Search(abc,32,Buf[i]);

if(code!=-1){ //

if(*argv[1]=='e')

code=(code+key)%32; //

else code=(code-key+32)%32; //

Buf[i]=abc[code]; // /

}

}

fwrite(Buf,1,LenBuf,Out); //

if(ferror(Out)){

fclose(In); fclose(Out);

cout<<dos(" ...\n");

getch(); return 1;

}

}

fclose(In); fclose(Out);

cout<<dos(" ")<<argv[2];

cout<<dos(*argv[1]=='e'? " ":" ")<<endl;

cout<<dos(" ")<<argv[3]<<endl;

}

else{

cout<<dos(" : ");

cout<<"Cesar e/d infile outfile\n";

cout<<dos("e - , d - ,\n");

cout<<dos("infile - ,\n");

cout<<dos("outfile - .\n");

}

getch();

return 0;

}

//-----------------------------------------------------------------------------------

/ , . :

char abc[]="";

, . : ( 32). : . , .

( file1.txt). : cesar e file1.txt file2.txt. . 1.6 .

 

. 1.6. .

 

. 1.7.

 

 
. 1.7. .

 

: cesar d file2.txt file3.txt. . 1.8 .

 

. 1.8. .

 

. 1.9.

 

 
. 1.9. .

 

. . , , .

1. ?

2. . /.

3. . /.

4. . /.

5. . /.

6. ?

7. ?

8. . /.

9. . /.

10. . /.

11. . /.

12. . /.

:

;

;

.

"" , , , , , , .

"" , , , , , .

"" , , , , , , .

"" , , , , , .





:


: 2016-10-06; !; : 811 |


:

:

, , .
==> ...

998 - | 762 -


© 2015-2024 lektsii.org - -

: 0.024 .