Willkommen | 
	 
	| 
	 | 
 
 
 
		
  
myGully | 
	 
	| 
	
	 | 
 
 
 
		
  
Links | 
	 
	| 
	
	 | 
 
 
 
		
  
Forum | 
	 
	| 
	
	 | 
 
 
 
      | 
  | 
 
	
		  | 
	
	
 
 
		
	
	
	
		
	
	
	
		
			
			 
			21.09.10, 23:22
			
			
		 | 
		
			 
			#1
			
		 | 
	
 
	| 
			
			 Anfänger 
			
			
			
			
				 
				Registriert seit: Mar 2010 
				
				
				
					Beiträge: 46
				 
				 
	
		
			
				 Bedankt: 6 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
				 
				Datumsrechner in C !
			 
			 
			
		
		
		
			
			Hallo leute, 
habe hier eine aufgabe und wollte fragen ob ihr  mir eine musterlösung geben könnt, da ich bei dieser aufgabe total übervordert bin, es handelt sihc um einen datumsrechner, inden man 2 beliebige daten eingibt und er die tage unterschied ausrechnet.  
ausführliche aufgabenstellung: nur noch aufgabe dank warnung von germgerm    
Datumsrechnen 
Schreib ein Programm, das zwei Datumsangaben als Eingabe bekommt und den Zeitraum zwischen den beiden in Tagen ausgibt. 
Ein- und Ausgabe 
Das Programm wird mit zwei Datumsangaben als Argumente auf der Befehlszeile aufgerufen. Beide müssen die Form ddmmyyyy (8-stellige Zahl) haben. 
Als Ausgabe wird nur eine Zahl (Zeitspanne in Tagen, nicht zerlegt auf Tage, Monate und Jahre) erwartet. 
Berechnung 
Dein Programm sollte folgenden Ablauf haben: 
•Berechne für beide eingegebenen Datumangaben (dargestellt jeweils als ein einziger int, nicht als einzelne Zeichen) die “Anzahl der Tage seit 1.1.0001”. 
•Gib die Differenz dieser Tage aus.
 
danke im vorraus lg. jan   
		 
		
		
		
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			22.09.10, 10:57
			
			
		 | 
		
			 
			#2
			
		 | 
	
 
	| 
			
			 Banned 
			
			
			
			
				 
				Registriert seit: Aug 2010 
				
				
				
					Beiträge: 178
				 
				 
	
		
			
				 Bedankt: 70 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			Hmm, vielleicht solltest Du erst erklären warum Du überfordert bist! 
 
So eine Aufgabe ist eigentlich super leicht zu lösen und wenn Du jetzt schon überfordert bist, dann würde ich mir überlegen, ob Du das Richtige für Dich studierst (falls Du studierst). Alles was Du beachten musst steht ja sogar auf dem Übungsblatt. 
 
Bringt Dir doch letztendlich nichts, wenn Dir jemand eine Musterlösung schreibt...
		 
		
		
		
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			22.09.10, 14:06
			
			
		 | 
		
			 
			#3
			
		 | 
	
 
	| 
			
			 Anfänger 
			
			
			
			
				 
				Registriert seit: Mar 2010 
				
				
				
					Beiträge: 46
				 
				 
	
		
			
				 Bedankt: 6 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			ich bräuchte nur einen lösungsansatz, es liegt daran, dass wir einen neuen lehrer in programmieren bekommen haben, dessen niveau  erheblich höher ist.
		 
		
		
		
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			22.09.10, 19:26
			
			
		 | 
		
			 
			#4
			
		 | 
	
 
	| 
			
			 Mitglied 
			
			
			
				
			
			
				 
				Registriert seit: Aug 2009 
				Ort: void* (*wtf[])(void **); 
				
				
					Beiträge: 423
				 
				 
	
		
			
				 Bedankt: 137 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			fang' doch damit an, die hilfsfunktionen zu implementieren und einzeln zu testen. 
alles in allem finde ich das eine sehr ausführliche und gelungene aufgabenstellung.
		 
		
		
		
		
		
		
			
				__________________ 
				entropie erfordert keine wartung   
			 
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			22.09.10, 19:53
			
			
		 | 
		
			 
			#5
			
		 | 
	
 
	| 
			
			 Anfänger 
			
			
			
			
				 
				Registriert seit: Mar 2010 
				
				
				
					Beiträge: 46
				 
				 
	
		
			
				 Bedankt: 6 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			so hatten das programm heute im praktischen unterricht, ja so ähnlich habe ich angefangen aber dann waren die 2 stunden vorbei und ich hatte vllt 5-10% des programms, muss einfach nochmal dazu sagen das der lehrer neu an unserer schule ist und das die aufgaben sehr viel schwerer sind als die vom ehemaligen lehrer, deswegn würdet ihr mir sehr helfen mit einer musterlösung, ihr müsst es nicht tun aber wäre euch schon sehr dankbar   
		 
		
		
		
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			22.09.10, 20:41
			
			
		 | 
		
			 
			#6
			
		 | 
	
 
	| 
			
			 bla 
			
			
			
			
				 
				Registriert seit: Mar 2010 
				
				
				
					Beiträge: 304
				 
				 
	
		
			
				 Bedankt: 303 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			cool, euer lehrer hat kein handy! 
o-ton: lieber ein telefonloses kabel als ein kabelloses telefon ^^ 
 
ich würde im forum aber trotzdem mit solchen links ein bißchen vorsichtiger umgehen...
		 
		
		
		
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			22.09.10, 21:01
			
			
		 | 
		
			 
			#7
			
		 | 
	
 
	| 
			
			 Mitglied 
			
			
			
				
			
			
				 
				Registriert seit: Aug 2009 
				Ort: void* (*wtf[])(void **); 
				
				
					Beiträge: 423
				 
				 
	
		
			
				 Bedankt: 137 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
				 
				
			 
			 
			
		
		
		
			
			eine musterlösung wirst du hier nicht bekommen. 
allerdings werden wir deine  konkrekten  fragen beantworten.
 
naja ok, musterlösung+testcode für istSchaltJahr()   
	Code: 
	#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
/*bool*/ int  istSchaltJahr (int j) {
	return (!(j % 400)) || (j % 100 && (!(j % 4)));
	/* oder explizit:
	if (j % 400 == 0) return 1;
	if (j % 100 == 0) return 0;
	if (j % 4 == 0) return 1;
	return 0;
	*/
}
int main (int ac, char ** av) {
	if (ac < 2) {
		printf ("blablala usage....\n");
		return -1;
	}
	if (strlen (av[1]) != 8) {
		printf ("blablala usage3 (kein datum)....\n");
		return -1;
	}
	int datum_1 = atoi (av[1]);
	if (datum_1 == 0) {
		printf ("blablala usage2....\n");
		return -1;
	}
	int tage_1 = datum_1 / ((int) pow (10, 6));
	int monate_1 = (datum_1 / ((int) pow (10, 4))) - tage_1*100;
	int jahre_1 = datum_1 - (tage_1*((int) pow (10,6)) + monate_1*((int) pow(10,4)));
	printf ("eingabe %d == tage(%d), monate(%d), jahre (%d) schaltjahr? (%s)\n", datum_1, tage_1, monate_1, jahre_1, istSchaltJahr (jahre_1) ? "ja" : "nein");
        return 0;
}
 ich hoffe, das hilft.   
		 
		
		
		
		
		
		
			
				__________________ 
				entropie erfordert keine wartung   
			 
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			22.09.10, 23:07
			
			
		 | 
		
			 
			#8
			
		 | 
	
 
	| 
			
			 Anfänger 
			
			
			
			
				 
				Registriert seit: Mar 2010 
				
				
				
					Beiträge: 46
				 
				 
	
		
			
				 Bedankt: 6 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			ok vielen dank ich werde mich am wochen ende hinhocken und mich daran versuchen   , wieso vorsichtig sein? die seite ist öffentlich zugängig oder was meinst du konkret?
		  
		
		
		
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			23.09.10, 20:10
			
			
		 | 
		
			 
			#9
			
		 | 
	
 
	| 
			
			 bla 
			
			
			
			
				 
				Registriert seit: Mar 2010 
				
				
				
					Beiträge: 304
				 
				 
	
		
			
				 Bedankt: 303 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			ich meine nur, falls du anonym bleiben möchtest.
		 
		
		
		
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			23.09.10, 21:41
			
			
		 | 
		
			 
			#10
			
		 | 
	
 
	| 
			
			 Anfänger 
			
			
			
			
				 
				Registriert seit: Mar 2010 
				
				
				
					Beiträge: 46
				 
				 
	
		
			
				 Bedankt: 6 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			achso ja danke, habe den link entfehrnt. wann ist man heute schon anonym :P
		 
		
		
		
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			23.09.10, 23:30
			
			
		 | 
		
			 
			#11
			
		 | 
	
 
	| 
			
			 Banned 
			
			
			
			
				 
				Registriert seit: Aug 2010 
				
				
				
					Beiträge: 178
				 
				 
	
		
			
				 Bedankt: 70 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			Dann wär der Klaus Kusche aber nicht so erfreut   
		 
		
		
		
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			24.09.10, 09:14
			
			
		 | 
		
			 
			#12
			
		 | 
	
 
	| 
			
			 Anfänger 
			
			
			
			
				 
				Registriert seit: Mar 2010 
				
				
				
					Beiträge: 46
				 
				 
	
		
			
				 Bedankt: 6 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			Ja habe anfangs nicht daran gedacht dass Adresse etc da steht   
		 
		
		
		
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			30.09.10, 16:28
			
			
		 | 
		
			 
			#13
			
		 | 
	
 
	| 
			
			 Ist öfter hier 
			
			
			
			
				 
				Registriert seit: Jan 2010 
				
				
				
					Beiträge: 185
				 
				 
	
		
			
				 Bedankt: 117 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			
	Zitat: 
	
	
		
			
				
					Zitat von  urga
					 
				 
				eine musterlösung wirst du hier nicht bekommen. 
allerdings werden wir deine  konkrekten  fragen beantworten.
 
naja ok, musterlösung+testcode für istSchaltJahr()   
	Code: 
	...
	int tage_1 = datum_1 / ((int) pow (10, 6));
	int monate_1 = (datum_1 / ((int) pow (10, 4))) - tage_1*100;
	int jahre_1 = datum_1 - (tage_1*((int) pow (10,6)) + monate_1*((int) pow(10,4)));
	printf ("eingabe %d == tage(%d), monate(%d), jahre (%d) schaltjahr? (%s)\n", datum_1, tage_1, monate_1, jahre_1, istSchaltJahr (jahre_1) ? "ja" : "nein");
        return 0;
}
 ich hoffe, das hilft.    
			
		 | 
	 
	 
 
Schön geschriebener Code, aber noch 1 verbesserung von meiner Seite: 
Nimm umbedingt die "pow" anweisungen raus und ersetze sie durch hardcodierte zahlen. Die "pow"-Funktion hier zu nutzen, wäre wie mit Kanonen auf Tontauben zu schießen (-->Komplexität der Funktion)
 
Ansonsten viel Erfolg (und ruhig mal ein wenig ranklotzen bei dem Lehrer, der scheint was drauf zu haben    )
		  
		
		
		
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			30.09.10, 18:10
			
			
		 | 
		
			 
			#14
			
		 | 
	
 
	| 
			
			 Banned 
			
			
			
			
				 
				Registriert seit: Aug 2010 
				
				
				
					Beiträge: 178
				 
				 
	
		
			
				 Bedankt: 70 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			
	Zitat: 
	
	
		
			
				
					Zitat von  wmosebach
					 
				 
				Schön geschriebener Code, aber noch 1 verbesserung von meiner Seite: 
Nimm umbedingt die "pow" anweisungen raus und ersetze sie durch hardcodierte zahlen. Die "pow"-Funktion hier zu nutzen, wäre wie mit Kanonen auf Tontauben zu schießen (-->Komplexität der Funktion)
 
Ansonsten viel Erfolg (und ruhig mal ein wenig ranklotzen bei dem Lehrer, der scheint was drauf zu haben    )  
			
		 | 
	 
	 
 Wo ist der schön geschriebene Code? 
Ich sehe viel zu lange Zeilen, unnötige Berechnungen... und das in vier Zeilen   
Soll nicht böse gemeint sein, aber was Code-Qualität bedeutet sollte man so früh wie möglich lernen...
		  
		
		
		
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			30.09.10, 19:44
			
			
		 | 
		
			 
			#15
			
		 | 
	
 
	| 
			
			 Mitglied 
			
			
			
				
			
			
				 
				Registriert seit: Aug 2009 
				Ort: void* (*wtf[])(void **); 
				
				
					Beiträge: 423
				 
				 
	
		
			
				 Bedankt: 137 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			a) (int) pow (10,6) sollte schon zur compilezeit berechnet werden. 
b) klar kann man das eindampfen, aber dann wirds nicht unbedingt nachvollziehbar (für den threadersteller) 
c) und ja, auch über code-ästhetik  kann man streiten. 
@PP wie würdest du denn die 3 werte berechnen? berausche uns mit deiner fachkenntnis!
		 
		
		
		
		
		
		
			
				__________________ 
				entropie erfordert keine wartung   
			 
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			30.09.10, 21:59
			
			
		 | 
		
			 
			#16
			
		 | 
	
 
	| 
			
			 Newbie 
			
			
			
			
				 
				Registriert seit: Apr 2009 
				
				
				
					Beiträge: 77
				 
				 
	
		
			
				 Bedankt: 21 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			eine andere frage hätte ich an Jewbacca2010, interessiert mich nur so, ich hatte früher nicht so schöne aufgaben (nur tubo pascal und da nur schrott programmiert) welche jahrgangsstufe und was für schule (real?gym?)
		 
		
		
		
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
			
			 
			01.10.10, 11:14
			
			
		 | 
		
			 
			#17
			
		 | 
	
 
	| 
			
			 Ist öfter hier 
			
			
			
			
				 
				Registriert seit: Jan 2010 
				
				
				
					Beiträge: 185
				 
				 
	
		
			
				 Bedankt: 117 
			
		
	 
				
				 
				
				     
			 
	 | 
	
	
	
		
		
			
			
			 
			
		
		
		
			
			@PP 
natürlich kann man alles wunderbar verschachteln, aber blickt dann ein Anfänger wie der TE da noch durch bzw kann seinem Lehrer dass am Ende erklären... 
 
@urga 
in bezug auf "pow"-Funktion ging es mir primär darum, dass man probieren sollte diese Funktion nach Möglichkeit zu umgehen, da ihre Verfahrensweise einfach ein wenig "extrem" ist und viel zu viele Vergleiche führt, die an dieser Stelle total unnötig sind.  
Auch ich habe sie liebend gern früher verwendet, bis ich mir mal den Quellcode von ihr angesehn habe und dieser einfach nur total freaky war. Aus diesem Grund versuche ich Anfänger direkt von dieser Funktion fernzuhalten
		 
		
		
		
		
		
		
		
	 | 
 
	
		 
		
		
		
		
		 
	 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
 
 
 
	 
	
		 
	 
 
 
	
		
	
	
	
	
	
		
	
		 
		Forumregeln
	 | 
 
	
		
		Du kannst keine neue Themen eröffnen 
		Du kannst keine Antworten verfassen 
		Du kannst keine Anhänge posten 
		Du kannst nicht deine Beiträge editieren 
		 
		
		
		
		
		HTML-Code ist Aus. 
		 
		
	  | 
 
 
	 | 
	
		
	 | 
 
 
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:26 Uhr. 
		 
	 
 
 (). 
	
	
		
	
	
 
 |