|
[ dimnicar @ 20.07.2005. 22:45 ] @
| paskal
vezba je da napisem program koji od korisnika zahteva da upise broj
meseca i zatim da prikaze broj dana za doticni mesec(zasas se
zanemaruju prestupne godine).
evo kako sam ja uradio :
U ovoj vezbi se zahtevala upotreba ' CASE '.
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
brojmeseca,brojdana:integer;
begin
writeln('Molim upisite broj meseca: ') ;
readln(brojmeseca);
writeln;
writeln(brojmeseca);
readln;
if brojmeseca = 1
then
writeln('Januar mesec ima 31 dana');
readln
else
case brojmeseca of
3,5,7,9,10,12 : brojdana := 31;
4,6,9,11 : brojdana := 30;
2 : brojdana := 28;
readln;
end |
[ dimnicar @ 21.07.2005. 14:36 ] @
Napisao sam program u paskalu koji omogucava da kad upisete neki
broj,vidite ime meseca za doticni broj i broj dana u mesecu.
Ono sto ne znam a po knjizi je da bi ovo trebalo nekako skratiti
uprostiti (ugnjeZdeni IF iskazi mogu postati veoma komplikovani ,pa
je tada lakse upotrebiti iskaz CASE.
za ovu vezbu bi trebao biti
case mesec of
1.3.5.7.8.10,12 : brojdana:=31
4,6,9,11 :brojdana :=30
2 := brojdana:=28
end;{case}
moj program je ispod.Kako ga skratiti pomocu Case?
pomoc!!!
program ime_mes_i_br_dana;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
brojmeseca,brojdana:integer;
imemeseca:string;
begin
writeln('molim upisite broj meseca ');
readln (brojmeseca);
if brojmeseca=1
then
writeln('Januar ima 31 dan') ;
if brojmeseca=2
then
writeln('Februar ima 28 dana,a svake cetvrte godine 29 dana');
if brojmeseca=3
then
writeln('Mart ima 31 dan');
if brojmeseca=4
then
writeln('April ima 30 dana');
if brojmeseca=5
then
writeln('Maj ima 31 dan');
if brojmeseca=6
then
writeln('Juni mesec ima 30 dana');
if brojmeseca=7
then
writeln('Juli mesec ima 31 dan');
if brojmeseca=8
then
writeln('Avgust ima 31 dan');
if brojmeseca=9
then
writeln('Septembar ima 30 dana');
if brojmeseca=10
then
writeln('Oktobar ima 31 dan');
if brojmeseca =11
then
writeln('Novembar ima 30 dana');
if brojmeseca=12
then
writeln('Decembar ima 31 dan');
if brojmeseca>12
then
writeln('Taj broj meseca ne postoji');
readln;
end.
[ peromalosutra @ 21.07.2005. 23:29 ] @
Evo kako:
Code:
program ime_mes_i_br_dana;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
brojmeseca,brojdana:integer;
imemeseca:string;
begin
writeln('molim upisite broj meseca ');
readln (brojmeseca);
if brojmeseca<=12 then
case brojmeseca of
1: writeln ('Januar ima 31 dan');
2: writeln (Februar ima 28 ili 29 dana.');
3: writeln ('Mart ima 31 dan');
{ ... i tako za sve mjesece izmedju}
12: writeln ('Decembar ima 31 dan.');
end
else write ('Taj broj mjeseca ne postoji.');
readln;
end.
Ovo pisem iz glave, mozda ima neka greska, ali trebalo bi da radi.
(Naravno prepravi onaj komentar...) :-D
[Ovu poruku je menjao peromalosutra dana 22.07.2005. u 00:30 GMT+1]
[Ovu poruku je menjao peromalosutra dana 22.07.2005. u 00:30 GMT+1]
[ Toyo @ 21.07.2005. 23:58 ] @
Code:
const dana:array[1..12] of byte = (31,28,31,30,31,30,31,31,30,31,30,31);
begin
readln(m);
writeln('mesec ima ',dana[m],' dana.');
end.
Jos treba da ako je m=2 ispitas da li je godina prestupna.
Ali posto ne unosis godinu, za sada ti to nlije potrebno.
[ peromalosutra @ 22.07.2005. 00:08 ] @
A moglo je i sa:
Code:
case brojmeseca of
3,5,7,9,10,12 : brojdana := 31;
4,6,9,11 : brojdana := 30;
2 : brojdana := 28;
end;
Ali sam ja mislio da hoce da mu se ispise i naziv mjeseca.
[ Toyo @ 22.07.2005. 00:15 ] @
pa onda dodas:
const
ime:array[1..12] of String[10] = ('Januar', 'Februar',.....);
a writeln je:
writeln(ime[m], ' ima ', dana[m],' dana');
[ peromalosutra @ 22.07.2005. 10:53 ] @
Da upravo sam na to pomislio nakon sto sam ugasio kompjuter...
Inace ja sve radim na tezi (citaj duzi) nacin, to mi je i profesorica informatike rekla...
A odgovorite mi sad na ovo: "Zasto da bude jednostavno, kad moze biti komplikovano?!" :)
Dosta off-topica od mene, pozdrav!
[ dimnicar @ 22.07.2005. 17:20 ] @
Pocetnik sam ,video sam sto ste napisali,probao na 100 nacina da iskombinujem to sto ste napisali,ali nece da se pokene.Stao mi je mozak na ovoj kombinaciji:{$APPTYPE CONSOLE}
uses
SysUtils;
const
dana:array[1..12] of String[10] = ('Januar', 'Februar',.....);
var
brojmeseca,brojdana:integer;
begin
writeln('Molim upisite broj meseca: ') ;
readln(brojmeseca);
writeln;
writeln(brojmeseca);
readln;
if brojmeseca = 1
then
writeln('Januar mesec ima 31 dana');
readln
end
case brojmeseca of
3,5,7,9,10,12 : brojdana := 31;
4,6,9,11 : brojdana := 30;
2 : brojdana := 28;
end;
Bio bi zahvalan nekom ako moze da ostavi ceo programski kod.(da mi ispravi greske)
pozdrav i hvala na trudu.
[ peromalosutra @ 22.07.2005. 22:02 ] @
Ti si u svom kodu iskonbinovao pola mog, a pola Toyo-inog rjesenja. Zato ti i nije radilo. Evo gotovog koda i to opet po Toyo-inom prijedlogu :)
Code:
program pas;
{$APPTYPE CONSOLE}
uses SysUtils;
const
mesec:array[1..12] of String[10] = ('Januar', 'Februar','Mart','April','Maj','Juni','Juli',
'Avgust','Septembar','Oktobar','Novembar','Decembar');
dana:array[1..12] of integer = (31,28,31,30,31,30,31,31,30,31,30,31);
var
brojmeseca,brojdana:integer;
begin
writeln('Molim upisite broj meseca: ') ;
readln(brojmeseca);
writeln;
if brojmeseca<=12 then
writeln (mesec[brojmeseca],' ima ',dana[brojmeseca],' dana.');
end.
[ dimnicar @ 22.07.2005. 23:13 ] @
Hvala ti puno,ja sam mu samo dodao na kraju readln i da ako je broj veci od 12 kaze da takav mesec nepostoji.
evo ga sad:
program pas;
{$APPTYPE CONSOLE}
uses SysUtils;
const
mesec:array[1..12] of String[10] = ('Januar', 'Februar','Mart','April','Maj','Juni','Juli',
'Avgust','Septembar','Oktobar','Novembar','Decembar');
dana:array[1..12] of integer = (31,28,31,30,31,30,31,31,30,31,30,31);
var
brojmeseca,brojdana:integer;
begin
writeln('Molim upisite broj meseca: ') ;
readln(brojmeseca);
writeln;
if brojmeseca<=12 then
writeln (mesec[brojmeseca],' ima ',dana[brojmeseca],' dana.')
else
writeln('nepostoji neki trinesti ili n-ti mesec');
readln;
end.
Kako da prosirim program da obuhvati i prestupne godine?
[Ovu poruku je menjao dimnicar dana 23.07.2005. u 00:17 GMT+1]
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|