Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een...
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.](https://reader036.fdocuments.net/reader036/viewer/2022082808/5551a0ee4979591f3c8b6fbd/html5/thumbnails/1.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082808/5551a0ee4979591f3c8b6fbd/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082808/5551a0ee4979591f3c8b6fbd/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082808/5551a0ee4979591f3c8b6fbd/html5/thumbnails/4.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082808/5551a0ee4979591f3c8b6fbd/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082808/5551a0ee4979591f3c8b6fbd/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082808/5551a0ee4979591f3c8b6fbd/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082808/5551a0ee4979591f3c8b6fbd/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082808/5551a0ee4979591f3c8b6fbd/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082808/5551a0ee4979591f3c8b6fbd/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082808/5551a0ee4979591f3c8b6fbd/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082808/5551a0ee4979591f3c8b6fbd/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082808/5551a0ee4979591f3c8b6fbd/html5/thumbnails/13.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022082808/5551a0ee4979591f3c8b6fbd/html5/thumbnails/14.jpg)
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[]){
...
}