Post Reply  Post Thread 
Pages (2): « First < Previous 1 [2] Last »
Klasa datum!
Author Message
Puž
Redoviti posjetitelj
**


Posts: 132
Group: Registered
Joined: Mar 2007
Status: Offline
Reputation: 24
Post: #11
RE: Klasa datum!

Neam previse vremena ovih dana. Evo za dan, dva, tri cu ga rjesit.

07-06-2007 03:11 PM
Find all posts by this user Quote this message in a reply
Puž
Redoviti posjetitelj
**


Posts: 132
Group: Registered
Joined: Mar 2007
Status: Offline
Reputation: 24
Post: #12
RE: Klasa datum!

Evo valjda će sad biti sve u redu

Code:
#include <iostream>
using namespace std;
#include <stdio.h>
class datum
{  
   int d,m,g;
  
   public:

   datum();

   void postavi(int, int, int);  
   void ispravnost();
   void ispis();
   void prijestupna();
   void kolko_dana_mjesec();
  
};

///////////////////////////////////////////////////////////////////
datum::datum(){d=1;m=1;g=1;}

void datum::ispravnost()
{
     int je_il_nije=1;
     if( (d>31)||(d<1) ) je_il_nije=0;
     else if( (m>12)||(m<1) ) je_il_nije=0;
     else if(g<0) je_il_nije=0;
    
     if(je_il_nije) cout <<"Datum je ispravan!\n";
     else cout <<"Datum nije ispravan!\n";    
}
void datum::ispis()
{
     printf("Datum je %d.%d.%d\n",d,m,g);          
}
void datum::prijestupna()
{
     int uvjet;
     if(  (g%4==0) &&  (g%100==0)   )printf("Godina je prijestupna\n");
     else printf("Godina nije prijestupna\n");
    
}
void datum::postavi(int temp_d, int temp_m, int temp_g)
{
      d=temp_d;
      m=temp_m;
      g=temp_g;      
}
void datum::kolko_dana_mjesec()
{    
    int kolko_ih_je;  
  
    switch (m)
    {
           case 1:
           case 3:
           case 5:
           case 7:
           case 8:
           case 10:
           case 12:
                kolko_ih_je=31;break;
           case 4:
           case 6:
           case 9:
           case 11:
                kolko_ih_je=30;break;
           case 2:
                kolko_ih_je=28;break;
           default: kolko_ih_je=30;
      }
    
      printf("%d. mjesec ima %d dana!\n",m,kolko_ih_je);
}
///////////////////////////////////////////////////////////////////

int main()
{
    int dan,mjesec,god;
    char kaj[5];    
    float real;
    
    printf("Zadjete dan:\n");scanf("%d",&dan);
    printf("Zadjete mjesec:\n");scanf("%d",&mjesec);
    printf("Zadjete godinu:\n");scanf("%d",&god);

    datum moj_datum;

    moj_datum.postavi(dan,mjesec,god);
    moj_datum.ispravnost();
    moj_datum.ispis();
    moj_datum.prijestupna();
    moj_datum.kolko_dana_mjesec();
    
    getchar();
    getchar();
    return 0;
}


SaW3R, ak hoces provjeru mjeseca, dana i godine, da li je ukucana cijelobrojna ili realna vrijednost, sam ubaci umjesto ovog gore maina ovaj:

Code:
int main()
{
    int dan,mjesec,god;
    char kaj[5];    
    float real;
    
    while(1)
    {
         printf("Zadjete dan:\n");
         gets(kaj);sscanf(kaj,"%f",&real);
         if((dan=int(real))==real) break;
         else printf("Dan mora biti cjelobrojan!\n");
    }
    while(1)
    {
         printf("Zadjete mjesec:\n");
         gets(kaj);sscanf(kaj,"%f",&real);
         if((mjesec=int(real))==real) break;
         else printf("Mjesec mora biti cjelobrojan!\n");
    }

    while(1)
    {
         printf("Zadjete godinu:\n");
         gets(kaj);sscanf(kaj,"%f",&real);
         if((god=int(real))==real) break;
         else printf("Godina mora biti cjelobrojna!\n");
    }


    datum moj_datum;

    moj_datum.postavi(dan,mjesec,god);
    moj_datum.ispravnost();
    moj_datum.ispis();
    moj_datum.prijestupna();
    moj_datum.kolko_dana_mjesec();
    
    getchar();
    getchar();
    return 0;
}

11-06-2007 05:09 PM
Find all posts by this user Quote this message in a reply
SAFF
Novi korisnik
*


Posts: 33
Group: Registered
Joined: Jan 2007
Status: Offline
Reputation: 0
Post: #13
RE: Klasa datum!

Quote:
Puž


Interesuje me da li je moguce da se sve ovo uradi bez printf i scanf sa cout<< i cin>>!
Naravno znam da je & prenos po adresi tamo odradjen i nisam upoznat kako se to radi sa cin>> i cout!?


Nadam se a znas sta hocu da pitam!

13-06-2007 08:59 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Puž
Redoviti posjetitelj
**


Posts: 132
Group: Registered
Joined: Mar 2007
Status: Offline
Reputation: 24
Post: #14
RE: Klasa datum!

Bez beda to napravis sa cin i cout. Složi si ovak main:

Code:
int main()
{
    int dan,mjesec,god;  
      
    cout<<"Zadjete dan:\n";cin>>dan;
    cout<<"Zadjete mjesec:\n";cin>>mjesec;
    cout<<"Zadjete godinu:\n";cin>>god;


    datum moj_datum;

    moj_datum.postavi(dan,mjesec,god);
    moj_datum.ispravnost();
    moj_datum.ispis();
    moj_datum.prijestupna();
    moj_datum.kolko_dana_mjesec();
    
    getchar();
    getchar();
    return 0;
}

13-06-2007 11:36 PM
Find all posts by this user Quote this message in a reply
dsovic
Novi korisnik
*


Posts: 3
Group: Registered
Joined: Feb 2008
Status: Offline
Reputation: 0
Post: #15
RE: Klasa datum!

Stazh Wrote:
@Saff: Možeš case elegantnije napisati tako da slučajeve odjeljuješ zarezom:

Code:
...
case 1, 3, 5, 7, 8, 10, 12:
return 31;
...


Ne mijenja ništa na stvari, ali možda ovako kod izgleda ljepše He he


A da preskočimo neke? Kao:
unsigned datum::broj_dana ()
{
switch (mesec)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 2:
return 28+prestupna(g);
default: return 30; // tu bi uletjeli svi ostali, pa nema provjere
}
}

hurmash1ca: Ne dizi stare teme

07-02-2008 10:24 AM
Find all posts by this user Quote this message in a reply
Mr.JA
Novi korisnik
*


Posts: 14
Group: Registered
Joined: Jul 2008
Status: Offline
Reputation: -1
Post: #16
RE: Klasa datum!

ovo ti je kod za prijestupnu godinu:

kod:
...
prijestupna = godina%4==0 && godina%100!=0 || godina%400==0;
n_prijestupnih_dana = (godina+3)/4 - 1 - godina/100 + godina/400;
n_dana = (long) (godina-1) * 365;
n_dana += n_prijestupnih_dana;


... ovo je isječak iz programa koji računa koliko je proteklo dana do početka nove ere

24-07-2008 09:37 PM
Find all posts by this user Quote this message in a reply
schmrz
_
*


Posts: 213
Group: Team
Joined: Feb 2007
Status: Offline
Reputation: 8
Post: #17
RE: Klasa datum!

Ovo je moj .... hhh


I have no drinking problems...
I drink....
Get drunk...
Fall down...
NO PROBLEM
24-07-2008 10:50 PM
Find all posts by this user Quote this message in a reply
Pages (2): « First < Previous 1 [2] Last »
Post Reply  Post Thread 

View a Printable Version
Send this Thread to a Friend
Subscribe to this Thread | Add Thread to Favorites

Forum Jump: