C programmerweiterung

hallo,

ich hab in der letzten vorlesung gefehlt und weiss jetzt nicht weiter bei meiner aufgabe. genauer gesagt hab ich keine ahnung :smile: da ich ganz am anfang stehe wird das für euch sicher kein problem sein.

also, ich hab folgendes programm gegeben :

#define EOF 26

main ()
{
int c ;

c=getchar()
while ( != EOF )
{
putchar© ;
c=getchar() ;
}
}

dieses programm soll ich jetzt dahingehend erweitern (umschreiben) dass für extended codes (z.b. F1) der buchstabe x ausgegeben wird.
soweit ich weiss muß man vergleichen ob c==0 ist, und das ganze zweimal. ich kann mich aber auch täuschen, bin ja noch anfänger.

wäre schön wenn mir jemand bis morgen helfen könnte. ihr hört bestimmt noch von mir :wink:

gruß…michl

hallo,

ich hab in der letzten vorlesung gefehlt und weiss jetzt nicht
weiter bei meiner aufgabe. genauer gesagt hab ich keine ahnung

-) da ich ganz am anfang stehe wird das für euch sicher

kein problem sein.

also, ich hab folgendes programm gegeben :

#define EOF 26

main ()
{
int c ;

c=getchar()

heisst bestimmt while (c != EOF )

{
putchar© ;
c=getchar() ;
}
}

dieses programm soll ich jetzt dahingehend erweitern
(umschreiben) dass für extended codes (z.b. F1) der buchstabe
x ausgegeben wird.
soweit ich weiss muß man vergleichen ob c==0 ist, und das
ganze zweimal. ich kann mich aber auch täuschen, bin ja noch
anfänger.

  1. Tipp mal man getchar (unter Linux) dann beommst Du eine
    Anleitung zu getchar. Unter Windows/MacOs findest Du was in der Hilfestellung.

  2. Auf der Linux man-page steht, dass man getchar nicht fuer Multibyte-Charakters verwenden darf.

  3. Einfachste Loesung:

fuege ein

printf("%i\n\n",c) vor dem putchar ein. dann siehst du den ASCII-Wert der Eingabe. Dann guckst Du, was passiert, wenn Du einen F-Key drueckst und testest in dem neuen Programm eben auf diesen Wert. Wenn das passiert, gibst du eben „x“ aus.

MFG
Martin