WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   buchstaben vergleichen in C (http://www.wcm.at/forum/showthread.php?t=146473)

xandl33 03.10.2004 11:43

buchstaben vergleichen in C
 
hi habe gerade angefangen C zu lernen, und habe folgende aufgabe zu lösen:

im prinzip gehts darum ein buchstabenratespiel zu programmieren (a-z, daweil nur kleinbuchstaben).
habe das gleiche schon mit zahlen programmiert sprich im prinzip kann schon mal teile des alten codes verwenden.
was ich allerdings nicht weiß wie die buchstaben zufallsmäßig generiernen soll.

hätte mir zwar überlegt einen zufallsgenerator zu basteln der ´nur die entsprechenden ascii zahlen ausspuckt und diese zahlen dann mit einer typenumwandlung in buchstaben zu konvertiern, bin mir aber nicht sicher ob das überhaupt geht.




weiß jemand wie ?

Harika 03.10.2004 12:06

Du schaust mal wo die Buchstaben in der ASCII Tabelle sind und dann generierst du eine Zufallszahl zwischen START_Kleinbuchstabe und ENDE_Kleinbuchstabe. Dann wandelst du dieses Zeichen um. Das wars. Die Chars kann man dann AFAIK vergleichen und schon hast du das Ratespiel.

xandl33 03.10.2004 14:04

was heißt AFAIK ?

harry3 03.10.2004 15:41

Hallo!

AFAIK=as far as I know

Hier ein ganz kurzes Programm für einen Zufalls-char, programmiert in C:

PHP-Code:

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

main()
{
unsigned char zufall=0;
randomize();//Zufallszahlen neu mischen
zufall=(char)random(26)+97
/*random(26) erzeugt eine zufallszahl zw. 0 und 26. Das kleine 'a' hat den Wert 97. Also muss die Zufallszahl zu 97 dazugezählt werden.
random liefert einen int, dieser muss mittels (char) umgewandelt werden.*/

clrscr();
printf("%c"zufall);
getch();

return 
0;




Grüße,
Harri

xandl33 03.10.2004 18:51

thx

paux 05.10.2004 13:22

Code:

zufall=(char)random(26)+97;
sollte AFAIK auch so gehen:
Code:

zufall=(char)random(26)+'a';
Dann musst nicht wissen wo das 'a' im ASCII Code steht :)

lg paux

harry3 05.10.2004 20:56

Zitat:

Original geschrieben von paux
Code:

zufall=(char)random(26)+97;
sollte AFAIK auch so gehen:
Code:

zufall=(char)random(26)+'a';
Dann musst nicht wissen wo das 'a' im ASCII Code steht :)

lg paux

Hallo Paux!

Hast recht, so gehts natürlich auch.
Ist sogar die "elegantere" Methode.


Grüße,
Harri


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag