• 6 odgovora
  • 6.448 pregleda
Re: [Zadatak] Za upisani danasnji datum ispisati sutrasnji 07.06.2006. u 20:39 · pre 248 meseci #2
Ako imaš program koji rešava neki problem u većini ali ne i u svim slučajevima, jedno od rešenja je da napraviš jedan ili nekoliko if - else-if odeljaka za te problematične podslučajeve, a na kraju ostaviš else kroz koga će biti pušteni preostali slučajevi koje program već rešava. Npr. računanje cene fotokopiranja. Do 99 kopija je 10 para po komadu, od 100 do 199 kopija 6 para po komadu a od 200 kopija se tarifira sa 3 pare po komadu.

Na primer kod
Code:
cena = komada * 0.03;
neće da radi posao kako treba ali
Code:
if(komada<100)
{
    cena = komada * 0.1;
}
else if(komada<200)
{
    cena = komada * 0.06;
}
else
{
    cena = komada * 0.03;
}
hoće.

(u navedenom slučaju bi operator ?: bio najkompaktnije rešenje ali to ne beše poenta ovde)

[Ovu poruku je menjao Mali Misha dana 07.06.2006. u 21:49 GMT+1]
Potpis
Ipak se ++uje.
Re: [Zadatak] Za upisani danasnji datum ispisati sutrasnji 07.06.2006. u 20:57 · pre 248 meseci #3
Pa kada je zadnji dan u mjesecu, jednostavno dan stavljas na "1", a mjesec povecavas za jedan.

Code:
if (dan > 31) { 
    dan=1;
             mjesec++; 
}


isi fazon je i sa godinom

Code:
if (mjesec > 12) {
       mjesec=1; 
    godina++;

}


Naravno, pazi na prestupne godine i broj dana u mjesecu.
Re: [Zadatak] Za upisani danasnji datum ispisati sutrasnji 07.06.2006. u 21:09 · pre 248 meseci #4
ako koristis Borland Builder, imas f-je koje ce ti to odraditi u jednoj liniji koda....

[Ovu poruku je menjao fucking voodoo dana 07.06.2006. u 23:59 GMT+1]
Potpis
there's something out there
waiting for us,
and it ain't no man...
Re: [Zadatak] Za upisani danasnji datum ispisati sutrasnji 07.06.2006. u 21:17 · pre 248 meseci #5
Evo rešio sam ti ceo zadatak!


#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
int dan, mesec, godina, i;
int m[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31 ,30, 31};
cout<<"Unesi dan: ";
cin>>dan;
cout<<"Unesi mesec: ";
cin>>mesec;
cout<<"Unesi godinu: ";
cin>>godina;
if(godina%4 == 0) m[1]++;
dan++;
if(dan>m[mesec-1])
{
mesec++;
dan=1;
}
if(mesec>12)
{
godina++;
mesec=1;
}
cout<<endl;
cout<<"Dan je: "<<dan<<endl;
cout<<"Mesec je: "<<mesec<<endl;
cout<<"Godina je: "<<godina<<endl;
cin>>i;
return 0;
}


Program ne kontrolise da li si uneo ispravan datum. To ubaci sam.
Pozz
Re: [Zadatak] Za upisani danasnji datum ispisati sutrasnji 08.06.2006. u 10:11 · pre 248 meseci #7
Mozda je najbolje da koristis standardnu C biblioteku za vreme i datum:
Code:

#include <ctime>
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
    char ct0[80];
    time_t     tt_0 = time (NULL);
    struct tm *ptr0 = localtime(&tt_0); 
    strftime(ct0, 79, "%d-%m-%Y",ptr0);
    cout<<"Danas: " << ctime(&tt_0)<<"  (samo datum: "<< ct0 <<")\n\n";

    char ct1[80];
    time_t     tt_1 =  time (NULL) + 60*60*24;
    struct tm *ptr1 = localtime(&tt_1);
    strftime(ct1, 79, "%d-%m-%Y",ptr1);
    cout<<"Sutra: " << ctime(&tt_1)<<"  (samo datum: "<< ct1 <<")\n\n";

    system("PAUSE");
    return EXIT_SUCCESS;
}

... zasto bi ti razmisljo koliko koji mesec ima dana, kad to moze neko drugi,
sa namenskim fukcijama za tako nesto <time.h>
Naravno, na tebi je da iskoristis ove funcije kako trebi odgovara.

idb

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme