Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een...

14
Hogeschool van Utrecht / Institute for Computer, Communicati on and Media Technology 1 vervolg C Een programma opbouwen

Transcript of Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een...

Page 1: Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.

Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

1vervolg C

Een programma opbouwen

Page 2: Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.

Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

2vervolg C

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

Page 3: Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.

Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

3vervolg C

• 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

Page 4: Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.

Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

4vervolg C

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”

Page 5: Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.

Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

5vervolg C

Er moet (1) command-line parameter zijn

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

if( argc ... ){

printf( ”please specify one argument\n” );

return 0;

}}

Page 6: Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.

Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

6vervolg C

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;

}}

Page 7: Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.

Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

7vervolg C

N wordt bepaald door de letter die als command-line parameter, wordt meegegeven,

waarbij. a=0, b=1, etcint 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 );}

Page 8: Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.

Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

8vervolg C

zijn invoer weer wegschrijft als uitvoer

void Cesar( int N ){

int C;

...

while( ... ){

...

}

}

Page 9: Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.

Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

9vervolg C

iedere kleine letter vervangen door de letter N plaatsen verderop.

void Cesar( int N ){

int C;

...

while( ... ){

C = Verschuif( C, N )

}

}

Page 10: Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.

Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

10vervolg C

iedere kleine letter vervangen door de letter N plaatsen verderop.

char Verschuif( char C, int N ){

if( ... C ... ){

}

}

Page 11: Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.

Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

11vervolg C

iedere kleine letter vervangen door de letter N plaatsen verderop.

char Verschuif( char C, int N ){

if( ... C ... ){

C = C + N;

}

}

Page 12: Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.

Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

12vervolg C

wrap-around, dus kleine letters blijven kleine letters

char Verschuif( char C, int N ){

if( ... C ... ){

C = C + N;

if( C ... ){

C = C - ... ;

}}

}

Page 13: Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.

Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

13vervolg C

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 - ... ;

}

}

...}

Page 14: Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.

Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

14vervolg C

Het geheel#include <stdio.h>

char Verschuif( char C, int N ){

...

}

void Cesar( int N ){

...

}

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

...

}