Dev C++ Dz

poruka: 14
|
čitano: 4.216
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
offline
Dev C++ Dz

Ovako, trebao bi pomoć oko jedne zadaće iz računalstva u Dev C++.

 

Ako neko ima volje da mi ga riješi bio bi veoma zahvalan.

 

Zadatak glasi ovako:

 

Korisnik unosi datum u formatu npr. "18.02.2011". a program ispisuje datum u formi npr. "18.veljača.2011.

 

Profesor nam je još napisao ove podatke:

 

dan 1-31

mjesec  1-12

godina xxxx                                  

Tu sam i kad misliš da nisam!!
Poruka je uređivana zadnji put sri 23.2.2011 22:21 (Nisam Ja,Nisi Ti).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Dev C++ Dz

I di je  zapelo?

Reci što te muči da znamo pomoć.

Ako ti napišemo cijeli program, nema smisla.

Nista nije sveto sve je bruto i neto, sve je zabava!
Moj PC  
0 0 hvala 0
14 godina
offline
Dev C++ Dz
upisi 3 stringa(dan,mj,god) i tocke.napisi funkciju koja vraca string ime_mjeseca(dakle if(mj == "01")return "sijecanj" itd.)pa ispises dan,tocku,ime_mjeseca(mj),tocku,god,tocku :D.
 
0 0 hvala 0
15 godina
offline
Dev C++ Dz

Nešto ovako?

 

#include <iostream>

 

main()

{

 

int dan, mjesec, godina;

 

printf("Unesi datum: ");

scanf("%d.%d.%d",&dan, &mjesec, &godina);

 

if(dan>31||dan<1) printf("Uneseni datum nije valjan \n");

if(mjesec>12||mjesec<1) printf("Uneseni mjesec nije valjan \n");

 

if(mjesec==1) printf("%d. sijecanj %d. \n",dan, godina);

if(mjesec==2) printf("%d. veljaca %d. \n",dan, godina);

if(mjesec==3) printf("%d. ozujak %d. \n",dan, godina);

if(mjesec==4) printf("%d. travanj %d. \n",dan, godina);

if(mjesec==5) printf("%d. svibanj %d. \n",dan, godina);

if(mjesec==6) printf("%d. lipanj %d. \n",dan, godina);

if(mjesec==7) printf("%d. srpanj %d. \n",dan, godina);

if(mjesec==8) printf("%d. kolovoz %d. \n",dan, godina);

if(mjesec==9) printf("%d. rujan %d. \n",dan, godina);

if(mjesec==10) printf("%d. listopad %d. \n",dan, godina);

if(mjesec==11) printf("%d. studeni %d. \n",dan, godina);

if(mjesec==12) printf("%d. prosinac %d. \n",dan, godina);

 

 

system("pause");

return(0);

}

Tu sam i kad misliš da nisam!!
Moj PC  
0 0 hvala 0
14 godina
offline
Dev C++ Dz
moglo bi se i ljepse zapisat,ali da,i ovako radi :)
 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Dev C++ Dz

Da, mozes rijesiti sa if blokovima, a mozes i ovako (malo inovativniji pristup):

 

#include <stdlib.h>
#include <stdio.h>

int main()
{
    char* mjeseci[12];
    int dan, mjesec, godina;
    mjeseci[0]="Sijecanj";      
    mjeseci[1]="Veljaca";
    mjeseci[2]="Ozujak";
    mjeseci[3]="Travanj";
    mjeseci[4]="Svibanj";
    mjeseci[5]="Lipanj";
    mjeseci[6]="Srpanj";
    mjeseci[7]="Kolovoz";
    mjeseci[8]="Rujan";
    mjeseci[9]="Listopad";
    mjeseci[10]="Studeni";
    mjeseci[11]="Prosinac";
   
    printf("Unesite dan, mjesec i godinu u formatu XX.XX.XXXX\n");
    scanf("%d.%d.%d", &dan, &mjesec, &godina);
   
    printf("\n%d. %s %d.\n", dan, mjeseci[mjesec-1], godina);
   
    system("pause");
    return 0;
}

Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?
15 godina
offline
Dev C++ Dz

Naredbu "char" nismo još radili tako da ju nesmijem ubacivat još.

 

Koju naradbu stavim umjesto char?

Tu sam i kad misliš da nisam!!
Moj PC  
0 0 hvala 0
17 godina
moderator
offline
Re: Dev C++ Dz
rustweaver kaže...

Da, mozes rijesiti sa if blokovima, a mozes i ovako (malo inovativniji pristup):

A evo jedan još malo inovativniji... Pa nedavno sam nešto slično u jednoj drugoj temi napisao...

 

#include <stdlib.h>#include <stdio.h>
int main(){    int dan, mjesec, godina;
    char mjeseci[12][10] = { "Sijecanj", "Veljaca", "Ozujak", "Travanj", "Svibanj","Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac" };    printf("Unesite dan, mjesec i godinu u formatu XX.XX.XXXX\n");    scanf("%d.%d.%d", &dan, &mjesec, &godina);    printf("\n%d. %s %d.\n", dan, mjeseci[mjesec-1], godina);    system("pause");
    return 0;}

17 godina
moderator
offline
Re: Dev C++ Dz
Nisam Ja,Nisi Ti kaže...

Naredbu "char" nismo još radili tako da ju nesmijem ubacivat još.

 

Koju naradbu stavim umjesto char?

char nije naredba, nego (znakovni, "slovni") tip varijable. Ovo su zapravo polja znakova.

 

Znači ako imaš

  char blabla = 'x';

 

imaš

  tip_varijable naziv_varijable = inicijalna_vrijednost;

 

 

Uglavnom, ako niste radili char, onda nemaš što umjesto toga staviti. Onda nek ti program bude onako kako si ga prvo napisao. Ako ste učili switch onda bi mogao staviti switch umjesto svih onih if-ova.

 

 

FYI naredba je praktički cijeli red - ono do točke-zarez. Znači, jedna naredba je recimo ovo:

 

if(dan>31||dan<1) printf("Uneseni datum nije valjan \n");

 

if je ključna riječ, kojoj se definira uvjet. Doduše, kad netko spominje if-naredbu, zapravo priča o naredbi u kojoj se koristi uvjet if.

17 godina
offline
Dev C++ Dz

Evo kak sam ja to riješio dok smo davno imali vježbe (uspio sam to iskopati :D )

#include <stdlib.h>
#include <stdio.h>

int dan,mjesec,godina;
int main()
{
    printf("Unesi datum rodenja\n");
    scanf("%d %d %d",&dan, &mjesec, &godina);
    switch (mjesec)
    {
           case 1: printf("%d. sijecnja %d.\n", dan, godina);break;
           case 2: printf("%d. veljace %d.\n", dan, godina);break;
           case 3: printf("%d. ozujka %d.\n", dan, godina);break;
           case 4: printf("%d. travnja %d.\n", dan, godina);break;
           case 5: printf("%d. svibnja %d.\n", dan, godina);break;
           case 6: printf("%d. lipnja %d.\n", dan, godina);break;
           case 7: printf("%d. srpnja %d.\n", dan, godina);break;
           case 8: printf("%d. kolovoza %d.\n", dan, godina);break;
           case 9: printf("%d. rujna %d.\n", dan, godina);break;
           case 10: printf("%d. listopada %d.\n", dan, godina);break;
           case 11: printf("%d. studenog %d.\n", dan, godina);break;
           case 12: printf("%d. prosinca %d.\n", dan, godina); break;
           }
    system("pause");
    return 0;
}

 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Dev C++ Dz
mbaksa kaže...

A evo jedan još malo inovativniji... Pa nedavno sam nešto slično u jednoj drugoj temi napisao...

E ovo, nisam se mogao sjetiti kako pri deklaraciji dvodimenzionalnog polja odmah dodijeliti vrijednosti. ^^

 

Promakla mi je ta tema u kojoj si to vec bio napisao, inace bih i ja sada tako. Ocito :P

Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?
Poruka je uređivana zadnji put čet 24.2.2011 0:52 (rustweaver).
15 godina
offline
Re: Dev C++ Dz
denix kaže...

Evo kak sam ja to riješio dok smo davno imali vježbe (uspio sam to iskopati :D )

#include <stdlib.h>
#include <stdio.h>

int dan,mjesec,godina;
int main()
{
    printf("Unesi datum rodenja\n");
    scanf("%d %d %d",&dan, &mjesec, &godina);
    switch (mjesec)
    {
           case 1: printf("%d. sijecnja %d.\n", dan, godina);break;
           case 2: printf("%d. veljace %d.\n", dan, godina);break;
           case 3: printf("%d. ozujka %d.\n", dan, godina);break;
           case 4: printf("%d. travnja %d.\n", dan, godina);break;
           case 5: printf("%d. svibnja %d.\n", dan, godina);break;
           case 6: printf("%d. lipnja %d.\n", dan, godina);break;
           case 7: printf("%d. srpnja %d.\n", dan, godina);break;
           case 8: printf("%d. kolovoza %d.\n", dan, godina);break;
           case 9: printf("%d. rujna %d.\n", dan, godina);break;
           case 10: printf("%d. listopada %d.\n", dan, godina);break;
           case 11: printf("%d. studenog %d.\n", dan, godina);break;
           case 12: printf("%d. prosinca %d.\n", dan, godina); break;
           }
    system("pause");
    return 0;
}

Ovaj mi je kod dobar samo trebam nešto prepraviti.

 

U ovom kodu ja moram napisati npr ovako: 08 pa enter

                                    03 pa enter

                                   1994 enter i onda mi izbaci recimo 08.ožujka bla bla bla

 

E meni treba baš da upišem ovako 08.03.1994

 

Nadam se da razumiješ kaj oću reć.                                    

Tu sam i kad misliš da nisam!!
15 godina
neaktivan
offline
Re: Dev C++ Dz
Nisam Ja,Nisi Ti kaže...
E meni treba baš da upišem ovako 08.03.1994

 

Nadam se da razumiješ kaj oću reć.                                    

Odvojeno s tockama? Pa prepravi razmake u tocke, kao u mom primjeru sto imas.

 

EDIT: pa ti si to vec i sâm bio napravio, u cemu je sada problem?

Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?
Poruka je uređivana zadnji put čet 24.2.2011 21:31 (rustweaver).
14 godina
offline
Dev C++ Dz
Bas to 0.o,samo u scanf tocke bubnes
 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice