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

Informatiker Board » Themengebiete » Theoretische Informatik » Funktion in C++ programmieren » 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 Funktion in C++ programmieren
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Azuro
Grünschnabel


Dabei seit: 01.11.2016
Beiträge: 1

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

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

Azuro hat dieses Bild (verkleinerte Version) angehängt:
1478013278525.jpeg

01.11.2016 16:15 Azuro ist offline E-Mail an Azuro senden Beiträge von Azuro suchen Nehmen Sie Azuro 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

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.

__________________
Syntax Highlighting fürs Board (Link)
01.11.2016 16:55 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
AzuroChiko
Grünschnabel


Dabei seit: 31.10.2016
Beiträge: 1

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

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 ?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von AzuroChiko: 01.11.2016 17:38.

01.11.2016 17:37 AzuroChiko ist offline Beiträge von AzuroChiko suchen Nehmen Sie AzuroChiko 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

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");
	}
}


__________________
Syntax Highlighting fürs Board (Link)
01.11.2016 18:03 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Funktion in C++ programmieren