C :: Aufgabe #14 :: Lösung #3
3 Lösungen
#14
Zahlen erraten lassen.
Anfänger - C
von zayc_
- 28.12.2012 um 14:08 Uhr
Programmiere ein Programm, welches eine vom User erdachte Zahl (Integer) in einem vom User angegebenen Bereich Erraten soll.
Konsolenausgabe:
Bitte Untergränze angeben: 0
Bitte Obergränze angeben: 100
Bitte geben sie nach jedem versuch R,G oder K an. je nachdem ob
R die Zahl richtig ist
G die gesuchte Zahl grösser ist
K die gesuchte Zahl kleiner ist
1. Versuch: 50.
k
2. Versuch: 25
g
3. Versuch: 37
g
4. versuch: 42
g
5. Versuch: 46
k
6. Versuch: 44
k
7. Versuch: 43
r
Die gesuchte Zahl war also die 43!
#3
von psych0dad (260 Punkte)
- 17.11.2020 um 20:07 Uhr
/****************************************************************************
* *
* Linux GCC *
* Programmiere ein Programm, welches eine vom User erdachte Zahl (Integer) *
* in einem vom User angegebenen Bereich Erraten soll. *
* *
****************************************************************************/
#include <stdio.h>
#include <stdlib.h>
/***** FEhler eingabe funktion *****/
void fehler(void){
printf("Eingabefehler!!! Versuchen sie es noch ein mal.\n");
}
int main(void){
int oberg, unterg, check1, check2, wieder=0;
char antwort;
do{
/****** Eingabe der Ober/Untergrenze *****/
do{
printf("Bitte Untergrenze eingeben: ");
do{
check1=scanf("%d", &unterg);
if(check1!=1){
fehler();
printf("Bitte Untergrenze eingeben: ");
}
} while(getchar()!='\n');
printf("Bitte Obergrenze eingeben: ");
do{
check2=scanf("%d", &oberg);
if(check2!=1){
fehler();
printf("Bitte Obergrenze eingeben: ");
}
} while(getchar()!='\n');
if(unterg>=oberg){
fehler();
printf("\n");
}
} while(unterg>=oberg);
/***** Ausdruck, Spielanleitung *****/
printf("\n\nBitte geben sie nach jedem Versuch R, G oder K. Je nachdem ob\n");
printf("R die Zahl richtig ist\n");
printf("G die Zahl Groesser ist\n");
printf("K die Zahl Kleiner ist\n\n");
int versuch=0, zahl=0, gewonnen=0;
do{
++versuch;
zahl=(unterg+oberg)/2;
printf("%d. Versuch: %d\n", versuch, zahl);
scanf("%c%*c", &antwort);
switch(antwort){
case 'G':
case 'g': unterg=zahl; break;
case 'K':
case 'k': oberg=zahl; break;
case 'J':
case 'j': printf("Erraten\n"); gewonnen=1; break;
default: printf("Bitte verwenden sie nur die Buchstaben R, G und J\n");
versuch--;
}
} while(gewonnen==0);
printf("Diene Nummer lautet: %d\n", zahl);
printf("Wollen sie noch ein Spiel? J(a)/N(ein): ");
scanf("%c%*c", &antwort);
if(antwort=='j'){
wieder=1;
printf("\n\n---NUE GAME---\n\n");
}
else if(antwort=='J'){
wieder=1;
printf("\n\n---NUE GAME---\n\n");
}
else
wieder=0;
} while(wieder==1);
printf("\n\n---GAME OVER---\n\n");
return EXIT_SUCCESS;
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
