Cod sursa(job #396329)

Utilizator shnakoVlad Schnakovszki shnako Data 14 februarie 2010 22:56:11
Problema Lapte Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 6.61 kb
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <conio.h>
int i, raz, ray, rax, ra1, ra2, sw; 
char azichar[9], adj[10][40], loc[10][40], wish[10][40];

typedef struct salut
{
	int sz;
	char s[20];
};

salut sal[10];

typedef struct alint
{
	int sz;
	char s[20];
};

alint ali[10];

typedef struct date
{
	int z, l, a;
};

date t[5], start[5], azi;

void dateaza(void)
{
	azi.z=10*(azichar[3]-48)+(azichar[4]-48);
	azi.l=10*(azichar[0]-48)+(azichar[1]-48);
	azi.a=2000+10*(azichar[6]-48)+(azichar[7]-48);
	
	start[1].z=3;
	start[1].l=7;
	start[1].a=2009;
	
	start[2].z=15;
	start[2].l=8;
	start[2].a=2009;
	
	start[3].z=3;
	start[3].l=9;
	start[3].a=2009;
	
	start[4].z=1;
	start[4].l=2;
	start[4].a=2010;
}

void random(void)
{
	long long a; 
	a=time(NULL);
	rax=a%10;
	a/=10;
	ray=a%10;
	a/=10;
	raz=a%10;
	a/=10;
	ra1=a%10;
	a/=10;
	ra2=a%10;
}

void declare(void)
{
	strcpy(adj[0], "frumoasa");strcpy(adj[1], "scumpa");strcpy(adj[2], "draguta");strcpy(adj[3], "minunata");strcpy(adj[4], "adorabila");strcpy(adj[5], "superba");strcpy(adj[6], "pampa");strcpy(adj[7], "magica");strcpy(adj[8], "micuta");strcpy(adj[9], "frumoasa");
	strcpy(loc[0], "din univers");strcpy(loc[1], "de pe pamant");strcpy(loc[2], "pe care o cunosc");strcpy(loc[3], "din galaxie");strcpy(loc[4], "din constelatie");strcpy(loc[5], "din Romania");strcpy(loc[6], "din univers");strcpy(loc[7], "de pe pamant");strcpy(loc[8], "din lume");strcpy(loc[9], "pe 500 de ani lumina in jur");
	strcpy(wish[0], "Sa te pup");strcpy(wish[1], "Sa ma suni");strcpy(wish[2], "Sa te iau in brate");strcpy(wish[3], "Sa te strofoc");strcpy(wish[4], "Sa te sarut");strcpy(wish[5], "Sa te vad");strcpy(wish[6], "Sa te aud la telefon");strcpy(wish[7], "Sa fii langa mine");strcpy(wish[8], "Sa ma joc cu tine");strcpy(wish[9], "Sa dorm cu tine");
	strcpy(sal[0].s, "Hey ");strcpy(sal[1].s, "Hello ");strcpy(sal[2].s, "Chaw ");strcpy(sal[3].s, "Ola ");strcpy(sal[4].s, "Hi ");strcpy(sal[5].s, "Hallo ");strcpy(sal[6].s, "Bonjour ");strcpy(sal[7].s, "Ciao ");strcpy(sal[8].s, "Szia ");strcpy(sal[9].s, "Ni hao ");
	sal[0].sz=4;sal[1].sz=6;sal[2].sz=5;sal[3].sz=4;sal[4].sz=3;sal[5].sz=6;sal[6].sz=8;sal[7].sz=5;sal[8].sz=5;sal[9].sz=7;
	strcpy(ali[0].s, "baby!");strcpy(ali[1].s, "gorgeous!");strcpy(ali[2].s, "beautiful!");strcpy(ali[3].s, "chica!");strcpy(ali[4].s, "iubi!");strcpy(ali[5].s, "scumpi!");strcpy(ali[6].s, "pampa!");strcpy(ali[7].s, "tzumpi!");strcpy(ali[8].s, "magic!");strcpy(ali[9].s, "sexy!");
	ali[0].sz=5;ali[1].sz=9;ali[2].sz=10;ali[3].sz=6;ali[4].sz=5;ali[5].sz=7;ali[6].sz=6;ali[7].sz=7;ali[8].sz=6;ali[9].sz=5;
}
void calculeaza(void)
{
	for (i=1;i<=4;i++)
	{
		sw=0;
		t[i].z=azi.z-start[i].z;
		if (t[i].z<0)
		{
			sw=1;
			t[i].z=30+t[i].z;
		}
		
		if (sw)
		{
			t[i].l=azi.l-start[i].l-1;
			sw=0;
		}
		else
			t[i].l=azi.l-start[i].l;
		
		if (t[i].l<0)
		{
			t[i].l=12+t[i].l;
			sw=1;
		}
		
		if (sw)
			t[i].a=azi.a-start[i].a-1;
		else
			t[i].a=azi.a-start[i].a;
	}
}

void salutare(void)
{
	printf("+");
	for (i=1;i<=sal[ra1].sz+ali[ra2].sz;i++)
		printf("-");
	printf("+\n|%s%s|\n+", sal[ra1].s, ali[ra2].s);
	for (i=1;i<=sal[ra1].sz+ali[ra2].sz;i++)
		printf("-");
	printf("+\n\n\n");
}

void tipareste(void)
{
	salutare();
	if (!t[1].z&&!t[1].l)
		if (t[1].a==1)
			printf("Suntem impreuna de un an!!!!!\nCeva imi spune ca azi trebuie sa sarbatorim!!!\nTe iubesc de 8974561245 de ori mai mult decat in prima zi!!:*:*\n\n\n\n");
		else
			printf("Suntem impreuna de %d ani!!!\nAsa-i ca n-ai fi crezut ca o sa ajungem aici? :)\nSper ca iti e destul de clar ca te iubesc infinit de mult!! :*:*\n\n\n\n", t[1].a);
	else
		if (!t[1].z)
			if (!t[1].a)
				printf("Azi facem %d luni impreuna!!\nAr fi cazul sa-mi amintesti ca eu sunt mai bolovan de felul meu :*:*\n\n\n\n", t[1].l);
			else
				if (t[1].a==1)
					if (t[1].l==1)
						printf("Azi avem un an si o luna impreuna :) \nPretty impresive, huh ? :>\n\n\n\n");
					else
						printf("Azi avem un an si %d luni impreuna :) \nPretty impressive, huh ? :>\n\n\n\n", t[1].l);
				else
					if (t[1].l==1)
						printf("Azi avem %d ani si o luna impreuna :) \nPretty impresive, huh ? :>\n\n\n\n", t[1].a);
					else
						printf("Azi avem %d ani si %d luni impreuna :) \nCred ca ar fi cazul sa-mi amintesti si mie!\n\n\n\n", t[1].a, t[1].l);

	printf("A");
	if (!t[1].a)
		printf("u trecut ");
	if (t[1].a==1)
		printf(" trecut un an ");
	else
		if (t[1].a)
			printf("u trecut %d ani ", t[1].a);
	if (t[1].a==1&&t[1].l==1&&!t[1].z)
		printf("si ");
	if (t[1].l==1)
		printf("o luna ");
	else
		if (t[1].l)
			printf("%d luni ", t[1].l);
	if (t[1].z)
	{
		if ((t[1].l||t[1].a))
			printf("si ");
		if (t[1].z==1)
			printf("o zi ");
		else
			printf("%d zile ", t[1].z);
	}
	printf("de cand suntem impreuna si tot \natatea de la primul nostru sarut! :*:*:*\n\n");
	
	
	printf("In urma cu ");
	if (t[2].a==1)
		printf("un an ");
	else
		if (t[2].a)
			printf("%d ani ", t[2].a);
	if (t[2].a==1&&t[2].l==1&&!t[2].z)
		printf("si ");
	if (t[2].l==1)
		printf("o luna ");
	else
		if (t[2].l)
			printf("%d luni ", t[2].l);
	if (t[2].z)
	{
		if ((t[2].l||t[2].a))
			printf("si ");
		if (t[2].z==1)
			printf("o zi ");
		else
			printf("%d zile ", t[2].z);
	}
	printf("a fost prima oara :)\n\n");
	
	
	printf("Acu ");
	if (t[3].a==1)
		printf("un an ");
	else
		if (t[3].a)
			printf("%d ani ", t[3].a);
	if (t[3].a==1&&t[3].l==1&&!t[3].z)
		printf("si ");
	if (t[3].l==1)
		printf("o luna ");
	else
		if (t[3].l)
			printf("%d luni ", t[3].l);
	if (t[3].z)
	{
		if ((t[3].l||t[3].a))
			printf("si ");
		if (t[3].z==1)
			printf("o zi ");
		else
			printf("%d zile ", t[3].z);
	}
	printf("te-ai scapat si ai recunoscut ca \nsuntem impreuna! :*\n\n");
	
	
	printf("A");
	if (!t[4].a)
		printf("u trecut ");
	if (t[4].a==1)
		printf(" trecut un an ");
	else
		if (t[4].a)
			printf("u trecut %d ani ", t[4].a);
	if (t[4].a==1&&t[4].l==1&&!t[4].z)
		printf("si ");
	if (t[4].l==1)
		printf("o luna ");
	else
		if (t[4].l)
			printf("%d luni ", t[4].l);
	if (t[4].z)
	{
		if ((t[4].l||t[4].a))
			printf("si ");
		if (t[4].z==1)
			printf("o zi ");
		else
			printf("%d zile ", t[4].z);
	}
	printf("de cand ti-am spus prima oara ca \n** ****** si de atunci tot mai tare ** ******! :x\n\n");
	printf("Azi esti cea mai %s fata %s!\n", adj[rax], loc[ray]);
	printf("Stii ce vreau eu acum?\n");
	printf("%s!", wish[raz]);
}
	
int main(void)
{
	_strdate(azichar);
	dateaza();
	random();
	declare();
	calculeaza();
	tipareste();
	getch();
	return 0;	 
}