Forum » Programiranje » Na kratka naloga...
Na kratka naloga...
Mitja 34 ::
Na čist lahka naloga :
Napiši program,ki prebere spremenljivke datum_rojstva in današnji_datum tipa zapis,in izračuna koliko mesecev je razlike.
Tak to je ta naloga,zaj me pa zanima kdo izmed vas 'brihtnih' buč zna to naret.(z recordi)
Napiši program,ki prebere spremenljivke datum_rojstva in današnji_datum tipa zapis,in izračuna koliko mesecev je razlike.
Tak to je ta naloga,zaj me pa zanima kdo izmed vas 'brihtnih' buč zna to naret.(z recordi)
jeti ::
ja to pa res ne bi bilo težko, no...
Bolje vrabec v roki kot (p)tič v riti!
Včasih je bil http://come.to/jeti
Včasih je bil http://come.to/jeti
darh ::
sploh ne vem kje je problem...
kaj če bi ti podal še kako oporno točko, npr:
- programski jezik
- vhodni in izhodni format datuma
pa tko naprej...
kaj če bi ti podal še kako oporno točko, npr:
- programski jezik
- vhodni in izhodni format datuma
pa tko naprej...
Excuses are useless! Results are priceless!
Mitja 34 ::
Dodatek :
Mesec : 30 dni.
Leta : 1800-2001
Program : Pascal al pa Delphi.
A program bi rad videl napisan(e-mail al pa kr na forumu),ne pa samo : 'Recimo da znam.' ;)
Se ne da vam nebi zaupal,sam vam ne zaupam.
A,ta program je res ta najlažje ka je možno.
mitja34 :)
Mesec : 30 dni.
Leta : 1800-2001
Program : Pascal al pa Delphi.
A program bi rad videl napisan(e-mail al pa kr na forumu),ne pa samo : 'Recimo da znam.' ;)
Se ne da vam nebi zaupal,sam vam ne zaupam.
A,ta program je res ta najlažje ka je možno.
mitja34 :)
iBojan ::
Ej mislim, da ti je kaj takega brezveze sploh v forum vpisovat, edino če ne veš programirat v pascalu pa upaš, da ti bo nekdo to naredil ;) Naloga je za začetnike tako, da mislim če bi vsaj malo poznal pascal bi ga napisal v desetih minutah ;)) Če pa ga že želiš imeti pojdi na kako stran z pascalovimi programčki pa jo najdeš ali pa na kakšen yahoo pa tam poišči. Tega je veliko tako, da boš siher našel ;)
lp, _GeS_
Če pa slučajno ne boš našel mi pošlji mail pa ti pošljem ;))
lp, _GeS_
Če pa slučajno ne boš našel mi pošlji mail pa ti pošljem ;))
Tjulenj ::
ok jest ne znam vsaj v pascalua al pa delphiju ne. nisem nikol delu. dolgo nazaj je bil commodor in basic, pol en cas nic (dokler drzava preko stipendije ni dala dinarckov za PC) pol smo sli pa samo se na C... a morm zdej dol s foruma k ne znam rest naloge?
iBojan ::
tjulen pa ni ti treba dol z foruma saj je verjetno za te namene narejen ali ne ;))
lp, _GeS_
lp, _GeS_
iBojan ::
EMail mam kot (verjetno) vsak, ki ima opravka z internetom ;) Prg bom pa postal zjutraj tako, da bo vsem na voljo.
lp, _GeS_
lp, _GeS_
iBojan ::
Program Datum;
Uses Crt, Dos;
Var dan, mesec, leto, x, z: Integer;
y, m, d, dow: Word;
Begin
ClrScr;
WriteLn('Program izraźuna razliko med dvema datumoma');
WriteLn; WriteLn('By _GeS_');
WriteLn;
Repeat
GotoXY(1, 5);
Write('Vpiçi dan : ');
Read(dan);
Until (dan > 0) And (dan < 32);
Repeat
GotoXY(5, 6);
Write('mesec : ');
Read(mesec);
Until (mesec > 0) And (mesec < 13);
Repeat
GotoXY(6, 7);
Write('leto : ');
Read(leto);
Until (leto > 1900) And (leto < 2100);
GetDate(y, m, d, dow);
GotoXY(1, 9);
Write('Danaçnji datum : ', d:0, '.', m:0, '.', y:0);
GotoXY(1,11);
x := (y - 1) - (leto + 1);
x := x * 12;
z := 12 - mesec;
x := x + z;
z := 12 - m;
x := x + z;
WriteLn('Razlika v mesecih je : ',x:0,' mesecev');
Repeat Until KeyPressed;
End.
Evo to ti je ta prg ;)) Program je napisan v Borland Pascal 7 in deluje ok, z malo popravki pa lahko še izračunaš dneve, .....
lp, _GeS_
Uses Crt, Dos;
Var dan, mesec, leto, x, z: Integer;
y, m, d, dow: Word;
Begin
ClrScr;
WriteLn('Program izraźuna razliko med dvema datumoma');
WriteLn; WriteLn('By _GeS_');
WriteLn;
Repeat
GotoXY(1, 5);
Write('Vpiçi dan : ');
Read(dan);
Until (dan > 0) And (dan < 32);
Repeat
GotoXY(5, 6);
Write('mesec : ');
Read(mesec);
Until (mesec > 0) And (mesec < 13);
Repeat
GotoXY(6, 7);
Write('leto : ');
Read(leto);
Until (leto > 1900) And (leto < 2100);
GetDate(y, m, d, dow);
GotoXY(1, 9);
Write('Danaçnji datum : ', d:0, '.', m:0, '.', y:0);
GotoXY(1,11);
x := (y - 1) - (leto + 1);
x := x * 12;
z := 12 - mesec;
x := x + z;
z := 12 - m;
x := x + z;
WriteLn('Razlika v mesecih je : ',x:0,' mesecev');
Repeat Until KeyPressed;
End.
Evo to ti je ta prg ;)) Program je napisan v Borland Pascal 7 in deluje ok, z malo popravki pa lahko še izračunaš dneve, .....
lp, _GeS_
iBojan ::
Pa še nekaj. Teh prgjev je po netu zelo veliko. Zelo veliko najdeš tu ! Downloadaš si SWAG in ga potem unzipaš in imaš zelo veliko procedure ter funkcij za pascal. Za začetnika je to zelo dobro, res da je že nekaj časa nespremenjen a se tudi pascal ni spremenil tako da je ;))
Res je tega veliko (vsaj za dial-up) a se splača malo potrpet, da si zadevo snet ;)
lp, _GeS_
Res je tega veliko (vsaj za dial-up) a se splača malo potrpet, da si zadevo snet ;)
lp, _GeS_
jeti ::
Tu imaš pa zadevo napisano v Oberon-F, LOL
MODULE Datumi;
IMPORT In, Out;
TYPE Datum = RECORD
dan:INTEGER;
mesec:INTEGER;
leto:INTEGER
END;
VAR datum, datumRoj: Datum;
dnevi, meseci, leta, razlika:INTEGER;
PROCEDURE Pozeni*;
BEGIN
In.Open;
In.Int(datumRoj.dan);
In.Int(datumRoj.mesec);
In.Int(datumRoj.leto);
In.Int(datum.dan);
In.Int(datum.mesec);
In.Int(datum.leto);
leta:= datum.leto - datumRoj.leto;
meseci:= datum.mesec - datumRoj.mesec;
dnevi:= datum.dan - datumRoj.dan;
IF (dnevi<0) THEN
dnevi:= dnevi+30;
meseci:= meseci-1
END;
IF (meseci<0) THEN
meseci:=meseci+12;
leta:= leta-1
END;
razlika:= leta*12 + meseci;
Out.String("Razlika je ");
Out.Int(razlika,3);
Out.String(" mesecev.");
Out.Ln
END Pozeni;
END Datumi.
Zadevo poženeš z ukazom Datumi.Pozeni + navedba ustreznih parametrov.
Aja, zadeva pove le število celih mesecev, morebiten ostanek dni pa zanemari (29 dni recimo še ni en mesec, 30 pa bo že štelo kot en mesec).
LP!
MODULE Datumi;
IMPORT In, Out;
TYPE Datum = RECORD
dan:INTEGER;
mesec:INTEGER;
leto:INTEGER
END;
VAR datum, datumRoj: Datum;
dnevi, meseci, leta, razlika:INTEGER;
PROCEDURE Pozeni*;
BEGIN
In.Open;
In.Int(datumRoj.dan);
In.Int(datumRoj.mesec);
In.Int(datumRoj.leto);
In.Int(datum.dan);
In.Int(datum.mesec);
In.Int(datum.leto);
leta:= datum.leto - datumRoj.leto;
meseci:= datum.mesec - datumRoj.mesec;
dnevi:= datum.dan - datumRoj.dan;
IF (dnevi<0) THEN
dnevi:= dnevi+30;
meseci:= meseci-1
END;
IF (meseci<0) THEN
meseci:=meseci+12;
leta:= leta-1
END;
razlika:= leta*12 + meseci;
Out.String("Razlika je ");
Out.Int(razlika,3);
Out.String(" mesecev.");
Out.Ln
END Pozeni;
END Datumi.
Zadevo poženeš z ukazom Datumi.Pozeni + navedba ustreznih parametrov.
Aja, zadeva pove le število celih mesecev, morebiten ostanek dni pa zanemari (29 dni recimo še ni en mesec, 30 pa bo že štelo kot en mesec).
LP!
Bolje vrabec v roki kot (p)tič v riti!
Včasih je bil http://come.to/jeti
Včasih je bil http://come.to/jeti
Mitja 34 ::
Lepo,lepo sam _GeS_ nisi glih prebral...
morš namreč uporabit recorde...
Tu je pa naret(samo da izračuna v dneh):
Program starost;
Uses Crt,Dos;
Type Datum = record
dan: Word;
mes: Word;
let: Word;
end;
Var age,i : Integer;
DatumRojstva : Datum;
TrenutniDatum: Datum;
temp : Word;
Begin
ClrScr;
Write('Vpisi dan rojstva:: ');
ReadLn(DatumRojstva.dan);
Write('Vpisi mesec rojstva:: ');
ReadLn(DatumRojstva.mes);
Write('Vpisi leto rojstva:: ');
ReadLN(DatumRojstva.let);
ClrScr;
GetDate(TrenutniDatum.let,TrenutniDatum.mes,TrenutniDatum.dan,temp);
For i:=DatumRojstva.let to TrenutniDatum.let-1 Do
Begin
if i mod 4 = 0 Then age:=age+366
Else age:=age+365;
End;
For i:=1 to TrenutniDatum.mes -1 Do
Begin
Case i of
1: age:=age+31;
2: if TrenutniDatum.let mod 4 = 0 Then age:=age+28
Else age:=age+29;
3: age:=age+31;
4: age:=age+30;
5: age:=age+31;
6: age:=age+30;
7: age:=age+31;
8: age:=age+31;
9: age:=age+30;
10:age:=age+31;
11:age:=age+30;
End;
End;
Age:=Age+TrenutniDatum.dan;
For i:=1 to DatumRojstva.mes -1 Do
Begin
Case i of
1: age:=age-31;
2: if DatumRojstva.let mod 4 = 0 Then age:=age+28
Else age:=age+29;
3: age:=age-31;
4: age:=age-30;
5: age:=age-31;
6: age:=age-30;
7: age:=age-31;
8: age:=age-31;
9: age:=age-30;
10:age:=age-31;
11:age:=age-30;
End;
End;
Age:=Age-DatumRojstva.dan;
WriteLN('Star si natanko::',Age,' dni ... recimo');
ReadLn;
End.
morš namreč uporabit recorde...
Tu je pa naret(samo da izračuna v dneh):
Program starost;
Uses Crt,Dos;
Type Datum = record
dan: Word;
mes: Word;
let: Word;
end;
Var age,i : Integer;
DatumRojstva : Datum;
TrenutniDatum: Datum;
temp : Word;
Begin
ClrScr;
Write('Vpisi dan rojstva:: ');
ReadLn(DatumRojstva.dan);
Write('Vpisi mesec rojstva:: ');
ReadLn(DatumRojstva.mes);
Write('Vpisi leto rojstva:: ');
ReadLN(DatumRojstva.let);
ClrScr;
GetDate(TrenutniDatum.let,TrenutniDatum.mes,TrenutniDatum.dan,temp);
For i:=DatumRojstva.let to TrenutniDatum.let-1 Do
Begin
if i mod 4 = 0 Then age:=age+366
Else age:=age+365;
End;
For i:=1 to TrenutniDatum.mes -1 Do
Begin
Case i of
1: age:=age+31;
2: if TrenutniDatum.let mod 4 = 0 Then age:=age+28
Else age:=age+29;
3: age:=age+31;
4: age:=age+30;
5: age:=age+31;
6: age:=age+30;
7: age:=age+31;
8: age:=age+31;
9: age:=age+30;
10:age:=age+31;
11:age:=age+30;
End;
End;
Age:=Age+TrenutniDatum.dan;
For i:=1 to DatumRojstva.mes -1 Do
Begin
Case i of
1: age:=age-31;
2: if DatumRojstva.let mod 4 = 0 Then age:=age+28
Else age:=age+29;
3: age:=age-31;
4: age:=age-30;
5: age:=age-31;
6: age:=age-30;
7: age:=age-31;
8: age:=age-31;
9: age:=age-30;
10:age:=age-31;
11:age:=age-30;
End;
End;
Age:=Age-DatumRojstva.dan;
WriteLN('Star si natanko::',Age,' dni ... recimo');
ReadLn;
End.
mitja34 :)
iBojan ::
res sem malo površno prebral. Se opravičujem ;) Saj pa maš program pa ga malo preurediš pa ti izračuna mesece ali pa leta pa z malo truda ti lahko zračuna tudi sekunde ;))
lp, _GeS_
lp, _GeS_
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C] Seznam s poljemOddelek: Programiranje | 2454 (1934) | aceton |
» | delphi5 & xpOddelek: Programiranje | 844 (758) | iBojan |
» | program za stetje prenosa podatkovOddelek: Programska oprema | 1038 (939) | iBojan |
» | skrivanje programaOddelek: Programiranje | 1545 (1196) | poweroff |
» | In kdaj ADSL v Murski Soboti ter okolici ?Oddelek: Omrežja in internet | 1138 (1031) | PaJo |