Funktion in C++ programmieren

Neue Frage »

Auf diesen Beitrag antworten »
Azuro Funktion in C++ programmieren

Meine Frage:

Ich beschäftige mich momentan mit Funktionen und bräuchte bitte Hilfe bei dieser Aufgabe:
Schreiben Sie eine Funktion, mit der überprüft werden kann, ob das übergebene Datum, z.B. Ein Geburtstag, im aktuellen Jahr noch stattfinden wird. Gehen Sie davon aus, dass Sie eine vordefinierte Hilfs-Funktion- deren Prototyp Datum today (); lautet- aufrufen können, die Ihnen das aktuelle Datum zurück gibt.
Nun zu meinen Fragen, was habe ich richtig und was falsch gemacht, wie kann ich die HilfsFunktion mehr in mein Programm eingliedern. Das Problem ist, die hilfsfunktion besteht aus Tag, Monat, Jahr, da kann ich Noins Geburtstag nicht der HilfsFunktion gleichsetzen, da nur das Jahr geprüft werden soll. Wie kann ich das lösen?
Bin für jede Hilfe dankbar

PS: Muss ich bei dieser Aufgabe arrays benutzen?

Meine Ideen:
Meine Ansätze sind auf dem Foto
 
Auf diesen Beitrag antworten »
eulerscheZahl

Der angehängte Code sieht tatsächlich ein bisschen aus wie C++.
Hast du die struct innerhalb einer Methode definiert, oder Programmlogik außerhalb einer Methode? Beides wäre falsch.
Variablennamen haben keine Leerzeichen (Noin Geburtstag) und ändern ihren Namen im Laufe des Programms auch nicht (Noin birthday)
Mit cin musst du Tag, Monat, Jahr einzeln einlesen und daraus ein Datum erstellen.
Ich kann nicht einmal die Intension erkennen.
Auf diesen Beitrag antworten »
AzuroChiko Funktion

Dass man Tag/ Monat/ Jahr einzeln eingeben muss klingt logisch, danke

Was meinst du mit struct innerhalb einer Methode oder außerhalb ?

Meinst du die hauptfunktion int Main und den dazugehörigen Rest ?
Auf diesen Beitrag antworten »
eulerscheZahl

Dein Bild ist ja nur ein Ausschnitt des Codes (hoffe ich zumindest).
Ich weiß nicht, wie weit dein Kenntnisstand ist, hoffe der Code ist nicht zu kompliziert:
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:
#include <stdio.h>

struct Datum {
	unsigned int Jahr;
	unsigned int Monat;
	unsigned int Tag;
};

//die Funktion ist nicht unsere Aufgabe, deshalb ein fester WErt zum Testen
struct Datum* today() { 
	struct Datum* result = malloc(sizeof(struct Datum)); //TODO: check for NULL
	result->Jahr = 2016;
	result->Monat = 10;
	result->Tag = 17;
	return result;
}

int main() {
	unsigned int jahr, monat, tag;
	printf("Datum eingeben (jahr.monat.tag): ");
	scanf("%d.%d.%d", &jahr, &monat, &tag);
	struct Datum geburtstag;
	geburtstag.Jahr = jahr;
	geburtstag.Monat = monat;
	geburtstag.Tag = tag;
	struct Datum heute = *today();
	
	if (geburtstag.Monat > heute.Monat ||
			geburtstag.Monat == heute.Monat && geburtstag.Tag >= heute.Tag) {
		printf("Der Geburtstag findet noch statt\n");
	}
	else {
		printf("Der Geburtstag war dieses Jahr schon\n");
	}
}
 
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »