Προς το περιεχόμενο

το πρώτο μου πρόγραμμα σε c


^LeoNine^

Προτεινόμενες αναρτήσεις

Δημοσ.

κ τώρα έβαλα κ τους ελέγχους στην ημερομηνία + μερικές αλλαγές.. + καλύτερα comments

 

>/* Made by LeoNine */
/* vriski ti mera itan mia sugkekrimeni mera apo to 1901 eos to 2100 */

#include <stdio.h>


int main()
{


int byear,bmonth,bday,mv,dv,fores,reseter,metritis;
int ys,ms,ds,orio;


reseter=1; /* ta midenizo kalou kakou */
metritis=0;
byear=0;
bmonth=0;
bday=0;
mv=0;
dv=0;
fores=0;

ys=0; /* gia na elegxo tis imerominies,min perasounn to orio */
ms=0;
ds=0;
orio=31;


while (ys==0) {
	printf("Δώσε ένα έτος απο το 1901-2100\n");    /* zitaei tin imerominia */
	scanf("%d",&byear);
	if ( (byear>1900) && (byear<2101) )
	ys=1;
	else printf("Δώσε σωστή χρονιά\n");
			}

while (ms==0) {
	printf("Δώσε έναν Μήνα (1-12)\n");
	scanf("%d",&bmonth);
	if ( (bmonth>0) && (bmonth<13) )
	ms=1;
	else printf("Δώσε σωστό μήνα\n");
			}

while (ds==0) {  
	printf("Δώσε μία Ήμερα (1-31)\n");
	scanf("%d",&bday);
	
	switch (bmonth) {
	case 1:
		orio=31;
		break;
	case 2:
		if (byear%4==0)  /* se disekta eti vazei orio 29 allios 28 */
		orio=29;
		else orio=28;
		break;
	case 3:
		orio=31;
		break;
	case 4:
		orio=30;
		break;
	case 5:
		orio=31;
		break;
	case 6:
		orio=30;
		break;
	case 7:
		orio=31;
		break;
	case 8:
		orio=31;
		break;
	case 9:
		orio=30;
		break;
	case 10:
		orio=31;
		break;
	case 11:
		orio=30;
		break;
	case 12:
		orio=31;
		break;
	}

if ( (bday>0) && (bday<=orio) )
ds=1;
else printf("Δώσε σωστή μέρα\n");

}

fores=byear-1901; /* upologizei pose fores prepei na ginei i loopa */



switch (bmonth) /* dini mia timi analoga ton mina vasi tou diinekes imerologiou */

{
	case 1:
		mv=2;
		break;
	case 2:
		mv=5;
		break;
	case 3:
		mv=5;
		break;
	case 4:
		mv=1;
		break;
	case 5:
		mv=3;
		break;
	case 6:
		mv=6;
		break;
	case 7:
		mv=1;
		break;
	case 8:
		mv=4;
		break;
	case 9:
		mv=0;
		break;
	case 10:
		mv=2;
		break;
	case 11:
		mv=5;
		break;
	case 12:
		mv=0;
		break;
		
}

		for (metritis=0; metritis<fores; metritis++) /* loopa mexri na ftasi stin xronia k na dosi tin sosti timi ston mina */
	
			{
	
					if (mv==7)
						mv=0;
	
					if (mv==8)
						mv=1;
	
	
	
				
					if ((3>bmonth>0)&&(reseter==4))
						{ 
							++mv;
							reseter=0;
						}
	
					if ((bmonth>2)&&(reseter==3))
						{
							++mv;
							reseter=-1;
						}
	
				++reseter;
				++mv;
	
					if (mv==7)
						mv=0;
	
					if (mv==8)
						mv=1;
	
			}


								

dv=bday+mv; /* prostheti tin mera me tin timi tou mina tis ekastis xronias gia na vroume tin mera */

if (dv>=8)
	dv=dv%7;

printf("\n\n%d\\%d\\%d ήταν:",bday,bmonth,byear);

switch(dv)  /* vriski tin mera */
{
	case 0:
		printf ("Σαββάτο.\n");
		break;
	case 1:
		printf ("Κυριακή.\n");
		break;
	case 2:
		printf ("Δευτέρα.\n");
		break;
	case 3:
		printf ("Τρίτη.\n");
		break;
	case 4:
		printf ("Τετάρτη.\n");
		break;
	case 5:
		printf ("Πέμπτη.\n");
		break;
	case 6:
		printf ("Παρασκευή.\n");
		break;
	case 7:
		printf ("Σαββάτο.\n");
		break;
		
}

printf("\n\n\n");
return 0;

}

 

---------- Προσθήκη στις 11:37 ---------- Προηγούμενο μήνυμα στις 10:58 ----------

 

http://rapidshare.com/files/390984636/findday0.3.zip

gcc se mac(exec)

 

---------- Προσθήκη στις 12:38 ---------- Προηγούμενο μήνυμα στις 11:37 ----------

 

πιθανόν να τρέχει σε unix η linux

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...