Ausgabe einer Kompletten printf Datei nach Würfelwurf !

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
MartyMcFly1976
Beiträge: 34
Registriert: Sa Dez 06, 2014 5:56 pm

Ausgabe einer Kompletten printf Datei nach Würfelwurf !

Beitrag von MartyMcFly1976 » Sa Dez 06, 2014 6:02 pm

Hallo !

Ich sitze grade an meinen Hausaufgaben und soll ein Programm schreiben das mit zufällig eine Würfelzahl ausgibt. Das funtioniert einwandfrei aber ich möchte das Programm etwas "pimpen" und habe zu jeder Zahl einen Würfel programmiert den ich über die Bildschirmausgabe nun auch Anzeigen möchte.

D.h. Der Zufallsgenerator wirft mir eine drei, dann sollte der Würfel mit der Nummer drei auch angezeigt werden.

Könnte mir da jemand mit einem Tip weiterhelfen ?

Hier mein bis jetzt geschriebenes Programm :

Code: Alles auswählen

#include <stdio.h>
#include"conio.h"
#include <stdlib.h>
#include <time.h>

int main(void)
{
int zufallszahl;
int summe=0;
int eingabe;

printf("\t\t\tWillkommen im W\x81 \brfelprogramm\n\n\n\n");

srand(time(NULL));
printf("\t\t\t Ihre W\x81 \brfelzahl ist %d\n\n",zufallszahl=rand()%6+1);
Bis hierhin funktioniert die Ausgabe der Zufallszahl und nun soll nur noch der passende Würfel Angezeigt werden !

Code: Alles auswählen

//Die Eins Anzeigen

printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xfe \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");

// Die zwei Anzeigen

printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
printf("\t\t\t\t\xba \xfe \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xfe \xba\n");
printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");

// Die drei Anzeigen

printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
printf("\t\t\t\t\xba \xfe \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xfe \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xfe \xba\n");
printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");

// Die vier Anzeigen

printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
printf("\t\t\t\t\xba \xfe \xfe \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xfe \xfe \xba\n");
printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");

// Die fünf Anzeigen

printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
printf("\t\t\t\t\xba \xfe \xfe \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xfe \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xfe \xfe \xba\n");
printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");

// Die sechs Anzeigen

printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
printf("\t\t\t\t\xba \xfe \xfe \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xfe \xfe \xba\n");
printf("\t\t\t\t\xba \xba\n");
printf("\t\t\t\t\xba \xfe \xfe \xba\n");
printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");


getch();

return 0;
}
MfG und Danke schonmal für die Tips !

Marty

Edit by cloidneurx: Code-Tags

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Ausgabe einer Kompletten printf Datei nach Würfelwurf !

Beitrag von Bebu » So Dez 07, 2014 1:07 pm

Du brauchst ein Konstrollstruktur. Momentan läuft dein Programm einfach von oben nach unten durch und zeigt alle Würfelvarianten an.

Du kannst mit if-else oder mit case arbeiten.
Du kannst jetzt: Jede Anzeigevariante in eine eigene Funktion auslagern, oder eine Funktion schreiben, der du z.B. die Augenzahl mitgibst und dann funktionsintern das richtige Würfelbild ausgegeben wird. Eleganter ist Variante Zwei.

Gruß Bebu

Edit:

PS: Es gibt im Forum Code-Tags, dann kann man deinen Code auch leichter lesen.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

MartyMcFly1976
Beiträge: 34
Registriert: Sa Dez 06, 2014 5:56 pm

Re: Ausgabe einer Kompletten printf Datei nach Würfelwurf !

Beitrag von MartyMcFly1976 » So Dez 07, 2014 3:56 pm

Hallo !

Hmm, O.K. Danke für den Tip.

Ich hatte schon einen Taschenrechner mit der case Funktion programiert.

Das war aber ein menue was ich dann über ein Symbol zuordnen konnte + - * : ! dieses konnte ich dann einsetzen und die einzelnen case aufrufen. Jetzt hab ich aber nur den Würfelwurf und weiss nicht wo ich das Ergebnis rausziehen soll um es einem Würfel zuzuweisen !

O.K. Ich versuche das mal und dann poste ich es auch mit dem Code Tag !

MfG

Marty

MartyMcFly1976
Beiträge: 34
Registriert: Sa Dez 06, 2014 5:56 pm

Re: Ausgabe einer Kompletten printf Datei nach Würfelwurf !

Beitrag von MartyMcFly1976 » So Dez 07, 2014 4:37 pm

Code: Alles auswählen

#include <stdio.h>
#include"conio.h"
#include<stdlib.h>
#include <time.h>

int main(void) 
{	
        int zufallszahl;
        int summe=0;
        int eingabe;
		int (wahl);

		printf("\t\t\tWillkommen im W\x81 \brfelprogramm\n\n\n\n");
        srand(time(NULL));
        printf("\t\t\t Ihre W\x81 \brfelzahl ist %d\n\n",zufallszahl=rand()%6+1);
		switch(wahl)

		
		{
		case 1: //Die Eins Anzeigen
		printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
		printf("\t\t\t\t\xba       \xba\n");
		printf("\t\t\t\t\xba       \xba\n");
		printf("\t\t\t\t\xba   \xfe   \xba\n");
		printf("\t\t\t\t\xba       \xba\n");
		printf("\t\t\t\t\xba       \xba\n");
		printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");
		break;
		
				case 2:// Die zwei Anzeigen
				printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
				printf("\t\t\t\t\xba \xfe     \xba\n");
				printf("\t\t\t\t\xba       \xba\n");
				printf("\t\t\t\t\xba       \xba\n");
				printf("\t\t\t\t\xba       \xba\n");
				printf("\t\t\t\t\xba     \xfe \xba\n");
				printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");
				break;
						
						case 3:// Die drei Anzeigen
						printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
						printf("\t\t\t\t\xba \xfe     \xba\n");
						printf("\t\t\t\t\xba       \xba\n");
						printf("\t\t\t\t\xba   \xfe   \xba\n");
						printf("\t\t\t\t\xba       \xba\n");
						printf("\t\t\t\t\xba     \xfe \xba\n");
						printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");
						break;
						
								case 4:// Die vier Anzeigen
								printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
								printf("\t\t\t\t\xba \xfe   \xfe \xba\n");
								printf("\t\t\t\t\xba       \xba\n");
								printf("\t\t\t\t\xba       \xba\n");
								printf("\t\t\t\t\xba       \xba\n");
								printf("\t\t\t\t\xba \xfe   \xfe \xba\n");
								printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");
								break;
								
										case 5:// Die fünf Anzeigen
										printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
										printf("\t\t\t\t\xba \xfe   \xfe \xba\n");
										printf("\t\t\t\t\xba       \xba\n");
										printf("\t\t\t\t\xba   \xfe   \xba\n");
										printf("\t\t\t\t\xba       \xba\n");
										printf("\t\t\t\t\xba \xfe   \xfe \xba\n");
										printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");
										break;		
										
												case 6:// Die sechs Anzeigen
												printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
												printf("\t\t\t\t\xba \xfe   \xfe \xba\n");
												printf("\t\t\t\t\xba       \xba\n");
												printf("\t\t\t\t\xba \xfe   \xfe \xba\n");
												printf("\t\t\t\t\xba       \xba\n");
												printf("\t\t\t\t\xba \xfe   \xfe \xba\n");
												printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");
												break;
												}	
		getch();

		return 0;
}
So ich hab das nun mal so umgeschrieben !

Leider hab ich das nächste Problem mit Visual Studio.... Ich kann es nicht mehr überschreiben. Es nimmt keine Änderung mehr an die ich am Programm mache.

G.Marty
Zuletzt geändert von MartyMcFly1976 am So Dez 07, 2014 4:47 pm, insgesamt 1-mal geändert.

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Ausgabe einer Kompletten printf Datei nach Würfelwurf !

Beitrag von Bebu » So Dez 07, 2014 4:46 pm

Bezüglich Visual Studio kann ich dir jetzt nicht auf die schnelle helfen, aber im Programm steckt ein Denkfehler. Woher soll switch deine Zufallszahl kennen?

Lösungstipp: Variable nutzen...

Das mit den Codetags ist perfekt. Du solltest aber über das einrücken nachdenken. Warum rückst du jedes case weiter ein? Die sind gleichberechtigt und hängen nicht voneinander ab.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

MartyMcFly1976
Beiträge: 34
Registriert: Sa Dez 06, 2014 5:56 pm

Re: Ausgabe einer Kompletten printf Datei nach Würfelwurf !

Beitrag von MartyMcFly1976 » So Dez 07, 2014 5:00 pm

Das Problem mit dem Visual Studio hab ich gelöst ! Man das nervt wenn stundenlang probiert wird und dann sowas !

Programm aud der Liste gelöscht und neu erstellt :-)

So nun hab ich das nochmal sauber neu gerichtet und die "VARIABLE ZUFALLSZAHL" eingesetzt !

Funktioniert super !

Code: Alles auswählen

#include <stdio.h>
#include"conio.h"
#include<stdlib.h>
#include <time.h>

int main(void) 
{	
        int zufallszahl;
        int summe=0;
        int eingabe;

		printf("\t\t\tWillkommen im W\x81 \brfelprogramm\n\n\n\n");
        srand(time(NULL));
        printf("\t\t\t Ihre W\x81 \brfelzahl ist %d\n\n",zufallszahl=rand()%6+1);
		switch(zufallszahl)

		
			{
			case 1: //Die Eins Anzeigen
			printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba   \xfe   \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");
			break;
		
			case 2:// Die zwei Anzeigen
			printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
			printf("\t\t\t\t\xba \xfe     \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba     \xfe \xba\n");
			printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");
			break;
						
			case 3:// Die drei Anzeigen
			printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
			printf("\t\t\t\t\xba \xfe     \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba   \xfe   \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba     \xfe \xba\n");
			printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");
			break;
						
			case 4:// Die vier Anzeigen
			printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
			printf("\t\t\t\t\xba \xfe   \xfe \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba \xfe   \xfe \xba\n");
			printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");
			break;
								
			case 5:// Die fünf Anzeigen
			printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
			printf("\t\t\t\t\xba \xfe   \xfe \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba   \xfe   \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba \xfe   \xfe \xba\n");
			printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");
			break;		
										
			case 6:// Die sechs Anzeigen
			printf("\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb\n");
			printf("\t\t\t\t\xba \xfe   \xfe \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba \xfe   \xfe \xba\n");
			printf("\t\t\t\t\xba       \xba\n");
			printf("\t\t\t\t\xba \xfe   \xfe \xba\n");
			printf("\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc\n\n\n");
			break;
			}	
		getch();

		return 0;
}


Danke dir für die Unterstützung mit deinen Tips !

Funktioniert 1a ! Sehr geil !

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Ausgabe einer Kompletten printf Datei nach Würfelwurf !

Beitrag von Bebu » So Dez 07, 2014 5:29 pm

Kann man. Aber was soll das bringen? Scanf ist dazu da, eine Eingabe beim User abzufragen. Bei einem Würfelprogramm etwas sinnlos, außer du willst den User das Würfeln auf Tastendruck auslösen lassen.

Bei mir funktioniert es schon :P
In dieser Zeile steckt ein Fehler:

Code: Alles auswählen

switch(1,2,3,4,5,6)
Deine Zufallszahl steht in einem Int namens Zufallszahl. Nochmal die Frage: Woher soll diese Switchanweisung wissen, dass sie ausgerechnet mit dem Wert von Zufallszahl vergleichen soll, wenn du es ihr nicht sagst?

Code: Alles auswählen

switch(zufallszahl)
Switch besitzt keine Kristallkugel und sucht auch nicht nach Variablen die im Umfeld stehen. Du musst explizit sagen, womit swich vergleichen soll.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

MartyMcFly1976
Beiträge: 34
Registriert: Sa Dez 06, 2014 5:56 pm

Re: Ausgabe einer Kompletten printf Datei nach Würfelwurf !

Beitrag von MartyMcFly1976 » So Dez 07, 2014 6:38 pm

Hallo !

JA das hab ich gefunden mit dem 1,2,3,4,5,6 und gegen zufallszahl getauscht und oben reingeschrieben das es funktioniert :P :P !

Danke für deine Hilfe so stell ich mir das vor wenn ich was im Forum frage bzw. Poste !

Wünsche dir einen ruhigen Wochenstart !

MfG

Marty

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Ausgabe einer Kompletten printf Datei nach Würfelwurf !

Beitrag von Xin » Di Dez 09, 2014 1:16 pm

MartyMcFly1976 hat geschrieben:JA das hab ich gefunden mit dem 1,2,3,4,5,6 und gegen zufallszahl getauscht und oben reingeschrieben das es funktioniert :P :P !
Für mich war es recht verwirrend, Bebus Antworten zu lesen.

Bitte ändere vorherige Posts nur so, dass ihr ursprünglicher Inhalt erhalten bleibt und vor allem, dass nachfolgende Posts nicht unverständlich werden. Danke. :-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten