» »

[C] Strukture

[C] Strukture

uporabnik111 ::

Imam težavo , ki je neznam odpraviti. Težava je pri void uredi. Program naj bi uredil po datumu naraščujoče vpisane podatke.
#include <iostream>
using namespace std;

struct Datum
{
int dan, mesec, leto;
int vsota=mesec+leto;
};

struct predmet
{
char ime[50];
Datum d_nakupa;
int hitrost_procesorja;
char blagovna_znamka[50];
int cena;
char operacijski_sistem[50];
};

void vpis(predmet telefon[])
{
for (int i=0; i<2; i++)
{
cout <<"Vpisi podatke za " <<i+1<< " telefon."<< endl;
cout <<"Vpisi ime telefona(S3, S4): ";
cin>> telefon[i].ime;
cout <<"Vpisi datum nakupa (dan mesec leto): "<<endl;
cout<<"Dan(dd): ";
cin>> telefon[i].d_nakupa.dan;
cout<<"Mesec(mm):";
cin>>telefon[i].d_nakupa.mesec;
cout<<"Leto(yyyy):";
cin>>telefon[i].d_nakupa.leto;
cout <<"Vpisi hitrost procesorja(GHz): ";
cin>> telefon[i].hitrost_procesorja;
cout<< "Vpisi blagovno znamko(samsung, lg, nokia): ";
cin>> telefon[i].blagovna_znamka;
cout<< "Vpisi ceno telefona(evrov): ";
cin>> telefon[i].cena;
cout<< "Vpisi operacijski sistem(android, windows): ";
cin>> telefon[i].operacijski_sistem;
cout<< endl;
cin.get();
}
}

void uredi(predmet telefon[])
{
    int x;
    {
          for (int i = 0; i < 2; i++) {
              if (telefon[i].d_nakupa.vsota < telefon[i+1].d_nakupa.vsota) {
                 x = telefon[i].d_nakupa.vsota;
                 telefon[i].d_nakupa = telefon[i+1].d_nakupa;
                 telefon[i+1].d_nakupa.vsota = x;
              }
          }
      }
    }


void izpis(predmet telefon[])
{

for (int i=0; i <2; i++)
{
cout<< "Ime telefona: "<< telefon[i].ime <<endl;
cout<< "Datum nakupa: " <<telefon[i].d_nakupa.dan <<"." <<telefon[i].d_nakupa.mesec<< "."<<telefon[i].d_nakupa.leto<< endl;
cout<< "Hitrost procesorja: "<< telefon[i].hitrost_procesorja<<" GHz" <<endl;
cout<< "Blagovna znamka: "<< telefon[i].blagovna_znamka<< endl;
cout<< "Cena: "<< telefon[i].cena<<" evrov"<< endl;
cout<< "Operacijski sistem: "<< telefon[i].operacijski_sistem<< endl;
cout<< endl;
}
}


int main()
{
predmet telefon[10];

vpis (telefon);
uredi (telefon);
cout<< "--------------------------------------------------------------------"<<endl;
izpis(telefon);

return 0;
}


  • spremenil: Mavrik ()

mn ::

Uh, kje začeti:

1.) vsota=mesec+leto; ni OK. Recimo: Januar 2014 < Januar 2015 < Marec 2014
2.) V funkciji Vpis vpišeš 2 telefona, v uredi pa v drugi iteraciji primerjaš drugega (telefon[i]) s tretjim (telefon[i+1]) ki ne obstaja.

gr_koman ::

struct Datum
{
int dan, mesec, leto;
int vsota=dan+mesec+leto;
int vsota1=dan*24+mesec*30+leto*365;
};

void uredi(predmet telefon[])
{
    int x;

    {
          for (int i = 0; i < 2; i++) {
              if (telefon[i].d_nakupa.vsota < telefon[i].d_nakupa.vsota1) {
                 x = telefon[i].d_nakupa.vsota;
                 telefon[i].d_nakupa.vsota = telefon[i+1].d_nakupa.vsota;
                 telefon[i+1].d_nakupa.vsota = x;
              }
          }
      }
    }


Mogoće kaj takšnega, na hitro sem naredil. tudi mene zanima kako se to naredi.

Zgodovina sprememb…

  • spremenilo: gr_koman ()

mn ::

Mogoće kaj takšnega, na hitro sem naredil. tudi mene zanima kako se to naredi.


Še bolj narobe.

Ali v struct datum naredi operator manjše (ali pa prosto funkcijo ki vzame dva datuma) kjer najprej pogledaš če je leto od prvega datuma manjše od leta drugega datuma. Če da potem veš da je prvi manjši. Če sta enaka, pa preveriš mesece, ...

Ne da se mi pisat bolj natančno pa še ne bom domačih nalog reševal.

galu ::

Ni treba tako komplicirati.
int concat=year*10000+month*100+day; // int z obliko yyyymmdd

... je dovolj, da lahko potem primerjaš datume med seboj.
Tako to gre.

ERGY ::

Prva stvar je, da popraviš ime teme.

MrStein ::

Se to sploh prevede?

Razen tega kot rečeno, popravit naslov teme v C++
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

marko20006 ::

Prosim za pomoč za c++. Rabim program v c++ za strukturo avto (znamka, cena, maxHitrost, poraba), program naj izpiše avtomobile, ki imajo ceno nad 100000eur in so znamke BMW. Strukturo sem naredil ampak mi manjka to, da mi izpiše za ta dva pogoja, se pravi za ceno in znamko.

Prosim za kakšen nasvet in pomoč, hvala in lp

čuhalev ::

Greš po vseh strukturah avtoobilov in preverjaš če so pogoji zadoščeni. Potem izpišeš.


Vredno ogleda ...

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

[C] Seznam s poljem

Oddelek: Programiranje
232256 (1736) aceton
»

[C++]Strukture

Oddelek: Programiranje
53944 (3873) jernejf
»

Programiranje v C++

Oddelek: Programiranje
352469 (1327) krneki0001
»

c++ datoteke

Oddelek: Programiranje
463819 (3308) Vesoljc
»

Problem s structurami v c++!!!

Oddelek: Programiranje
6855 (753) BigWhale

Več podobnih tem