[ Príspevkov: 15 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.06.13
Prihlásený: 20.12.25
Príspevky: 57
Témy: 19 | 19
NapísalOffline : 06.04.2014 20:10 | Uloha z C++

ano, ano, je to určite primitívne a neviem ešte aké, ale chýbal som na prednáškach a nemám to dobre vysvetlené tak neviem ako to urobiť a chcem niekoho z vás poprosiť o pomoc.

za ulohu mam toto:

Kód:
Riešte úlohu v téme, a dodržte nasledovné pokyny: Zvoľte vhodný dátový typ pre atribúty štruktúry (čísla - int, double; text - string). Môžete pridať aj ďalšie atribúty. Štruktúru použite v programe, ktorý dynamicky vytvorí premennú danej štruktúry (pomocou new) a načíta jej údaje z klávesnice. Údaje z premennej vypíšte pomocou vlastnej funkcie, ktorej parametrom bude smerník na vašu štruktúru. Pred ukončením programu ju vymažte (pomocou delete). Odovzdajte len hlavný zdrojový súbor. Môžete získať 2 body.
Abstrakt:   Deklarujte štruktúru s názvom Polozka (napr. na faktúre), ktorá má nasledovné údaje: názov, množstvo (ks), cena za kus.


vôbec nechápem ako to myslí a kde mam použiť to delete. vlastne to celé akosi nechápem.

mam zatial toto a neviem vôbec ako dalej

Kód:
#include <iostream>
#include <string>
using namespace std;


struct faktura
{
   char nazov[20];
   short mnozstvo;
   double cena;
};


int main()
{
   faktura * pa = new faktura;
   cout << "zadaj nazov polozky: ";
   cin.get >> (*pa).nazov;
   cout << "zadaj mnozstvo: ";
   cin >> (pa->mnozstvo);
   cout << "zadaj cenu: ";
   cin >> (pa->cena);
   

   cout << "polozka: " << (*pa).nazov << "\n";
   cout << "mnozstvo: " << pa->mnozstvo << "\n";
   cout << "cena: " << pa->cena << "\n";


   return 0;
}


ano určite je to celé zle ale bol by som velmi vďačný keby mi niekto pomohol.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 06.04.2014 20:38 | Uloha z C++

Tak podľa zadania
- nie faktura, ale Polozka (len to premenuj)
- nazov môžeš reprezentovať typom string a načítať normálne cin >> pa->nazov
- máš vytvoriť funkciu na výpis štruktúry, takže
Kód:
void vypis( Polozka * p )
{
 // vypis vsetkeho
}

- Na koniec máš svoju položku vymazať, takže delete polozka;

Tak by to malo byť v poriadku :)


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.06.13
Prihlásený: 20.12.25
Príspevky: 57
Témy: 19 | 19
Napísal autor témyOffline : 06.04.2014 20:47 | Uloha z C++

ok dík, zadám

void vypis (polozka * pa)
{...}

a potom do tela funkcie vypis() čo patrí do zátvoriek ?


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 06.04.2014 20:48 | Uloha z C++

Jednoduchý výpis názvu, množstva a ceny cez cout.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.06.13
Prihlásený: 20.12.25
Príspevky: 57
Témy: 19 | 19
Napísal autor témyOffline : 06.04.2014 21:02 | Uloha z C++

zle som položil otázku myslel som už v main mam to zatial takto.


Kód:
#include <iostream>
#include <string>
using namespace std;


struct polozka
{
   string nazov;
   short mnozstvo;
   double cena;
   

};

void vypis(polozka * pa)
{
   cout << "polozka: " << pa->nazov << "\n";
   cout << "mnozstvo: " << pa->mnozstvo << "\n";
   cout << "cena: " << pa->cena << "\n";
}


int main()
{
   polozka * pa = new polozka;
   cout << "zadaj nazov polozky: ";
   cin.get >> pa->nazov;
   cout << "zadaj mnozstvo: ";
   cin >> (pa->mnozstvo);
   cout << "zadaj cenu: ";
   cin >> (pa->cena);

   vypis()

   delete pa;

   return 0;
}


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 06.04.2014 21:19 | Uloha z C++

Jáj, no predsa Polozka, resp. objekt typu Polozka, takze pa.
Kód:
vypis(pa);
hotovo.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.06.13
Prihlásený: 20.12.25
Príspevky: 57
Témy: 19 | 19
Napísal autor témyOffline : 06.04.2014 21:23 | Uloha z C++

presne tak som to aj mal len pre istotu lebo mi to stále hádže error ale už viem problém je v string, hádže to toto:
bolo mi to hned podozrivé lebo float a double mam modrou farbou v programe a string sa napíše taku zelenou presne ako napr. polozka

akože určite asi ked to už odovzdám tak je to dobre len chcem vedet kde mam problém

Kód:
>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce template argument for 'std::basic_istream<_Elem,_Traits> &' from 'overloaded-function'
1>          c:\program files (x86)\microsoft visual studio 12.0\vc\include\string(135) : see declaration of 'std::operator >>'
1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &&,std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce template argument for 'std::basic_istream<_Elem,_Traits> &&' from 'overloaded-function'
1>          c:\program files (x86)\microsoft visual studio 12.0\vc\include\string(21) : see declaration of 'std::operator >>'
1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &&,_Ty &)' : could not deduce template argument for 'std::basic_istream<_Elem,_Traits> &&' from 'overloaded-function'
1>          c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream(1103) : see declaration of 'std::operator >>'
1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<char,_Traits> &std::operator >>(std::basic_istream<char,_Traits> &,unsigned char &)' : could not deduce template argument for 'std::basic_istream<char,_Traits> &' from 'overloaded-function'
1>          c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream(1093) : see declaration of 'std::operator >>'
1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<char,_Traits> &std::operator >>(std::basic_istream<char,_Traits> &,unsigned char *)' : could not deduce template argument for 'std::basic_istream<char,_Traits> &' from 'overloaded-function'
1>          c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream(1086) : see declaration of 'std::operator >>'
1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<char,_Traits> &std::operator >>(std::basic_istream<char,_Traits> &,signed char &)' : could not deduce template argument for 'std::basic_istream<char,_Traits> &' from 'overloaded-function'
1>          c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream(1079) : see declaration of 'std::operator >>'
1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<char,_Traits> &std::operator >>(std::basic_istream<char,_Traits> &,signed char *)' : could not deduce template argument for 'std::basic_istream<char,_Traits> &' from 'overloaded-function'
1>          c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream(1072) : see declaration of 'std::operator >>'
1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &,_Elem &)' : could not deduce template argument for 'std::basic_istream<_Elem,_Traits> &' from 'overloaded-function'
1>          c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream(1047) : see declaration of 'std::operator >>'
1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &,_Elem *)' : could not deduce template argument for 'std::basic_istream<_Elem,_Traits> &' from 'overloaded-function'
1>          c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream(1006) : see declaration of 'std::operator >>'
1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2677: binary '>>' : no global operator found which takes type 'std::string' (or there is no acceptable conversion)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 06.04.2014 21:28 | Uloha z C++

Prečo načitavaš cin.get >> pa->nazov ? Čo ťa k tomu viedlo? Vieš, čo to znamená?


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.06.13
Prihlásený: 20.12.25
Príspevky: 57
Témy: 19 | 19
Napísal autor témyOffline : 06.04.2014 21:35 | Uloha z C++

ano opravené, díky, viem čo to znamená a aj viem ako sa to tam dostalo, chyba z nepozornosti, ja som program kopíroval z príkladu aby som to nemusel celé písať sám :D


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 06.04.2014 21:48 | Uloha z C++

Za málo.

Inak to zafarbenie, short a double sú primitívne dátové typy(rovnako ako int, char, float atď), ktoré sú väčšinou zafarbené nejakou farbou. string a polozka sú štruktúry, resp. triedy (string je trieda, polozka je štruktúra. V C++ je medzi nimi veľmi malý rozdiel)


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.06.13
Prihlásený: 20.12.25
Príspevky: 57
Témy: 19 | 19
Napísal autor témyOffline : 06.04.2014 21:50 | Uloha z C++

aha tak to preto, dobre dakujem za vysvetlenie ja sa idem pustit do dalšej časti ulohy keby máš nejakú radu aj k tomu alebo máš záujem pomôcť tak tu je zadanie :)

Kód:
Pokračovanie 1.úlohy. Riešte úlohu v téme, a dodržte nasledovné pokyny: Štruktúru použite v programe, ktorý vytvorí zoznam smerníkov na vaše štruktúry. Zoznam naplňte a potom vypíšte. Najskôr sa spýtate na počet jeho položiek, a potom ich postupne vytvorte (pomocou new), načítajte ich údaje a vložte do zoznamu. Druhým možným riešením je: pýtať sa, či chcem pridať ďalšiu položku a opakovať to, kým neodpoviem nie. Po výpise treba odstrániť všetky položky zo zoznamu (ak nie je prázdny). Nezabudnite, že každá položka v zoznamu je smerníkom na štruktúru, a preto treba každú z nich vymazať samostatne pomocou delete. Použitie vlastných funkcií je žiaduce, ale nie povinné. Odovzdajte len hlavný zdrojový súbor. Môžete získať 4 body.
Abstrakt:   Ako zoznam použite vector. Deklarujte štruktúru s názvom Polozka (napr. na faktúre), ktorá má nasledovné údaje: názov, množstvo (ks), cena za kus.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 06.04.2014 21:55 | Uloha z C++

Nemám záujem riešiť takéto veci. Ak ale budeš mať nejaký konkrétny problém, rád poradím :)


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.06.13
Prihlásený: 20.12.25
Príspevky: 57
Témy: 19 | 19
Napísal autor témyOffline : 06.04.2014 22:11 | Uloha z C++

dobre teda ked na nejaký narazím tak dám vedet vela času ale nemam musím odovzdať do 23:55 :D

// Spojený príspevok Ned 06.04.14 22:32

urobil som to takto, funguje to a vyzerá to dobre len neviem či som podla zadania urobil tak ako to chcú, pozrieš sa na to ? :)

Kód:
#include <iostream>
#include <string>
#include <vector>
using namespace std;


struct polozka
{
   string nazov;
   short mnozstvo;
   double cena;


};

void NacitatZoznam(vector<polozka *> & zoznam)
{
   polozka *pa;
   int z;

   do
   {
      pa = new polozka;

      cout << "Nazov: ";
      cin >> pa->nazov;
      cout << "Mnozstvo: ";
      cin >> pa->mnozstvo;
      cout << "cena: ";
      cin >> pa->cena;

      zoznam.push_back(pa);

      cout << "Dalsia polozka? 1-ano, 0-nie: ";
      cin >> z;

   } while (z == 1);
}

void VypisatZoznam(vector<polozka *> & zoznam)
{
   cout << "Zoznam poloziek:\n";
   vector<polozka *>::iterator it;

   for (it = zoznam.begin(); it != zoznam.end(); ++it)
      cout << (*it)->nazov << ", mnozstvo: " << (*it)->mnozstvo << ", cena za kus: " << (*it)->cena << endl;
   cout << endl;
}
void VymazatZoznam(vector<polozka *> & zoznam)
{
   vector<polozka *>::iterator it;
   polozka * pPolozka = NULL;

   for (it = zoznam.begin(); it != zoznam.end(); ++it)
   {
      pPolozka = *it;
      if (pPolozka != NULL)
         delete pPolozka;
   }
   zoznam.clear();
}

int main()
{
   vector<polozka *> pa;

   NacitatZoznam(pa);

   VypisatZoznam(pa);

   VymazatZoznam(pa);
   return 0;
}


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 06.04.2014 22:40 | Uloha z C++

Vyzerá to dobre :) Ak to funguje (nespúšťal som to), tak by to malo byť ok.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.06.13
Prihlásený: 20.12.25
Príspevky: 57
Témy: 19 | 19
Napísal autor témyOffline : 06.04.2014 22:43 | Uloha z C++

ano funguje to skušal som zadat 5 položiek :D, dobre ďakujem za pomoc :) to je všetko


 [ Príspevkov: 15 ] 


Uloha z C++



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

C# uloha

v Backend

4

800

02.12.2014 13:25

hatto13

V tomto fóre nie sú ďalšie neprečítané témy.

C++ úloha ODMENA

v Backend

3

536

01.12.2012 11:42

C0lder

V tomto fóre nie sú ďalšie neprečítané témy.

Uloha z C# a Keil uVision

v Backend

6

586

07.04.2014 22:23

FocusX

V tomto fóre nie sú ďalšie neprečítané témy.

visual C# @2010 naprogramovat jednoduchu hru (domáca uloha)

v Ponuka a dopyt práce

0

961

18.07.2011 18:11

tipek112

V tomto fóre nie sú ďalšie neprečítané témy.

Úloha

v Backend

8

494

28.04.2021 8:36

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Logicka uloha

v Krčma

13

3587

24.11.2011 0:12

Jeffo

V tomto fóre nie sú ďalšie neprečítané témy.

Assembler - úloha

v Backend

2

993

22.10.2007 15:04

programator

V tomto fóre nie sú ďalšie neprečítané témy.

Matematicka uloha

v Diskusia

28

2386

23.05.2008 20:03

Svolo

V tomto fóre nie sú ďalšie neprečítané témy.

Pascal uloha

v Ostatné

6

591

03.05.2010 7:42

coldak

V tomto fóre nie sú ďalšie neprečítané témy.

Pascal uloha

v Ostatné

12

831

26.11.2011 21:59

F3RY

V tomto fóre nie sú ďalšie neprečítané témy.

databazova uloha

v Databázy

8

758

27.11.2011 17:00

coldak

V tomto fóre nie sú ďalšie neprečítané témy.

Assembler úloha

v Backend

0

873

02.02.2008 7:37

HT

V tomto fóre nie sú ďalšie neprečítané témy.

pascal uloha

v Ostatné

1

715

11.11.2009 16:23

feromakovi

V tomto fóre nie sú ďalšie neprečítané témy.

gimp domaca uloha

v Kôš

3

36

27.05.2020 16:04

werwest

V tomto fóre nie sú ďalšie neprečítané témy.

Exel (vzorce) - uloha

v Ostatné programy

1

452

25.05.2013 19:59

IT-Academy

V tomto fóre nie sú ďalšie neprečítané témy.

python - jednoduchá úloha

v Backend

5

1096

08.06.2020 14:50

ux



© 2005 - 2026 PCforum, edited by JanoF