» »

C++ struktura(izpis po datumu)

C++ struktura(izpis po datumu)

the_one_1 ::

Pozdravljeni,
imam en problem in sicer, nevem kak bi naredo da bi mi izpisalo po datumo padajoče.
Profesor nam je namignil, naj si datum spremenimo v neko številko, npr(tak sem jaz razumel);
dan=24 ur
mesec=30dni
leto=365dni

torej, dan*24+mesec*30+leto*365,

nevem kaj naj naredim da bi mi izpisovalo po datumo, nikak mi ne rata.

koda:
#include <iostream>
using namespace std;
struct Datum
{
int dan, mesec, leto;
};
struct telefon
{
    char ime[80];
    Datum Nakupa;
    int Procesor;
    char Znamka[80];
    int cena;
    char Sistem[80];
};
int main()
{
    telefon s[10];
    cout<<"Vnesi podatke o telefonu"<<endl;
    for(int i=0; i<3; i++)
    {
        cout<<"Ime"<<endl;
        cin>>s[i].ime;
        cout<<"Datum nakupa(D M L)"<<endl;
        cin>>s[i].Nakupa.dan>>s[i].Nakupa.mesec>>s[i].Nakupa.leto;
        cout<<"Vpisi hitrost procesorja"<<endl;
        cin>>s[i].Procesor;
        cout<<"Blagovna znamka"<<endl;
        cin>>s[i].Znamka;
        cout<<"Cena"<<endl;
        cin>>s[i].cena;
        cout<<"Operacijski sistem"<<endl;
        cin>>s[i].Sistem;
        cout<<"--------------------------------------------------"<<endl;//to sem du lo&#65533;ilno &#65533;rto not med vsakim studentom
    }
//    int vsota;
//    vsota=s[10].Nakupa.dan*24+s[10].Nakupa.mesec*30+s[10].Nakupa.leto*365;
    for(int i=0;i<3;i++)
    {
        cout<<s[i].ime<<endl;
        cout<<s[i].Nakupa.dan<<s[i].Nakupa.mesec<<s[i].Nakupa.leto<<endl;
        cout<<s[i].Procesor<<endl;
        cout<<s[i].Znamka<<endl;
        cout<<s[i].cena<<endl;
        cout<<s[i].Sistem<<endl;
        cout<<"--------------------------------------------------"<<endl;

    }

}


Tisto kaj je zakomentirano ne rabite gledat ker sem nekaj probavo.

galu ::

1.) Lahko bi gledal:


2.) Lahko bi uporabil iskanje
3.) Idi zdaj v tisto temo, ker je rešitev bolj ali manj že podana
4.) To mate nalogo na FRI-ju, ali kje drugje?
Tako to gre.

_AMG_ ::

#include <iostream>
using namespace std;
struct Datum
{
int dan, mesec, leto;
int vDnevih;
};
struct telefon
{
    char ime[80];
    Datum Nakupa;
    int Procesor;
    char Znamka[80];
    int cena;
    char Sistem[80];
};
int main()
{
    //stevilo telefonv
    int N = 3;
    telefon s[N];
    cout<<"Vnesi podatke o telefonu"<<endl;
    for(int i=0; i<N; i++)
    {
        cout<<"Ime"<<endl;
        cin>>s[i].ime;
        cout<<"Datum nakupa(D M L)"<<endl;
        cin>>s[i].Nakupa.dan>>s[i].Nakupa.mesec>>s[i].Nakupa.leto;

        //pretvori datum v dneve
        s[i].Nakupa.vDnevih = s[i].Nakupa.dan + s[i].Nakupa.mesec * 30 + s[i].Nakupa.leto * 365;

        /*cout<<"Vpisi hitrost procesorja"<<endl;
        cin>>s[i].Procesor;
        cout<<"Blagovna znamka"<<endl;
        cin>>s[i].Znamka;
        cout<<"Cena"<<endl;
        cin>>s[i].cena;
        cout<<"Operacijski sistem"<<endl;
        cin>>s[i].Sistem;
        cout<<"--------------------------------------------------"<<endl;//to sem du lo&#65533;ilno &#65533;rto not med vsakim studentom*/
    }

    //Sortiraj tabelo npr.: Buuble sort
    for(int i=0;i<N;i++)
    {
        for(int j=N-1;j>=0;j--)
        {
            //Primerjas elemente
            if(s[j].Nakupa.vDnevih > s[j-1].Nakupa.vDnevih)
            {
                //Elementa zamenjas
                telefon tmp = s[j];
                s[j] = s[j-1];
                s[j-1] = tmp;
            }
        }
    }

//    int vsota;
//    vsota=s[10].Nakupa.dan*24+s[10].Nakupa.mesec*30+s[10].Nakupa.leto*365;
    //Izpis sortiranih
    cout << "Izpis sortiranih" << endl;
    for(int i=0;i<N;i++)
    {
        cout<<s[i].ime<<endl;
        cout<<s[i].Nakupa.dan<<s[i].Nakupa.mesec<<s[i].Nakupa.leto<<endl;
        cout<<s[i].Procesor<<endl;
        cout<<s[i].Znamka<<endl;
        cout<<s[i].cena<<endl;
        cout<<s[i].Sistem<<endl;
        cout<<"--------------------------------------------------"<<endl;

    }

}

the_one_1 ::

Aja sem vido zaj da še je ena tema odprta, samo nisem gledo ker piše C,
drgač pa mam to nalogo na feri-ju, samo se mi je malo pri tem datumu zalomlo.
Hvala.

darkkk ::

1. Datum zapakiraj v obliko yyyy-mm-dd (lahko tudi yyyymmdd)
2. uporabiš sort za stringe (ne vem čist točno, kako ma c++ in std::string to implementirano, ampak bi moralo bit - sicer pa sam napiši :)

3. razmisli zakaj deluje pravilno :)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C] Strukture

Oddelek: Programiranje
81057 (639) čuhalev
»

[java ali C] Datoteka v obliki 0 in 1

Oddelek: Programiranje
191817 (1537) Mmm'Aah
»

c++ datoteke

Oddelek: Programiranje
464006 (3495) Vesoljc
»

Problem s structurami v c++!!!

Oddelek: Programiranje
6903 (801) BigWhale
»

štetje vpisanih znakov

Oddelek: Programiranje
81336 (1249) bostek

Več podobnih tem