Kategori Sprachen

GIP 8

Mittwoch, November 28th, 2007
#include 
#include 

using namespace std;

void zahlen(short int z, string &zt);

int main()
{
    short int zahl;
    string zahlentext;

    while(true)
	{
    	cout << "Zahl = ? ";
        cin >> zahl;
        zahlen(zahl, zahlentext);
        cout << zahl << " = " << zahlentext << endl;
	}
    return 0;
}

void zahlen(short z, string &zt)
{
     string einer[9] = {"ein", "zwei", "drei",
                        "vier", "fuenf",
                        "sechs", "sieben",
                        "acht", "neun"};
     string zehner [2] = {"zwanzig", "dreissig"};
     if(z== 20)
          zt = zehner[0];
     else if(z==30)
          zt = zehner[1];
     else if(z>=21 && z<=39)
          zt = einer[(z%10)-1] + "und" + zehner[(z/10)-2];
     else
          zt = "unbekannt";
     //return zt;
}

GIP 7

Montag, November 19th, 2007
#include 
#include 

using namespace std;

int main(void)
{
	string text;
	int b[20]={0};

	cout << "Text = ? ";		
	getline(cin, text);

	int iz;
	for(int i=0; i < 20; i++)
	{
		if(text[i] == ' ')
		{
			b[iz]++;
			iz=0;
		}
		cout << text[i] << endl;				
	}
	// b[iz]++;

	for(int i=0; i < 20; i++)
	{
		if(b[i] > 0)
		{
			cout << endl << i << " ";
			for(int ii=0; b[i] > ii; ii++)
				cout << "#";
		}
	}
	return 0;	
}

GIP 6

Montag, November 12th, 2007
#include 

using namespace std;

int addiren( int augend, int addend  )
{
	return augend + addend;
}

int subtrahieren( int minuend, int subtrahend )
{
	return minuend - subtrahend;
}

int multiplizieren( int multiplikand, int multiplikator )
{
	return multiplikand * multiplikator;
}

int dividieren(int dividend, int divisor)
{
	if(divisor == 0)
	{
		return 0;
	}
	return dividend / divisor;
}

/* Überladene Funktionen */
double addiren( double augend, double addend  )
{
	return augend + addend;
}

double subtrahieren( double minuend, double subtrahend )
{
	return minuend - subtrahend;
}

double multiplizieren( double multiplikand, double multiplikator )
{
	return multiplikand * multiplikator;
}

double dividieren(double dividend, double divisor)
{
	if(divisor == 0)
	{
		return 0;
	}
	return dividend / divisor;
}


int main (void)
{
	char id, jn='j', ra;
	double erg=0, z1, z2;

	do 
	{

		cout << "Minirechner: (i)nteger oder (d)ouble ? ";
		cin >> id;
		
		if(id != 'i' && id != 'd')
			continue;			

		cout << "Zahl 1 = ? "; 
		cin >> z1;

		cout << "Rechenart (+ - * /) ? ";
		cin >> ra;

		cout << "Zahl 2 = ? ";
		cin >> z2;

		if(id == 'i')
		{
			z1 = (int)z1;
			z2 = (int)z2;

			switch(ra)
			{
				case '+':
					erg = addiren( (int)z1, (int)z2 );
					break;
				case '-':
					erg = subtrahieren( (int)z1, (int)z2 );
					break;
				case '*':
					erg = multiplizieren( (int)z1, (int)z2 );
					break;
				case '/':
					erg = dividieren( (int)z1, (int)z2 );
					break;
				default:
					break;	
			}
		}
		else 
		/* if(id == 'd') */
		{
			switch(ra)
			{
				case '+':
					erg = addiren( z1, z2 );
					break;
				case '-':
					erg = subtrahieren( z1, z2 );
					break;
				case '*':
					erg = multiplizieren( z1, z2 );
					break;
				case '/':
					erg = dividieren( z1, z2 );
					break;
				default:
					break;	
			}
		}		
		cout << z1 << ra << z2 << "=" << erg << endl; 
		
		cout << "Noch einmal (j/n)? ";
		cin >> jn;
		
	} 
	while (jn == 'j');	

	return 0;
}

GIP 5

Montag, November 5th, 2007
#include 

using namespace std;

void hw(void)
{
	cout << "Hello wordl!" << endl;
}

void cbv1(double d)
{
	cout << d << endl;	
}

char cbv2 (double d)
{
	if(d >= 0)
	{
		return 'p';
	}
	return 'n';
}
void cbr1(float &f)
{
	f = 12.345;
}

int cube(int l, int b, int h=1)
{
	return l * b * h;
}

int main (void)
{
	/* Aufgabe a) */
	hw();

	/* Aufgabe b) */
	cout << "Wert von a in cbv1 = ";
	cbv1(12.6);

	/* Aufgabe c) */
	double d = 7.1234;
	cout << "Wert von a in cbv1 = ";
	cbv1( d );

	/* Aufgabe d) */
	cout << "Ergebnis von cbv2 mit Parameter -23: " << cbv2 (-23) << endl;;
	cout << "Ergebnis von cbv2 mit Parameter +10: " << cbv2 (10) << endl;;

	/* Aufgabe e) */
	float f=0;
	cout << "Vor dem Aufruf von cbr1: f = " << f << endl;
	cbr1(f);
	cout << "Vor dem Aufruf von cbr1: f = " << f << endl;
	
	/* Aufgabe f) */
	cout << "Daten (L: 10 B: 11 H: 12)" << endl << "Rauminhalt: " << cube( 10, 11, 12 ) << endl;

	cout << "Daten (L: 10 B: 11 H: 1)" << endl << "Flaeche: " << cube( 10, 11 )  << endl;

	return 0;	
}

GIP 4

Montag, Oktober 29th, 2007
#include 
#include 

using namespace std;

int game(int max);

int main (void)
{
	int level=0;

	while(true)
	{
		cout << "Welchen Level moechten Sie spielen? (1, 2 oder 3) ";
		cin >> level;

		switch(level)
		{
			case 1:
				return game(10);			
				break;
			case 2:
				return game(100);
				break;
			case 3:
				return game(1000);
				break;
			default:
				break;
		}
	}
	return 0;
}

int game(int max)
{
	int ip=0, zahl=0;

	srand ( time(NULL) );
	zahl = rand()%max + 1;

	for(int i=1; ip != zahl; i++ )
	{
		cout << "Zahl = ? (1 bis " << max << ") ";
		cin >> ip;
		
		if(ip < zahl)
		{
			cout << "Die eingegebene Zahl ist zu klein!" << endl << endl;
		}
		else if (ip > zahl)
		{
			cout << "Die eingegebene Zahl ist zu gross!" << endl << endl;
		}
		else if(ip == zahl)
		{
			cout << "Richtig! Die Zahl lautet " << zahl << endl <<"Sie haben " << i << " Versuche gebraucht." << endl << endl;
			return i;
		} 
		else 
			--i;
	}
	return 0;
}