Mysmilies.net die Smilies Datenbank

Script oder Datei finden :

 
-Startseite
-Newsarchiv
-Newsletter
-Mein Dreamcodes
-Scripte
-eBooks
-Online Speicher
-Datenbanken
-Webseiten
-Trickfilm
-Web Grafiken
-Bildbearbeiter
-Browser
-EMail Software
-Ftp Clienten
-Betriebssysteme
-Texteditoren
-Wampserver
-Office Pakete
-Antivirus
-System Cleaner
-Recovery Tools
-Php Schnipsel
-Ajax Schnipsel
-VB Schnipsel
-Tutorials
-Workshops
-Webkatalog
-Leserforum
-Erweiterte Suche
-Sitemap
-Impressum
-neuste Downloads

1. Selfphp (1851)
2. Xampp OS X (1737)
3. Xampp Linux (1726)
4. Xampp Windows (1750)

-neuste Tutorials

1. Samsung S20 rooten (2172)
2. Gratis USA Nummer (15921)
3. RAID (14735)
4. Text auf Grafik (15588)


Tutorials Differenz zweier Daten berechnen (Modularisierung)

 

Differenz zweier Daten berechnen (Modularisierung)

Ich werde hier kein fertiges Programm posten, das heisst ich werde ganz von vorne bei der Programmentwicklung anfangen


1) Aufgabenstellung

Es soll ermittelt werden wieviel Tage zwischen einem Anfangsdatum und einem Endtaums bestehen. Ausserdem soll überprüft werden ob die Eingabe plausibel ist. Es wird mit dem Kaufmännischen Datum gerechnet.

2) Beschreibung der Aufgabe




3) Modularisierung

Die Aufgabe wird jetzt in verschiedene Funktionen (Module) unterteilt.
Vorteil: Man kann bestimmte Module für andere Programme später verwenden, z.B. Prüfe Datum.




4) Beschreibung der Module

4.1) void LeseDatum (↑↓jahrjahr;↑↓Monat;↑↓Tag)
Liest ein Datum ein, prüft es und wiederholt ggf. die Eingabe.

4.2)DatumKorrekt PrüfeDatum (↓Jahr;↓Monat;↓Tag)
Vergleicht Programmieraufgabe: PrüfeDatum.cpp

4.3)SchaltjahrKorrekt PrüfeSchaltjahr (↓Jahr)

4.4) ↑AnzahlTage (↓Jahr;↓Monat;↓Tag)
Bestimmt die AnzahlTage nach folgender Formel:

anzahlTage: jahr*360+(moant-1)+30+tag

4.5)differenz Bestimme Differenz (↓wert1;↓wert2);

Bestimmt die differenz nach folgender Formel:

Differenz:wert1-wert2

4.6) void AusgabeDifferenz (↓Ausgabewert)
Gibt einen Wert auf den Bildschirm aus.

5) Sturkturgramm

....


6) Quelltext

#include stdio.h //in spitze Klammern
#include conio.h //in spitze Klammern

long ErmittleAnzahlTage(int tag, int monat, int jahr)
{
long zwischenergebniss;
zwischenergebniss = jahr * 360 + ((monat * 1) * 30) + tag;
return zwischenergebniss;
}

long ErmittleDifferenz(int wert1, int wert2)
{
long differenz;
differenz = wert1 - wert2;
return differenz;
}

void AusgabeDifferenz(long differenz)
{
printf ("\nDie Differenz ist %li Tage", differenz);
}

int SchaltjahrPlausibel(int jahr)
{
int letztertag;
if(((jahr%4)==0) && ((jahr%100)!=0) || ((jahr%400)==0))
{
letztertag = 29;
}
else
{
letztertag = 28;
}
return letztertag;
}

int DatumPlausibel(int tag,int monat, int jahr)
{
int letztertag, schaltjahr, plausibel=0;

switch(monat)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:letztertag = 31;
break;
case 4:
case 6:
case 9:
case 11:letztertag = 30;
break;
default:
letztertag = SchaltjahrPlausibel(jahr);

}

if(jahr > 0 && jahr < 9999 && monat >= 1 && monat <= 12 && tag >= 1 && tag <= letztertag)
{
plausibel = 1;
}
else
{
plausibel = 0;
printf ("\n ** Darum war nicht Plausibel, nochmal eingeben! **");
getch();
clrscr();
}
return plausibel;
}

void LeseDatum(int &tag, int &monat, int &jahr)
{
do
{
printf("\nTag: ");
scanf ("%i", &tag);
printf("Monat: ");
scanf ("%i", &monat);
printf("Jahr: ");
scanf ("%i", &jahr);
}while (DatumPlausibel(tag,monat,jahr) == 0);
}

void main(void)
{
int tagAnfang,
monatAnfang,
jahrAnfang,
tagEnde,
monatEnde,
jahrEnde,
anzahlTageAnfang,
anzahlTageEnde;
long differenz;

LeseDatum(tagAnfang,monatAnfang,jahrAnfang);
LeseDatum(tagEnde,monatEnde,jahrEnde);
anzahlTageAnfang = ErmittleAnzahlTage(tagAnfang,monatAnfang,jahrAnfang);
anzahlTageEnde = ErmittleAnzahlTage(tagEnde,monatEnde,jahrEnde);
differenz = ErmittleDifferenz(anzahlTageAnfang,anzahlTageEnde);
AusgabeDifferenz(differenz);
}

Quellcode
Bei Rückfragen einfach posten.
(c) liegt bei mir.

 
Seiten : 1
hinzugefügt am : 29.01.2004
Autor : Blumeheinz
Listings ID : 208
Status zum lesen : Gast
gelesen : 5607 mal
[Kommentare sehen/schreiben] [Druckansicht] [Lesercharts] [RSS] [zur Übersicht]
 
 

Die Möglichkeit diesen Artikel zu verlinken :

HTML-Code:

Code zum Einbinden in ein Forum:


Hinweis : Das lesen des Artikels Differenz zweier Daten berechnen (Modularisierung) - listings ID: 208 auf Dreamcodes, sowie Link Verweise auf Internetseiten fremder Anbieter erfolgen auf eigene Gefahr. Dreamcodes haftet nicht für Schäden, die aus der Verwendung des Inhaltes der Artikel erfolgen könnten. Schadenersatzansprüche, aus welchem Rechtsgrund auch immer, sind ausgeschlossen !
-Live Statistik
Datum: 22.11.2024
Uhrzeit: 00:59 Uhr
Online: 31 User
User heute: 1397
User allgem.: 35312054

Eingeloggt als Gast
-Download des Monats
-
-unsere Monats Umfrage
Welche Serie ist besser?

The Blacklist
House of the Dragon
Die Ringe der Macht
The Sandman
Manifest

-unsere Bestseller