vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen
vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2 Maak een programma dat zijn invoer weer wegschrijft als uitvoer, maar met iedere letter vervangen door de letter N plaatsen verderop. N wordt bepaald door de letter die als command- line parameter, wordt meegegeven, waarbij a=0, b=1, etc. Let op: –gebruikt wrap-around, –kleine letters blijven kleine letters, etc –niet-letters niet veranderen opdracht
vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3 •Er moet (1) command-line parameter zijn •Dat moet een letter zijn •N wordt bepaald door de letter die als command-line parameter, wordt meegegeven, waarbij. a=0, b=1, etc •zijn invoer weer wegschrijft als uitvoer •iedere kleine letter vervangen door de letter N plaatsen verderop. •wrap-around, dus kleine letters blijven kleine letters •iedere hoofdletter vervangen door de letter N plaatsen verderop, wrap-around De opdracht ontleed
vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 4 Er moet (1) command-line parameter zijn int main(int argc, char *argv[]){ } Cesar.exe hello world argc == 3 argv[0] == ”cesar.exe” argv[1] == ”hello” argv[2] == ”world”
vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 5 Er moet (1) command-line parameter zijn int main(int argc, char *argv[]){ if( argc... ){ printf( ”please specify one argument\n” ); return 0; }
vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6 Dat moet een letter zijn int main(int argc, char *argv[]){ if( argc... ){ printf( ”please specify one argument\n” ); return 0; } if(... argc[ 1 ][... ]... ){ printf( ”the argument must be a letter\n” ); return 0; }
vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 7 N wordt bepaald door de letter die als command-line parameter, wordt meegegeven, waarbij. a=0, b=1, etc int main(int argc, char *argv[]){ Int N; if( argc... ){ printf( ”please specify one argument\n” ); return 0; } if(... argv[ 1 ][... ]... ){ printf( ”the argument must be a letter\n” ); return 0; } N = argv[ 1 ][ 0 ] – ’a’; Cesar( N ); }
vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 8 zijn invoer weer wegschrijft als uitvoer void Cesar( int N ){ int C;... while(... ){... }
vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 9 iedere kleine letter vervangen door de letter N plaatsen verderop. void Cesar( int N ){ int C;... while(... ){ C = Verschuif( C, N ) }
vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 10 iedere kleine letter vervangen door de letter N plaatsen verderop. char Verschuif( char C, int N ){ if(... C... ){ }
vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 11 iedere kleine letter vervangen door de letter N plaatsen verderop. char Verschuif( char C, int N ){ if(... C... ){ C = C + N; }
vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 12 wrap-around, dus kleine letters blijven kleine letters char Verschuif( char C, int N ){ if(... C... ){ C = C + N; if( C... ){ C = C -... ; }
vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 13 iedere hoofdletter vervangen door de letter N plaatsen verderop, wrap-around char Verschuif( char C, int N ){ if(... C... ){ C = C + N; if( C... ){ C = C -... ; }... }
vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 14 Het geheel #include char Verschuif( char C, int N ){... } void Cesar( int N ){... } int main(int argc, char *argv[]){... }