Name: Klasse/ Katalognr.: 1BHIF / 03 Aufnamenummer: 20130235 Programmname: hue06_.c Termin: 24. April 2015 Abgabe: 30. April 2015 Programmbeschreibung: Es ist ein Programm zu schreiben, dass die für ein bestimmtes Geburtsdatum aktuellen Biorythmuswerte eines Menschen für das aktuelle Systemdatum und die nächsten 29 Tage in geeigneter Form am Bildschirm darstellt. Dabei ist das Geburtsdatum über die Tastatur einzulesen.
Inhalt
Angabe
Es ist ein Programm zu schreiben, dass die für ein bestimmtes Geburtsdatum aktuellen Biorythmuswerte eines Menschen für das aktuelle Systemdatum und die nächsten 29 Tage in geeigneter Form am Bildschirm darstellt. Dabei ist das Geburtsdatum über die Tastatur einzulesen.
Für jeden der drei Bereiche
• physisch (p)
• emotinell (e)
• geistig (g)
kann der Biorythmuswert (zwischen -1.0 und 1.0) wie folgt berechnet werden:
d….Anzahl der gelebten Tage
dp….Divisionsrest von d durch 23
de….Divisionsrest von d durch 28
d….Divisionsrest von d durch 33 Nun ergibt sich:
Hinweise:
• sin(x) kann mit Hilfe der Bibliotheksfunktion
double sin double(x); <math.h> berechnet werden. In <math.h> ist auch die Preprozessorkonstante M_PI für π definiert.
• Zerlegen Sie das Problem soweit wie möglich in Funktionen. Es sind wenigstens folgende Funktionen bindend:
– int pruefeDatum(int tag, int monat, int jahr);
Prüft, ob das übergebene Datum gültig ist. Schaltjahre sind zu berücksichtigen.
– int tage(int t1, int m1, int j1, int t2, int m2, int j2);
Berechnet die Tage, die zwischen den beiden Datumswerten t1/m1/j1 und t2/m2/j2 vergangen sind. – double physisch(int tage);
• Download Link zum vollständigen und leserlichen Text • Dies ist eine Tauschbörse für Dokumente • Laden sie ein Dokument hinauf, und sie erhalten dieses kostenlos • Alternativ können Sie das Dokument auch kаufen
Dieser Textabschnitt ist in der Vorschau nicht sichtbar. Bitte Dokument downloaden.
47 int fehler = 0;
48 printf("Herzlich Willkommen im Biorhythmus-Kalender von ");
49
50 // Bestimmung des heutigen Datums
51 heute_tag = aktTag();
52 heute_monat = aktMonat();
53 heute_jahr = aktJahr();
54
55 printf("\nHeute ist der %02d.%02d.%4d",heute_tag,heute_monat,heute_jahr);
56 printf("\nBitte geben Sie Ihr Geburtsdatum ein (dd.mm.jjjj) --> ");
57 do
58 {
59 fehler = 0;
60 fflush(stdin);
61 ge = scanf("%d.%d.%d%c",&geb_tag,&geb_monat,&geb_jahr,&ch);
62 if (ch != '\n' || ge != 4)
63 {
64 printf("\n\nSie haben offensichtlich kein gueltiges Datum eingegeben! FEHLER!\n");
65 printf("Bitte geben Sie Ihr Geburtsdatum ein (dd.mm.jjjj) --> ");
66 fehler++;
67 }
68
69 // Ueberprueft das Datum
70 if (!fehler && datum_ueberpruefen(geb_jahr,geb_monat,geb_tag))
71 fehler++;
72 }
73 while (fehler);
74 // AUSGABE + Berechnen der Anzahl der Tage
75 ausgabe(anzahl_tage(heute_tag,heute_monat,heute_jahr,geb_tag,geb_monat,geb_jahr /* Berechnen der Anzahl der Tage*/));
76
77 return 0;
78 }
79
80 // FUNKTIONEN
81 // Ueberprueft das Datum auf seine Richtigkeit
82 int datum_ueberpruefen(int fjahr, int fmonat, int ftag)
83 {
84 int ffehler = 0; // Ob ein Fehler passiert ist
85 if (fjahr < 1850) // Wenn das Jahr <1850
86 {
87 printf("\n\nSie sind wirklich vor 1850 geboren? Das glaube ich Ihnen nicht!");
Sequenz In der folgenden Übersicht ist eine Methode, die einen Roboter namens karol eine Reihe aus drei Ziegeln legen lässt, auf drei verschiedene Weisen dargestellt. Dabei steht links die Methode in der aus der 7. Klasse bekannten Form für das Werkzeug Karol, rechts ist die Umsetzung in Javasyntax…
...[weiter lesen]
G 2 - Cached Page: Thursday 28th of March 2024 11:35:41 PM