Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Funktionen (Call by Value) in C plus plus

Frage Entwicklung C und C++

Mitglied: Abdelhalim

Abdelhalim (Level 1) - Jetzt verbinden

15.11.2006, aktualisiert 16.11.2006, 5247 Aufrufe, 2 Kommentare

Hi Leute ich bin gerade dabei Funktionen (call by value) kennen zu lernen.
ich habe eine Frage die ich noch nicht lösen kann. Wollte mal fragen, ob jemand die Quellcode schreiben könnte und ich Ihn dann mal sehen könnte um ein besseres Verständnis zu bekommen.

Erstellen Sie eine C++ Funktion, mit der man ermitteln kann , ob ein Jahr ein Schaltjahr ist. Es gelten folgende Regeln:

Jahr, die nicht durch 4 ohne Rest teilbar sind , sind keine Schaltjahre.

Ein Jahr, das durch 4, durch 100 und durch 400 ohne Rest teilbar ist, ist ein Schaltjahr.

Ein Jahr, das durch 4 und 100 (und nicht durch 400) ohne Rest teilbar ist, ist kein Schaltjahr.

Ein Jahr, das durch 4 (und nicht durch 100) ohne Rest teilbar ist, ist ein Schaltjahr.

Der Übergabeparameter für die Funktion ist das Jahr (Datentyp:int). Die Funktion sollen an das aufrufende Programm die Anzahl der Tage des Monats Februar zurückgeben, d.h. bei einem Schaltjahr 29 Tage ansonsten 28 Tage.

Puhh das wars.


Wenn einer eine Lösung könnte er diese bitte senden.


Danke.


Ps. Ist es tichtig das Call-By-Value (eine Kopie der Daten übergibt) und Call-By-Reference die original Datei übergibt???
Mitglied: DaSam
15.11.2006 um 21:02 Uhr
Hi,

ein solches Programm werde ich jetzt nicht schreiben, dafür gibt es schon genügend Treffer in den bekannten Suchmaschinen.

Zur Frage: Call by reference übergibt letztendlich einen Pointer auf die übergebene Variable (also eine Referenz). Call by value erstellt in der Funktion praktisch eine dort gültige Variable mit dem Inhalt der Übergabe. Änderungen am Variablenwert werden sich nicht auf die im aufrunfenden Programmteil deklarierte Variable auswirken (weil Kopie), bei call by refernce werden Wertänderungen in der Variablen auch im aufrufenden Programmteil übernommen. So ist es z.B. auch möglich, mehrere Werte bei einer Funktion als "Quasi-Rückgabewert" zu bekommen.

Puuh ...

cu,
Alex
Bitte warten ..
Mitglied: Biber
16.11.2006 um 01:25 Uhr
Moin Abdel,

wie schon geschrieben, zu IsLeapYear()/IsLeapYr() gibt es jede Menge Beispielimplementierungen.
Sinngemäß und ungetestet wäre der Mainstream in etwa...

01.
int daysInFebruary( int year) 
02.
03.
    if ((year%400==0) || ((year %4==0) && (year%100 !=0))) 
04.
05.
        return 29; // wie das bei Schaltjahren so is' 
06.
07.
     
08.
    else 
09.
10.
        return 28; // sonst...ein Arbeitstach weniger... kein Schaltjahr 
11.
12.
}
- oder, der Normalfall in C[whatever] über ein #define-Makro
01.
  
02.
#define ISLEAPYEAR(Y)     ( ((Y)>0) && !((Y)%4) && ( ((Y)%100) || !((Y)%400) ) ) 
03.
.... 
04.
... 
05.
int daysInFebruary( int year) 
06.
07.
    return ( (ISLEAPYEAR(year)) ? 29 :28); 
08.
}
Und es ist völlig normal, wenn Du für diese Aufgabe viele verschiedene Lösungen findest und Deine selbst gebastelte auch ein wenig anders aussieht.

Gruß Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Fragen zu einer for-Funktion
gelöst Frage von torben.djBatch & Shell3 Kommentare

Hallo zusammen, ich benötige Unterstützung bei der Weiterverarbeitung einer Variablen. Mit folgender Funktion lese ich den Vollständigen Namen eines ...

Humor (lol)
Call Center
Frage von ukulele-7Humor (lol)10 Kommentare

Ich hatte eben einen eigentlich lustigen Anruf, wenn es mir dieses dummdreiste Getue nicht so auf den Nerv gehen ...

C und C++
Wer wird Millionär in C programmieren Frage
Frage von fkildauC und C++3 Kommentare

Hallo, wir sollen im Rahmen unseres Studiums ein kleines Wer wird Millionär Programm schreiben. Bin absoluter Anfänger auf dem ...

Netzwerkgrundlagen
Frage zu Class B und C Netzwerk
Frage von deniska93Netzwerkgrundlagen4 Kommentare

Hallo liebes Forum. Kann ein Netz 10.1.9.0 mit 255.255.255.0 Bestandteil vom Netz 10.1.0.0 mit 255.255.0.0 sein? LG

Neue Wissensbeiträge
Windows 10

Windows 10 Hello-Anmeldung per Foto ausgehebelt

Tipp von kgborn vor 1 MinuteWindows 10

Windows Hello ist eine Funktion, um sich per Fingerabdruck-, Gesichts- oder Iriserkennung bei Windows 10-Geräten anzumelden (siehe), setzt aber ...

Perl

Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag

Information von Penny.Cilin vor 7 StundenPerl2 Kommentare

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 8 StundenSicherheit1 Kommentar

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 1011 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell22 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Netzwerkgrundlagen
Belibiges Teilnetz einer Subnetzmaske rausfinden?
gelöst Frage von CenuzeNetzwerkgrundlagen18 Kommentare

Wundervollen Gutentag, mittlerweile kann ich Subnetting so einigermaßen, aber ein Problem habe ich noch. Netzwerkadresse und Boradcast errechnen ist ...

Windows Server
SCCM 2016: PXE Boot des Clients schlägt fehl
Frage von gabeBUWindows Server14 Kommentare

Hallo Zusammen Ich habe eine Testumgebung erstellt um über SCCM 2016 einen virtuellen Client aufzusetzen. Folgende Maschinen habe ich ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless12 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...