ProggiProblem

Hier der Quelltext
Code:
/* bspl0018.c */
#include <stdio.h>
#include <string.h>
main() {
	int jahr,monat,tage;
	char MonName[15];
	printf(\"\n\tK a l e n d e r\n\");
	printf(\"\nBitte Jahr eingeben: \");
	scanf(\"%i\",&jahr);
	printf(\"Bitte Monat eingeben: \");
	scanf(\"%i\",&monat);
	if (monat>=1 && monat <=12 && jahr > 1582) {
		switch (monat) {
          case 2:
				if (!((jahr%100)%4) && (jahr%100) || !(jahr%400))
					tage = 29; MonName = \"Februar\";
				else
					tage = 28; MonName = \"Februar\";
				break;
			case 1: tage = 31; MonName = \"Januar\"; break;	
			case 3: tage = 31; MonName = \"Maerz\"; break;
			case 4: tage = 30; MonName = \"April\"; break;
			case 5: tage = 31; MonName = \"Mai\"; break;
			case 6: tage = 30; MonName = \"Juni\"; break;
			case 7: tage = 31; MonName = \"Juli\"; break;
			case 8: tage = 31; MonName = \"August\"; break;
			case 9: tage = 30; MonName = \"September\"; break;
			case 10: tage = 31; MonName = \"Oktober\"; break;
case 11: tage = 30;  MonName = \"November\"; break; 
case 12: tage = 31;  MonName = \"Dezember\"; break;
			

		}
		printf(\"\nIm Jahr %i hat der %s %i Tage\",jahr,MonName,tage);
	}
	else
		printf(\"\nFalsche Datumsangaben!\");


getch();
return 0;
}

Es gibt Probleme mit Char, wer kann mir sagen wo was falsch ist.

Greets sagt Daniel
 
Mach mal statt MonName = "sowieso" ein strcpy(MonName,"sowieso); Dann wirds auch funktionieren. Oder nimm strncpy();

Code:
#include <stdio.h>
#include <string.h>

int main() 
{
int jahr,monat,tage;
char MonName[15];

printf(\"\n\tK a l e n d e r\n\");
printf(\"\nBitte Jahr eingeben: \");
scanf(\"%i\",&jahr);
printf(\"Bitte Monat eingeben: \");
scanf(\"%i\",&monat);

if (monat>=1 && monat <=12 && jahr > 1582) 
{
switch (monat) 
{
          case 2:
		if (!((jahr%100)%4) && (jahr%100) || !(jahr%400))
		{
			tage = 29; 
			strcpy(MonName,\"Februar\");
		}
		else
		{
		tage = 28; strcpy(MonName,\"Februar\");
		}
		break;
	  case 1: tage = 31; strcpy(MonName,\"Januar\"); break;
	  case 3: tage = 31; strcpy(MonName,\"Maerz\"); break;
	  case 4: tage = 30; strcpy(MonName,\"April\"); break;
	  case 5: tage = 31; strcpy(MonName,\"Mai\"); break;
	  case 6: tage = 30; strcpy(MonName,\"Juni\"); break;
	  case 7: tage = 31; strcpy(MonName,\"Juli\"); break;
	  case 8: tage = 31; strcpy(MonName,\"August\"); break;
	  case 9: tage = 30; strcpy(MonName,\"September\"); break;
	  case 10: tage = 31; strcpy(MonName,\"Oktober\"); break;
	  case 11: tage = 30; strcpy(MonName,\"November\"); break; 
	  case 12: tage = 31; strcpy(MonName,\"Dezember\"); break;


}
printf(\"\nIm Jahr %i hat der %s %i Tage\",jahr,MonName,tage);
}
else
printf(\"\nFalsche Datumsangaben!\");


getch();

return 0;
}
 
@PeaceTreaty

Ämm, wie soll ich es am besten Ausdrücken. Thanks. Ich kann mich nur bei dir bedanken. Naja es geht und das ist das wichtigste.

Tausend dank an dich. Vor allen das du so schnell reagiert hast. Richtig klasse von dir.


Grüße sagt Daniel
 
Zurück
Oben