Hallo Leute,
ich stehe gerade (wahrscheinlich) auf dem Schlauch und komme nicht weiter...Deswegen meld ich mich mal bei euch und hoffe auf hilfe..
Ziel:
- Spielautomat entwickeln, der zu anfang 0 0 0 anzeigt.
- dann auf tastendruck eine zufallszahl (1-12) erzeugt wird und ausgegeben wird
(A = 10, B = 11, C = 12 und <9 einfach die Zahl anzeigen, sonst Buchstaben)
- dann die Punkte berechnen(nach Formel, siehe Code...)
Problem:
- Punkte berechnen
bei mir gibt er total komische Zeichen aus und keine Zahl
die Funktionsnamen mit Rückgabe und Parameter ist Vorgegeben , soll am besten nicht verändert werden.
Code: Hab den kommentiert...hoffe ihr versteht es!
Ich sag schonmal DANKE im Vorraus!!
(hoffe ich konnte es verständlich erklären)
Schönen Gruß
Manda
ich stehe gerade (wahrscheinlich) auf dem Schlauch und komme nicht weiter...Deswegen meld ich mich mal bei euch und hoffe auf hilfe..
Ziel:
- Spielautomat entwickeln, der zu anfang 0 0 0 anzeigt.
- dann auf tastendruck eine zufallszahl (1-12) erzeugt wird und ausgegeben wird
(A = 10, B = 11, C = 12 und <9 einfach die Zahl anzeigen, sonst Buchstaben)
- dann die Punkte berechnen(nach Formel, siehe Code...)
Problem:
- Punkte berechnen

die Funktionsnamen mit Rückgabe und Parameter ist Vorgegeben , soll am besten nicht verändert werden.
Code: Hab den kommentiert...hoffe ihr versteht es!
C:
int main(void)
{
spielStarten();
return 0;
}
void spielStarten(void)
{
char zeichen[3] = { '0', '0', '0' };
int i = 0;
int j = 0;
char eingabe = 0;
int punkte = 0;
printf("-------------------");
printf("\n|");
for(i=0; i<3; i++)
{
printf("%3c |", zeichen[i]);
}
printf("\n-------------------");
printf("\n(Dr\201cken Sie eine beliebige Taste)");
printf("\n\n");
i = 0;
eingabe = getch();
printf("-------------------");
printf("\n|");
while(i < 3)
{
for(j=0; j<i; j++)
{
printf("%3c |", zeichen[j] = getZeichen());
}
i++;
}
printf("\n-------------------");
punkte = berechneErgebnis(zeichen[0], zeichen[1], zeichen[2]);
printf("\n\n");
printf("Ihre Punkte: %c", punkte);
}
void ausgeben(char *a, char *b, char *c)
{
}
//parameterliste ist VORGABE mit char, und return mit int!!
int berechneErgebnis(char a, char b, char c)
{
//1.ziffer * 100 + 2.ziffer * 10 + 3.ziffer
//a=10, b=11, c=12
//2ziffer gleich, erg*2 ; 3ziffern gleich, erg*3 [<-DAS FEHLT NOCH!!]
//kann man die Berechnung "kürzer" gestalten?
//sieht unschön aus :(
int erg = 0;
if(a < 9)
a = a * 100; // WARUNUNG: '=': Verkuerzung von 'const int ' in 'char'?
if(a == 'A')
a = 10 * 100;
if(a == 'B')
a = 11 * 100;
if(a == 'C')
a = 12 * 100;
if(b < 9)
b = b * 10;
if(b == 'A')
b = 10 * 10;
if(b == 'B')
b = 11 * 10;
if(b == 'C')
b = 12 * 10;
if(c < 9)
c = c;
if(c == 'A')
c = 10;
if(c == 'B')
c = 11;
if(c == 'C')
c = 12;
erg = a + b + c;
return erg;
}
char getZeichen(void)//hier das zufallszeichen holen
{
int i = 0;
char j;
i = 1 + ( rand() % 13 );
if( (i>=1) && (i<=9) )
{
j = intToChar(&i);
}
if(i==10)
j = 'A';
if(i==11)
j = 'B';
if(i==12)
j = 'C';
return j;
}
char intToChar(int *i)
{
return (char)*i + 48;
}
Ich sag schonmal DANKE im Vorraus!!
(hoffe ich konnte es verständlich erklären)
Schönen Gruß
Manda