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

[Zadatak] Citanje datuma u formatu: mm/dd/yy

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Citanje datuma u formatu: mm/dd/yy

[ Pregleda: 4671 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

do_ob
Daleko...

Član broj: 89171
Poruke: 2
*.dlp364.bih.net.ba.



Profil

icon [Zadatak] Citanje datuma u formatu: mm/dd/yy23.03.2006. u 18:18 - pre 219 meseci
Zadatak glasi:

Napisat program koji sadrzi funkcije za:
a)citanje datuma u formatu: mm/dd/yy (mjesec, dan, godina)
b)stampanje datuma u obliku mjesec(tekst),dd,yyyy u datoteku "stampa".
Program izvrsavati vise puta i pamtiti rezultate u datoteku "stampa".
Nakon toga napisati program koji ce ispisati na ekran datume sortirane u opadajucem redoslijedu.
-----

Napravio sam program koji sadrzi a) i b).
Problem je u tome ne znam kako da napravim drugi program koji ce to sve iscitavat iz datoteke i poredat po opadajucem redolsijedu. Zapis u datoteci izgleda ovako:

April,5,1986
Mart,23,2007
April,16,1968
Decembar,14,1975

Ako neko ima prijedloga, sugestija, linkova... bilo sta, bio bih veoma zahvalan...

p.s. pocetnik sam :(

thx
 
Odgovor na temu

peka
Beograd

Član broj: 3947
Poruke: 124
..taman-bg.customer.sbb.co.yu.



+2 Profil

icon Re: [Zadatak] Citanje datuma u formatu: mm/dd/yy24.03.2006. u 02:04 - pre 219 meseci
Mislim da ti je najjednostavnije da napravis strukturu, recimo, Datum, i funkciju koja uporedjuje 2 datuma i da onda pozoves qsort. Znaci ovako otprilike

Code:

typedef struct Datum_TAG
{
    int godina, mesec, dan;
} Datum;

int uporedi(const void *a1, const void *b1)
{
    Datum *a, *b;
    a = (Datum *) a1;
    b = (Datum *) b1;

    if(a->godina < b->godina)
        return -1;
    else if(a->godina > b->godina)
        return 1;
    else
    {
        if(a->mesec < b->mesec)
            return -1;
        else if(a->mesec > b->mesec)
            return 1;
        else
        {
            if(a->dan < b->dan)
                return -1;
            else if(a->dan > b->dan)
                return 1;            
        }
    }
    return 0;
}


Ucitaj sve datume u niz tipa Datum[] i onda pozovi qsort:
Code:

    qsort(niz_datuma, broj_elemenata, sizeof(Datum), uporedi);


I sada u tom nizu imas sve datume sortirane.

Naravno, ti moras da se potrudis i napravis dio programa koji ce ucitavati datume u datom formatu i popuniti niz struktura, a zatim sortirani niz zapisati u fajl na zadati nacin.

[Ovu poruku je menjao peka dana 24.03.2006. u 04:47 GMT+1]
IRC is just multiplayer notepad.
 
Odgovor na temu

do_ob
Daleko...

Član broj: 89171
Poruke: 2
*.dlp21.bih.net.ba.



Profil

icon Re: [Zadatak] Citanje datuma u formatu: mm/dd/yy27.03.2006. u 23:23 - pre 219 meseci
hvala drug na pomoci...

a kako da uctitam datum, to mi je glavni problem...
Neznam kako da mu kazem da ucitava MJESEC do zareza, pa da to stavi kao jednu varijablu,
onda od zareza do zareza da bude DAN, kao opet zasebna varijabla, i od zareza do kraja GODINU kao zadnju varijablu.
I onda u novi red pa sve iz pocetka...
Vec nekoliko dana pokushavam da skontam al neide...

April,5,1986
Mart,23,2007
April,16,1968

 
Odgovor na temu

stargazer
bgd

Član broj: 85916
Poruke: 117
*.eunet.yu.



Profil

icon Re: [Zadatak] Citanje datuma u formatu: mm/dd/yy28.03.2006. u 01:25 - pre 219 meseci
pa možeš da proveravaš svaki char koji učitaš, a možeš i tako što ćeš sve od jednom da učitaš u neki bafer pa onda da parsuješ ( ',' za drugi član strukture, i '\n' za novu strukturu )
ja bih lično išao na ovaj drugi način, ali pre toga moraš da vidiš koliki bafer ti treba

Code:

// negde iznad si otvorio fajl
int VeličinaBafera = fseek(OtvoreniFajl, 0, SEEK_END)+1;
char * Bafer = (char *)malloc(VeličinaBafera * sizeof(char));
// ovde ga čitaš


PS: Bilo je pola tri ujutru kada sam ovo pisao, tako da bih molio : bez nekih vickastih komentara...

[Ovu poruku je menjao stargazer dana 28.03.2006. u 02:33 GMT+1]

[Ovu poruku je menjao stargazer dana 28.03.2006. u 02:34 GMT+1]
With no lovin' in our souls and no money in our coats you can't say we're satisfied
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: [Zadatak] Citanje datuma u formatu: mm/dd/yy28.03.2006. u 12:32 - pre 219 meseci
Izgleda da je neki ispitni rok u toku. Slicni zadaci - svi bi da seckaju jadne stringove u raznim zadacima.
Evo zato primer kako citati liniju po liniju iz fajla i izdvajati podstringove razdvojene zarezima:
Code:
// Dev-Cpp 4.9.9.2 with Mingw/GCC 3.4.2
#include <stdio.h>
#include <string.h>
// Test primer za f-ju <strtok>:
int main (){
    char linija[100], var[100];     // trebalo bi da bude dovoljno dugacko ... 
    FILE * pinf = fopen ("Datumi.txt","r");
    if (pinf == NULL) perror ("Greska ... ");
    else {
        char * pch;
        while (fgets(linija, 100, pinf)!=NULL){
            pch = strtok (linija,",");
            int i=0;
            while (pch != NULL)    {
                if (pch != NULL) {
                    sprintf (var,"%s",pch);
                    // sad nekako upotrebi <var> ... recimo - stapaj ga...
                    printf ("%s\n",var);
                }
                pch = strtok (NULL, ",");
                i++;
            }
        }
        fclose (pinf);
    }
    system("pause");
    return 0;
}
/*
U fajli Datumi.txt su redovi:
April,5,1986
Mart,23,2007
April,16,1968
Decembar,14,1975
*/

A ovo bi trebalo da dobijes na izlazu:

April
5
1986

Mart
23
2007

April
16
1968

Decembar
14
1975

Press any key to continue . . .

Funkcija strtok se moze iskoristiti na razne nacine, pa pogledajte dokumantaciju za vise detalja.
idb
 
Odgovor na temu

peka
Beograd

Član broj: 3947
Poruke: 124
..taman-bg.customer.sbb.co.yu.



+2 Profil

icon Re: [Zadatak] Citanje datuma u formatu: mm/dd/yy29.03.2006. u 02:45 - pre 219 meseci
Citat:
while (pch != NULL) {
if (pch != NULL) {


Sta ti ovo znaci? Ovaj if je totalno bespotreban, jer ako se uslo u while petlju onda je pch!=NULL tako da je ponovljeni test besmislen.
IRC is just multiplayer notepad.
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: [Zadatak] Citanje datuma u formatu: mm/dd/yy29.03.2006. u 08:42 - pre 219 meseci
Citat:
Ovaj if je totalno bespotreban

Potpuno si u pravu, moj previd - zamalo budalastina (izvukoh se jer daje tacne rezultate).
Slican primer sa postovao ovde (citanje stringa do odredenog znaka), pa sam ga samo ugurao u petlju...
Sad kad pogledam sto sam napisao izgleda mi smesno, a juce nisam ni primetio!
Hvala peko
idb :)
 
Odgovor na temu

desire x
Nema
Nema
Zrenjanin Srbija

Član broj: 326267
Poruke: 57
*.dynamic.sbb.rs.



Profil

icon Re: [Zadatak] Citanje datuma u formatu: mm/dd/yy04.07.2015. u 13:23 - pre 106 meseci
jel imas download od tog programa bas mi mi trebao ?
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Citanje datuma u formatu: mm/dd/yy

[ Pregleda: 4671 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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