Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Softwaretechnik » C - Funktionsausgabe in TXT speichern » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen C - Funktionsausgabe in TXT speichern
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
LightSideOfLife
Mitglied


Dabei seit: 24.11.2015
Beiträge: 27

C - Funktionsausgabe in TXT speichern Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Leute!
Für mein SoftwareTechnik Praktikum sollte ich einen kleinen Geldautomaten programmieren.
Wir sollten den Automat vor allem in verschiedene Funktionen unterteilen.
Ich habe die Aufgabe bereits gelöst und mein Code sieht nun so aus:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
#include <stdio.h>

int schein[7] = {500,200,100,50,20,10,5};
int scheinanzahl[7] = {0,0,0,0,0,0,0};
FILE *Datei;

int BetragEingeben(){
	int eingabe;
		do{
			printf("Wie viel Geld möchten Sie abheben? (5er Schritte) ");
			scanf("%d", &eingabe);
			if (eingabe % 5 != 0)
				printf("\nUngültige Eingabe! \n\n");
		}
		while (eingabe % 5 != 0);
	return eingabe;
}

int* AnzahlBerechnen(int rest, int i){
		if (rest > 0){
			if (rest >= schein[i]){
				scheinanzahl[i] = rest/schein[i];
				rest = rest % schein[i];}
			AnzahlBerechnen(rest, i+1);
		}
			return scheinanzahl;
}


int Ausgabe(int schein[], int scheinanzahl[]){
	int i;
	printf("\nDer Automat drückt folgende Scheine raus: \n\n Anzahl\t |     Schein\n");
	printf("-----------------------\n");
	for (i = 0; i < 7; i++){
		/*if (scheinanzahl[i] != 0){*/
		printf("   %d \t |\t%d\n",scheinanzahl[i], schein[i]);
		/*}*/
		
	}
}

void Speichern(){
	int i;
	Datei = fopen("Log.txt","w");
	for (i = 0; i < 7; i++)
		fprintf(Datei,"%d x %d, ",scheinanzahl[i], schein[i]);
	fclose(Datei);
}

main()
{
	Ausgabe(schein,AnzahlBerechnen(BetragEingeben(), 0));
	Speichern();
}



Ich möchte jetzt aber nicht (wie bereits geschehen) nur sinngemäß die Lösung in Log.txt speichern, sondern die komplette Ausgabe meiner Funktion "Ausgabe()".
Ich habe es bereits mit stdout versucht aber kam auch nicht weiter.
Falls mir wer helfen kann wäre ich sehr dankbar smile

Freundliche Grüße,
Marvin
06.01.2016 14:28 LightSideOfLife ist offline Beiträge von LightSideOfLife suchen Nehmen Sie LightSideOfLife in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Warum machst du dann nicht einfach zu übrigen printf auch alle zu fprintf (bzw. zusätzlich)?
Du solltest die Datei dann aber mit "a" wie append öffnen, statt "w", da sonst alles vorherige ersetzt wird.

Alternativ kannst du auch beim Programmstart sagen, dass die Ausgabe gespeichert werden soll: wenn du das Programm in der Console startest, geht das mit programmname > ausgabe.txt. Dabei wird aber sämtliche Ausgabe umgeleitet.

__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von eulerscheZahl: 06.01.2016 15:05.

06.01.2016 15:03 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
LightSideOfLife
Mitglied


Dabei seit: 24.11.2015
Beiträge: 27

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke, ich werde es mal versuchen!

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von LightSideOfLife: 06.01.2016 15:29.

06.01.2016 15:28 LightSideOfLife ist offline Beiträge von LightSideOfLife suchen Nehmen Sie LightSideOfLife in Ihre Freundesliste auf
LightSideOfLife
Mitglied


Dabei seit: 24.11.2015
Beiträge: 27

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich hätte nochmal eine Frage:
Unser Prof gab uns auf die Funktion "AnzahlBerechnen" rekursiv zu lösen.
Meine Funktion ist rekursiv, oder nicht?
Sie ruft sich selbst auf, also gehe ich davon aus, dass dies die korrekte Lösung ist.
Oder müsste ich dies anders lösen?
07.01.2016 14:35 LightSideOfLife ist offline Beiträge von LightSideOfLife suchen Nehmen Sie LightSideOfLife in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Passt so, ist rekursiv.

Gruß,

Karlito
07.01.2016 14:59 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Elisa59
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Guten Tag,

ich bin über Mr. und Dr. Goohle auf die Aufgabe gestoßen und hab da einige Fragen zu. Ist da jemand eventuell, der mir die ein oder andere Frage beantworten könnte?

Viele Grüße

Elisa
27.12.2017 11:02
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Softwaretechnik » C - Funktionsausgabe in TXT speichern