# include <stdio.h>
# include <stdlib.h>
# include <string.h>
int punkte=10;
struct fragen{
char frage[120];
char antwort1[40];
char antwort2[40];
char antwort3[40];
int loesung;
};
struct highscore{
char name[20];
int punkte;
}abc[6];
void ausgabe(struct fragen nr){
int a;
char b;
printf("\nFrage:%s\n\n1.%s\n2.%s\n3.%s \n\n1, 2 oder 3?" , nr.frage , nr.antwort1 , nr.antwort2 , nr.antwort3);
scanf("%d" , &a);
if(a!=nr.loesung){
punkte-=2;
printf("Falsche Antwort!\n Dein Punktestand:%d\n" , punkte);
}
else {
punkte++;
printf("Richtig!\n Dein Punktestand:%d\n" , punkte);
}
printf("\nWeiter? j/n");
scanf("%c" , &b);
scanf("%c" , &b);
if(b =='n'){
exit(0);
// return 1;
}
}
void scannen(void){ /*Liest die 'alte Highscoreliste ein*/
FILE *smth;
smth = fopen("Highscoreliste.txt","r");
if(smth !=NULL)
{
int i;
for ( i=0; i<6; i++)
{
fscanf(smth, "%s %i\n" , abc[i].name,&abc[i].punkte);
}
fclose(smth);
}
else
{
smth = fopen("Highscoreliste.txt","w");
fclose(smth);
}
}
void eintragen(){ /*Hier kann man seinen Namen eintragen, Punkte werden übernommen*/
printf("Trag dich in den Highscore ein! Name:\n");
char nome[20];
scanf("%20s", nome);
printf("Punkte: %d\n\n\n" , punkte);
if(punkte>abc[5].punkte){
abc[5].punkte = punkte; /*eingegebene Werte werden, falls punkte höher als die des letzten...*/
strcpy(abc[5].name,nome); /*Listenelements, abc[5](siehe struct highscore) zugeordnet*/
}
}
void sortieren(){/*eingegebene Werte werden, falls höher, einsortiert*/
struct highscore temp;
int i;
int j=0;
while(j<10)
{
for(i=0; i<5; i++)
{
if(abc[i+1].punkte>abc[i].punkte)
{
temp=abc[i+1];
abc[i+1]=abc[i];
abc[i]=temp;
}
}
j++;
}
}
void speichern(){
FILE *smth;
smth = fopen("Highscoreliste.txt", "w");
if(smth == NULL)
{
exit(1);
}
int i;
for(i=0; i<6; i++)
{
fprintf(smth,"%s %i\n" , abc[i].name, abc[i].punkte);
}
fclose(smth);
}
void listen(){
int ch;
FILE *smth;
smth =fopen("Highscoreliste.txt", "r");
printf("Highscoreliste:\n\n");
ch=fgetc(smth);
while(!feof(smth)){
putchar(ch);
ch=fgetc(smth);
}
fclose(smth);
}
void Ende(int punkte){
if(punkte<=0){
printf("\n %i Punkt(e), dein Tank ist leer! Deine Reise endet hier. \n\n ", punkte);
exit(0);
}
}
int main (){
char b;
printf("\nSei gegruesst! Lust auf eine Reise?\n Fahr mit dem Auto einmal quer durch Europa!\n Jede Station bietet hierbei eine neue Frage die beantwortet werden muss:\n Am Anfang hast du 10 Punkte.\n Fuer jede richtige Antwort gibt es einen Punkt,\n fuer jede Falsche werden 2 Punkte abgezogen.\n Sobald dein Punktestand 0 erreicht hat, ist das Spiel vorbei.\n Moechtest du es versuchen? [j/n]\n\n");
printf(" ....ooooo$$$$$$ooooooo..\n ..ooo$$$$$$$$$$$$$$$$$$$$$$$$$$oo\n oo**o$* *'$$* **$\n o* $$ * $$ *$\n o* $o * $$ *$ oo\n o*o* $ $*o*$ *$ o*o*$*$*$*$$$$$$o$$$$$$$$$oo\n $$$$$$$$o*$$$$$$$$$$ oooooo..*o*$$$$$o$$$*$$$$$$o\n o$$$$$$$$$$*$oo$$$$$$$ $$$$$oo$$$oo **$$$$$$$$$$$$$$$ooo\n .oo*o*$$$$$$$*$$$$$$$$$$o$o*.oooo$$*$$$oo*$$$$$$$o$$$$$$$$$$$o\n $$$$o $$$$$$$*$$$$$$$$$$*oo$$$$$$$$$$****$o$$$$$$*$$$$$$o$$o* *\n o$$$$$ o$o$$$o*$$$$$$$$$o$$$*$*$$$4o$o *$$$$$$$$$*$$$$o$ $ *\n o$*o $$ $$$$$$*$$$$$$$$*$$$$$$$*o$$$$$o..o$$$*$$$$$$ $$$$$*oo*oo$\n oo*$*$o$$o$$*$*$$$$$$*$$$$o* $$$o$*$$$o$$o$$$$*$$$$$$o$$$*$o$$$$$\n * * $$$*** $$*$o$$$$$$$$$$* $ $$$$$$$$$$$$$$$$$$$*$$$o$o$$$$$o$\n *o$$$' * $$$$* *$* $$$$$$$$$$$$$$o$$$$$$$$$$$$$$$$$\n *** $ *$$$$$***** ** *$$$$$$$$*\n o *$$$$$ **$$$$$*\n **$$$$$$*\n ");/*Gibt Bild aus*/
scanf("%c" , &b);
if(b =='n'){
exit(0);
}
struct fragen frage1={
.frage="Wann war der beruehmte Mauerfall?",
.antwort1="1979",
.antwort2="1989",
.antwort3="1985",
.loesung=2,
};
struct fragen frage2={
.frage="Welche der folgenden Beilagen wurde in Belgien erfunden?",
.antwort1="Pommes Frites",
.antwort2="Risotto",
.antwort3="Kroketten",
.loesung=1,
};
struct fragen frage3={
.frage="Was repraesentiert das Nationalwappen Luxemburgs?",
.antwort1="blauer Baer",
.antwort2="goldener Adler",
.antwort3="roter Loewe",
.loesung=3,
};
struct fragen frage4={
.frage="Wie hoch ist der Eiffelturm?",
.antwort1="296m",
.antwort2="324m",
.antwort3="375m",
.loesung=2,
};
struct fragen frage5={
.frage="Seit vielen hundert Jahren steht nun Lissabon die Burg\n 'Castelo de Sao Jorge' - wann wurde sie erbaut?",
.antwort1="11.Jhd.",
.antwort2="13. Jhd.",
.antwort3="15. Jhd.",
.loesung=1,
};
struct fragen frage6={
.frage="Welchen (dt.) Spitznamen trägt der Fernsehturm 'Torre Espana' in Madrid ?",
.antwort1="Loeffel",
.antwort2="Eis am Stiel",
.antwort3="Lutscher",
.loesung=3,
};
struct fragen frage7={
.frage="Bei welchem Spiel der Fussballweltmeisterschaft (1954)\n ereignete sich das Wunder von Bern?",
.antwort1="Schweiz gegen Ungarn",
.antwort2="Deutschland gegen Ungarn",
.antwort3="Schweiz gegen Deutschland",
.loesung=2,
};
struct fragen frage8={
.frage="An welchem Fluss liegt Rom?",
.antwort1="Rhein",
.antwort2="Themse",
.antwort3="Tiber",
.loesung=3,
};
struct fragen frage9={
.frage="Was ist ein Dulioe?",
.antwort1="ein blauer Fleck",
.antwort2="ein Rausch bzw. Schwips",
.antwort3="ein Lied",
.loesung=2,
};
struct fragen frage10={
.frage="In Budapest findet man die groesste Sanduhr der Welt - Wie heisst sie?",
.antwort1="Zeitrad",
.antwort2="Chronos",
.antwort3="Zilean",
.loesung=1,
};
struct fragen frage11={
.frage="Wie heißt die Waehrung Tschechiens?",
.antwort1="Lira",
.antwort2="Yen",
.antwort3="Kronen",
.loesung=3,
};
struct fragen frage12={
.frage="Wer sind die Brueder Lolek und Bolek?",
.antwort1="Politiker",
.antwort2="Zeichentrickfiguren",
.antwort3="Schriftsteller",
.loesung=2,
};
struct fragen frage13={
.frage="Welchen Namen traegt die schoenste Kathedrale Moskaus?",
.antwort1="Basilius-Kathedrale",
.antwort2="Catalin-Kathedrale",
.antwort3="Basilisk-Kathedrale",
.loesung=1,
};
struct fragen frage14={
.frage="Welches sind die offiziellen Sprachen Finnlands?",
.antwort1="Franzoesisch und Finnisch",
.antwort2="Schwedisch und Finnisch",
.antwort3="Norsk und Finnisch",
.loesung=2,
};
struct fragen frage15={
.frage="Welches Denkmal ist das kleinste Daenemarks\n und auch eins der kleinsten der Welt?",
.antwort1="die kleine Meerjungfrau",
.antwort2="Schneewittchens Zwerge",
.antwort3="die kleinen Teufelchen",
.loesung=1,
};
int i;
for(i=0;i<6;i++)
{
strcpy(abc[i].name,"Niemand");
abc[i].punkte=0;
}
ausgabe ( frage1 );
ausgabe ( frage2 );
ausgabe ( frage3 );
ausgabe ( frage4 );
Ende (punkte);
ausgabe ( frage5 );
Ende (punkte);
ausgabe ( frage6 );
Ende (punkte);
ausgabe (frage7);
Ende (punkte);
ausgabe ( frage8 );
Ende (punkte);
ausgabe (frage9);
Ende (punkte);
ausgabe ( frage10 );
Ende (punkte);
ausgabe (frage11);
Ende (punkte);
ausgabe ( frage12 );
Ende (punkte);
ausgabe (frage13);
Ende (punkte);
ausgabe ( frage14 );
Ende (punkte);
ausgabe (frage15);
Ende (punkte);
printf("Herzlichen Glueckwunsch! Das war die letzte Frage, deine Reise endet hier!");
printf("\n\n ....ooooo$$$$$$ooooooo..\n ..ooo$$$$$$$$$$$$$$$$$$$$$$$$$$oo\n oo**o$* *'$$* **$\n o* $$ * $$ GEWONNEN *$\n o* $o * $$ *$ oo\n o*o* $ $*o*$ *$ o*o*$*$*$*$$$$$$o$$$$$$$$$oo\n $$$$$$$$o*$$$$$$$$$$ oooooo..*o*$$$$$o$$$*$$$$$$o\n o$$$$$$$$$$*$oo$$$$$$$ $$$$$oo$$$oo **$$$$$$$$$$$$$$$ooo\n .oo*o*$$$$$$$*$$$$$$$$$$o$o*.oooo$$*$$$oo*$$$$$$$o$$$$$$$$$$$o\n $$$$o $$$$$$$*$$$$$$$$$$*oo$$$$$$$$$$****$o$$$$$$*$$$$$$o$$o* *\n o$$$$$ o$o$$$o*$$$$$$$$$o$$$*$*$$$4o$o *$$$$$$$$$*$$$$o$ $ *\n o$*o $$ $$$$$$*$$$$$$$$*$$$$$$$*o$$$$$o..o$$$*$$$$$$ $$$$$*oo*oo$\n oo*$*$o$$o$$*$*$$$$$$*$$$$o* $$$o$*$$$o$$o$$$$*$$$$$$o$$$*$o$$$$$\n * * $$$*** $$*$o$$$$$$$$$$* $ $$$$$$$$$$$$$$$$$$$*$$$o$o$$$$$o$\n *o$$$' * $$$$* *$* $$$$$$$$$$$$$$o$$$$$$$$$$$$$$$$$\n *** $ *$$$$$***** ** *$$$$$$$$*\n o *$$$$$ **$$$$$*\n **$$$$$$*\n\n\n ");
scannen();
eintragen();
sortieren();
speichern();
listen();
return 0;
}