#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int zufallszahl();

int versuche;

int zufallszahl() {
	/* Funktion gibt bei besonderen Zahlen 1 zurück, ansonsten 0. */
	int var = rand() % 100;
	switch(var) {
		case 0 :	printf("Die Zufallszahl ist besonders; sie ist 0.\n"); break;
		case 2 :	printf("Die Zufallszahl ist besonders; sie ist 2.\n"); break;
		case 5 :	printf("Die Zufallszahl ist besonders; sie ist 5.\n"); break;
		case 23 :	printf("Die Zufallszahl ist besonders; sie ist 23.\n"); break;
		case 42 :	printf("Die Zufallszahl ist besonders; sie ist 42.\n"); break;
		case 97 :	printf("Die Zufallszahl ist besonders; sie ist 97.\n"); break;
		default:	printf("Die Zufallszahl ist einfach nur %i.\n", var);
					return 0;
	}
	return 1;
}

int main (void) {
	srand(time(0));
	printf("\nErzeuge 10 Zufallszahlen...\n");
	for (versuche=0; versuche<10; versuche++)
		zufallszahl();
	printf("\nErzeuge solange Zufallszahlen, bis eine Besondere dabei ist...\n");
	do {
		versuche++;
		printf("Versuch #%i:\n", (versuche - 10));
	} while (!zufallszahl());
	printf("(%i Versuche bis zur besonderen Zufallszahl)\n", (versuche - 10));
	printf("\nFalls insgesamt <20 Zufallszahlen, machen wir die 20 voll...\n");
	while (versuche < 20) {
		versuche++;
		printf("Zufallszahl #%i:\n", versuche);
		zufallszahl();
	}
	printf("\n\nInsgesamt wurden %i Zufallszahlen generiert!\n", versuche);
	getchar();
	return 0;
}