Srodne teme
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prestupna ili ne?

[es] :: C/C++ programiranje :: Prestupna ili ne?

[ Pregleda: 4515 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

acebzan
Aleksandar Čebzan
Global Equipment Engineering &
Implementation
OKIN/Verizon
Ostrava, CZ

Član broj: 81
Poruke: 707
*.mobtel.com

ICQ: 81816063
Sajt: https://www.linkedin.com/..


+14 Profil

icon Prestupna ili ne?17.09.2004. u 19:24 - pre 237 meseci
Dakle, kada otkucam redni broj meseca, on mi izbaci koliko dana ima.
E sad, posto februar moze da ima 28 ili 29 dana u zavisnosti da li je godina prestupna.
Kada otkucam broj 2 dobijem pitanje: Da li je godina prestupna d/n.
Sta god da stavim ne izbacuje koliko dana ima.
Gde je greska?
Hvala.

Code:
#include <stdio.h>
#define d 23
#define n 24
main()

{
    int x,c;

        printf("\nUnesite redni broj meseca (1-12):\n");
        scanf("%d",&x);

        switch(x)
        {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            printf("\n Mesec ima 31 dan!\n");
            break;

        case 4:
        case 6:
        case 9:
        case 11:
            printf("\n Mesec ima 30 dana!\n");
            break;

        case 2:
            printf("\n Da li je godina prestupna d/n:\n");
            scanf("%d", &c);
            
            

             if(c==d)
                 printf("\n Mesec ima 29 dana!\n");

             else if(c==n)
                 printf("\n Mesec ima 28 dana!\n");

            break;


            default:
                break;
        }
    
}
 
Odgovor na temu

markom
Marko Milivojević
Network Engineer
Google
Mountain View

Član broj: 18427
Poruke: 4227
*.singidunum.net

Sajt: https://markom.rs


+16 Profil

icon Re: Prestupna ili ne?17.09.2004. u 20:14 - pre 237 meseci
Ne, nego obrnuto, zaboga!

Probaj ovako:

Code:

case 2:
   printf("\n Da li je godina prestupna d/n:\n");
   scanf("%c", &c);
   if(c == 'd')
      printf("\n Mesec ima 29 dana!\n");
   else if(c == 'n')
      printf("\n Mesec ima 28 dana!\n");
   break;

Marko.
 
Odgovor na temu

acebzan
Aleksandar Čebzan
Global Equipment Engineering &
Implementation
OKIN/Verizon
Ostrava, CZ

Član broj: 81
Poruke: 707
*.mobtel.com

ICQ: 81816063
Sajt: https://www.linkedin.com/..


+14 Profil

icon Re: Prestupna ili ne?17.09.2004. u 20:19 - pre 237 meseci
Pazi ovako,
kada stavim da su oba "=" onda ide ovako:
Code:
Unesite redni broj meseca (1-12):
2
 Da li je godina prestupna d/n:
n
 Mesec ima 29 dana!
Press any key to continue.

Vidis, i da jeste i da nije prestupna on mi izbacuje isto.

A kada stavim da su oba "==" onda se desava ovo:
Code:
Unesite redni broj meseca (1-12):
2
 Da li je godina prestupna d/n:
n
Press any key to continue.

Isto i kad se kuca "d".

E evo sad vidim tvoj odgovor, sacu probam
 
Odgovor na temu

acebzan
Aleksandar Čebzan
Global Equipment Engineering &
Implementation
OKIN/Verizon
Ostrava, CZ

Član broj: 81
Poruke: 707
*.mobtel.com

ICQ: 81816063
Sajt: https://www.linkedin.com/..


+14 Profil

icon Re: Prestupna ili ne?17.09.2004. u 20:36 - pre 237 meseci
Marko, kad zamenim sa tvojim kodom, i kad stavim da je to mesec 2,
dobijem ono pitanje:
Code:
Da li je godina prestupna d/n:
Press any key to continue.


Nit mi je dozvolio da ukucam "d" ili "n".
Ajde jos vidi jel #define dobro.
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Prestupna ili ne?17.09.2004. u 21:02 - pre 237 meseci
#include <stdio.h>
main()

{
int x;
char c;

printf("\nUnesite redni broj meseca (1-12):\n");
scanf("%d",&x);

switch(x)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("\n Mesec ima 31 dan!\n");
break;

case 4:
case 6:
case 9:
case 11:
printf("\n Mesec ima 30 dana!\n");
break;

case 2:
printf("\n Da li je godina prestupna d/n:\n");
scanf("%c", &c);



if(c=='d' || c=='D')
printf("\n Mesec ima 29 dana!\n");

else
printf("\n Mesec ima 28 dana!\n");

break;


default:
break;
}

}

Ovo sam pokrenuo kod mene i lepo radi
 
Odgovor na temu

mikson
Miroljub Simić
Beograd

Član broj: 19162
Poruke: 51
*.nat-pool.bgd.sbb.co.yu



Profil

icon Re: Prestupna ili ne?17.09.2004. u 21:04 - pre 237 meseci
A ovako:
Code:
case 2:
            printf("\n Da li je godina prestupna d/n:\n");
            c=getchar();
            c=getchar();
            
            

             if(c=='d')
                 printf("\n Mesec ima 29 dana!\n");

             else if(c=='n')
                 printf("\n Mesec ima 28 dana!\n");

            break;

Ali bih voleo da vidim i rešenje sa scanf()-om
Uzgred, šta će ti ovo:
Code:
#define d 23
#define n 24

"So many people seem to see the word "error" and then stop... few seem to actually read the words on the OTHER side of the colon."
- Chris Phillips from the mplayer-users mailing list
 
Odgovor na temu

acebzan
Aleksandar Čebzan
Global Equipment Engineering &
Implementation
OKIN/Verizon
Ostrava, CZ

Član broj: 81
Poruke: 707
*.mobtel.com

ICQ: 81816063
Sajt: https://www.linkedin.com/..


+14 Profil

icon Re: Prestupna ili ne?17.09.2004. u 21:23 - pre 237 meseci
Mikson, hvala. Radi tako!
A ono za #define sam se sjebo :)
Srki, sa tvojim kodom mi javlja gresku.
U svakom slucaju, hvala na pomoci, sad radi!
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Prestupna ili ne?17.09.2004. u 22:03 - pre 237 meseci
Verovatno ima veze koji kompajler koristis. Ja imam MS Visual Studio .Net i sasvim lepo radi. Vazno je da tebi radi :)

P.S.

Uspeo sam da postujem kod pre ispravki :) Prvi scanf treba da bude scanf("%d%c",&x, &c); :)
 
Odgovor na temu

blaza
n/a

Član broj: 961
Poruke: 743
*.vdial.verat.net



+3 Profil

icon Re: Prestupna ili ne?17.09.2004. u 22:27 - pre 237 meseci
Moze ovako:
Code:

#include <iostream>
using namespace std;

int main(void){
    int mesec, godina, temp;
    while(true){
        cout << "\nUnesi mesec (1..12):";
        cin >> mesec;
        cout << "\nUnesi godinu (1900...) :";
        cin >> godina;
        bool prestupna = (!(godina % 400) || ((godina % 100) && !(godina % 4)));
        if(temp = (prestupna) ? 1 : 0)
            cout << "\nGodina je prestupna.";
        else
            cout << "\nGodina nije prestupna.";
        int broj_dana = (mesec != 2) ? 30 + ((mesec ^ (mesec >> 3)) & 1) : 28 + temp;
        cout << "\nMesec ima " << broj_dana << " dana.\n";
    }
}

O_o
 
Odgovor na temu

markom
Marko Milivojević
Network Engineer
Google
Mountain View

Član broj: 18427
Poruke: 4227
*.singidunum.net

Sajt: https://markom.rs


+16 Profil

icon Re: Prestupna ili ne?17.09.2004. u 22:36 - pre 237 meseci
To iznad nije C kôd. Mislim da je čovek tražio C rešenje ...

Marko.
 
Odgovor na temu

blaza
n/a

Član broj: 961
Poruke: 743
*.vdial.verat.net



+3 Profil

icon Re: Prestupna ili ne?17.09.2004. u 22:58 - pre 237 meseci
Evo i C resenja:
Code:

#include <stdio.h>

int main(void){
    int mesec, godina, broj_dana, prestupna;
    while(1){
        printf("\nUnesi mesec (1..12):");
        scanf("%d", &mesec);
        printf("\nUnesi godinu (1900...) :");
        scanf("%d", &godina);
        
        if(prestupna = (!(godina % 400) || ((godina % 100) && !(godina % 4)))){
            prestupna = 1;
            printf("\nGodina je prestupna.");
        }
        else
            printf("\nGodina nije prestupna.");  
        broj_dana = 30 + ((mesec ^ (mesec >> 3)) & 1);
        if(mesec == 2)
            broj_dana = 28 + prestupna;
        printf("\nMesec ima %d dana.\n", broj_dana);
    }
}

O_o
 
Odgovor na temu

[es] :: C/C++ programiranje :: Prestupna ili ne?

[ Pregleda: 4515 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Srodne teme
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.