C pomoc


#1

pozdrav imam mali problem kod jednog programa u c-u
Stvar je takva da trebam da napisem program koji prikaze listu operacija koje se mogu da izvrse recimo
1…sabiranje
2…oduzimanje
3…mnozenje

eh sad ja sam napisao za svkau operaciju potprogram sa scanfom ono da moze unjeti varijable
eh sad kako da izvrsim opozivnje potprograma
ali evo u cemu je problem ispod ponudenh 1,2,3,4
treba da stoji vas izbor i kada recimo pritisne tipku 3 da pokrene potprogram mnozenje. kako to da npravim.
nakon pritiska na tipku 3 da se pokrene potprogram mnozenja


#2

Da li si cuo za switch…case izraz? Mi na forumu volimo da netko prije malo google iskoristi prije postavljanja pitanja. Ali evo zasad, upravo tvoja vrsta zadatka u primjeru:
http://programmingexamples.wikidot.com/c-switch-case
Isto mozes napraviti sa if…else if…else


#3

ako sam te dobro shvatio trebas koristiti switch-case. http://www.cprogramming.com/tutorial/lesson5.html

ali ako vec nisi cuo switch, vjerovatni nisi ni radio. ako si radio sa if onda za svaku operaciju koristis uslov if. primjer:

/uneses broj operacije u varijablu x/
if(x==3) /* ako je uneseni broj operacije tri, izvrsi sljedece*/
{
c=ab;/ dio koda koji ce se izvrsiti ako je uneseno 3*/
}


#4

Wizz I Deamon ako sam shvatio kako treba, covjek nece da pritisne 3 pa enter nego samo 3. To sa switchom nece raditi tako.


#5

Ma ok je moze i 3 pa enter ali nakon toga kad zavrsi recimo izracuna 2+2 =4 da ponovo automatski izbaci opet vas izbor : gdje ponovo mozemo da upisemo neki drugi broj s tim sto ce biti i ponudena opcija recimo 0 … kraj


#6

labela:
/* meni */

if(){

}
/* i onda ovdje koristis goto /
goto labela;
/
u meniju dodas jos jedan izbor npr. “5. exit”/
if(izbor == 5)
{
exit(0);/
ili return 0;*/
}

vise o goto http://julipedia.meroh.net/2005/08/using-gotos-in-c.html


#7

goto? Stvarno?


#8

Rijesio sam bez go to inace koliko znam go to nije bas dobra opcija rijesio sam sa while ,i onda sa switch i case hvala vam na pomoci.

Sada pisem program koji treba da ispise kalendar za 2012 godinu jeli se to radi takoder sa switch i case ili postoji neki laksi nacin


#9

Najbolje je beskonačnu petlju pa kada korisnik unese 0 break. A kalendar takođe može, zašto ne bi moglo? :slight_smile:


#10

Ja sto sam radio sa kalendarom islo je sa switch. Znam da je bilo nekih caki za prestupnu godinu i da li mjesec ima 30 ili 31 dan i tako to. Da switch.


#11

da da bilo je sa switch


#12

Mislim da je ovako islo:

if (godina%400 == 0 || godina%10==0 && godina%4==0){ dana_u_godini += 1; }

Detalji: http://en.wikipedia.org/wiki/Leap_year


#13

Ili sljedeća (Python calendar.isleap() implementacija)

return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)


#14

Mislim da i to 400 ima neko ogranicenje. Naime neka godina (davno nekad) je djeljiva sa 400 a nije prestupna.


#15

Prestupna godina je godina koja ima 366 dana, za razliku od ostalih godina koje imaju 365 dana.
Razlog tome je uskladjivanje kalendarske godine s astronomskom godinom, da ne bi s vremenom
Nova godina pala u ljeto, a grozdje dozrijevalo u decembru ili januaru. Tako mjesec februar, koji
ionako ima 28 dana, u prestupnoj godini ima 29 dana. Prestupne godine su sve djeljive s 4, ako nisu djeljive
sa 100, kojima se dodaju one koju su djeljive sa 400. Dakle godine 1800-ta, 1900-ta i 2100-ta nisu prestupne,
dok 1600-ta, 2000-ta i 2400-ta jesu. (sve ovo se odnosi na gregorijanski kalendar).

if (godina%4==0 && (godina%100!=0 || godina%400==0)) ispravnost=0;

tako nekako xd


#16

Godina ustvari ima 365.25 dana. :slight_smile:


#17

Napisao sam program ali trebalo je samo za 2012 godinu a ne za sve ali rijesio sam to sa if else i funkcionira ali ipak hvala


#18

To za davnu godinu nije relevantno jer Gregorijanski kalendar važi tek od 1582.


#19

Hahahaha, sta nastade od ovog.


#20

Pozdrav trebao bih pomoc oko jednog zadatka, zadatak je lagan ali sam totalno blokirao.

Ovako,treba da se pronade broj koji je djeljiv sa ciframa od 1 do 10 ali kada se dijeli da daje cijele brojeve ,to je broj 2520 ali mi treba kako taj program napisati u C-u

ovako to izgleda.

2520 /10 =252
2520 /9 =280
2520 /8 =315

2520 /1 =2520