Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 22 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
cannot be pverloaded

Registrovaný: 19.09.09
Prihlásený: 12.09.13
Príspevky: 359
Témy: 55
Bydlisko: Rohožník
Príspevok NapísalOffline : 21.03.2011 18:35

Prosim Vás o radu.
Definoval som si triedy Item a List. V Item.h mám prototypy, v Item.cpp komplet funkcie, tak isto som to robil aj s List . Item je typ premenej v List. Takže mám Item. a .cpp a List.h a .cpp. V main.cpp mám vlastne iba menu aplikacie.

Ziadne chyby mi to nevypisuje až na tieto:
Kód:
´void List::zmena()´ and ´void List::zmena()´ cannot be overloaded


toto je iba jedna z nich ... hlasi to chybu pre všetky funkcie zadefinovane v List.cpp a neviem preco?

prikladám List.h a List.cpp:

Kód:
#include "item.cpp"

class List   
          {
           public:
   
          Item* first;
           Item* back;
     

          List();
               

          ~List();
                
          void add();
               
   
          void push_front();
          
           void push_back()   ;   
              
   
          Item* po_jednom();
               
   
   
   
         void zmena();   

      
         void print_list();


Kód:
#include <iostream>

using namespace std;


#include "list.h"

int scan()
{
   int volba; char volba_s[3];
   while (1)                      // osetrenie vstupu pre volbu
          {
           cin>>volba_s;      // nacita retazec
           if (atoi(volba_s))          // ak je retazec cislo
             {
              volba = atoi(volba_s);      // ulozi cislo do premennej
              if (volba != 1 && volba != 2)
                  cout<<"\n    Zla volba! Opakuj: ";     // ak je mimo ponuky
              else break;             // ak je vsetko OK
             }
           else cout<<"\n    Zla volba! Opakuj: ";          // zadany znak
          }
     return volba;     
    }




List::List()
                {
               Item* first = NULL;
                 Item* back = NULL;   
               };

List::~List()   
                {
                Item* akt;
                  while(first != NULL)   
                     {
                   akt = first->next;
                   delete first;
                   first = akt;
                   }
                };   
                 
void List::add()
           {
               first=new Item(first);
               back=first;
               
                }
             
void List::push_front()   
               {
              first = new Item(first);
              };
          
void List::push_back()   
               {
                 back->next=new Item();         
              };
               
Item* List::po_jednom()
               {
                int vol; int i;
                Item* aktualny = first;
                Item* back=NULL;
               
               
        
                 for(i=0;aktualny!= NULL;i++)
                       {
                         system("CLS");
                         cout<<"\n    *******************************************************************";
                         cout<<"\n    **  Vymazanie zaznamu - listovanie  *******************************";
                         cout<<"\n    *******************************************************************\n\n\n";           
                        cout<<"    "<<aktualny->ID<<endl;
                         cout<<"    "<<  aktualny->meno<<endl;
                         cout<<"    "<<  aktualny->priezvisko<<endl<<endl;
               
                        cout<<"\n    Vymazanie:\n    1) Vymazat tento zaznam\n    2) Zobraz dalsi zaznam\n\n    ";
                        /*cin>> vol; */         vol= scan();
                         if (vol==1)
                            {
                            if(i==0)
                               {
                                first=aktualny->next;
                                delete aktualny;
                                return first;
                               }
                           if(i!=0)
                               {
                                back->next=aktualny->next;
                                delete aktualny;
                                return first;
                               }
                            }                               
                         if (vol==2)
                            {   
                            back=aktualny;               
                           aktualny = aktualny->next;
                            if (aktualny==NULL) { cout<<"\n    Si na konci zoznamu!\n    "; system("PAUSE"); return first; }
                           }   
                    }
             };
             
void List::zmena()
            {
              int vol;       
              if (first==NULL)
                 {   
                     system("CLS");
                     printf("\n    *******************************************************************");
                     printf("\n    **  Editovanie zaznamu  *************************************************");
                     printf("\n    *******************************************************************\n");
                     printf("\n\n    Zoznam je prazdny! \n\n\n    ");
                     system("PAUSE");
                 }
   
                  Item* ten=first;
   
 
                  if (ten != NULL)
                      {
                      char m[20],p[20];
                      int volba;
                      system("CLS");
                      cout<<"\n    *******************************************************************";
                      cout<<"\n    ****  Search / Edit  **********************************************";
                      cout<<"\n    *******************************************************************\n\n";
                      cout<<"\n    Vyber podla:\n    1) Meno a priezvisko\n    2) ID\n\n    ";
                      volba=scan();
     
                       if (volba==1)
                          {
                          system("CLS");
                          cout<<"\n    *******************************************************************";
                          cout<<"\n    ****  Search / Edit  **********************************************";
                          cout<<"\n    *******************************************************************\n\n";         
                          cout<<"\n    Zadaj meno a priezvisko studenta: ";
                          cin>>m;
                          cin>>p;

                          while ((ten  !=  NULL)&&((strcmp(ten ->meno, m))||(strcmp(ten ->priezvisko, p))))
                             {
                             ten  = ten ->next;
                             }
                           }
       
                       if (volba==2)
                          {
                          system("CLS");
                          cout<<"\n    *******************************************************************";
                          cout<<"\n    ****  Search / Edit  **********************************************";
                          cout<<"\n    *******************************************************************\n\n";         
                          cout<<"\n    Zadaj ID studenta: ";
                          cin>>m;

                          while ((ten  !=  NULL)&&(strcmp(ten ->ID, m)))
                              {
                              ten  = ten ->next;
                              }
                          }
     
                    if (ten  ==  NULL)
                      {
                      cout<<"\n\n    Nenasiel sa!\n    ";
                      system("PAUSE");
                      }
                    else
                      cout<<"\n    Nasiel sa hladany zaznam! \n\n";
                    }
     
     
             if (ten != NULL)
                  {
                  cout<<"\n     UDAJE:\n";
                  cout<<"     ID studenta: "<<ten->ID<<endl;
                  cout<<"     Meno:        "<<ten->meno<<endl;
                  cout<<"     Priezvisko:  "<<ten->priezvisko<<endl;
       
                  cout<<"\n\n    1) Edituj\n    2) Menu\n\n";
                  vol=scan();
       
                  if(vol==1)
                            {
                            system("CLS");
                            cout<<"\n    *******************************************************************";
                            cout<<"\n    ****  Search / Edit  **********************************************";
                            cout<<"\n    *******************************************************************\n\n"; 
                            cout<<"     \n\n     TERAZ ZADAJ NOVE UDAJE:";               /* zmena údajov */   
                            cout<<"\n     ID studenta: ";
                            cin>>ten->ID;
                            cout<<"     Meno : ";
                            cin>>ten->meno;
                            cout<<"     Priezvisko: ";
                            cin>>ten->priezvisko;
       
                            }
                   }
     

         while (getchar() != '\n');
   
         };
         
void List::print_list()   
              {
              system("CLS");
              cout << endl<<"    *******************************************************************"<<endl;
              cout<<"    ****  Vypis zoznamu  **********************************************"<<endl;
              cout<<"    *******************************************************************\n\n\n";
         
              if(first==NULL) cout<<"    Zoznam je prazdny! Nie je co vypisat.\n\n    ";
         
            Item* akt = first;
            while(akt != NULL)
                      {
                     akt->print_Item();
                     akt = akt->next;
                      }
               }
         };                                       
          


Offline

Užívateľ
Užívateľ
cannot be pverloaded

Registrovaný: 20.03.11
Prihlásený: 01.11.11
Príspevky: 27
Témy: 0
Príspevok NapísalOffline : 21.03.2011 19:29

A toto si kde videl:
Kód:
#include <item.cpp>


C++ používanie funkcie printf() nedoporučuje, pre štandardný výstup máš objekt preddefinovaný cout...

Inak pekný miš-maš :-), určite si sem dal celú triedu List ?
A verejné premenné som už tiež dlho nevidel :-P, nebolo by lepšie keby si List dedil z Item ?


Offline

Užívateľ
Užívateľ
cannot be pverloaded

Registrovaný: 19.09.09
Prihlásený: 12.09.13
Príspevky: 359
Témy: 55
Bydlisko: Rohožník
Príspevok Napísal autor témyOffline : 21.03.2011 21:39

No vidis ... vsimol som si to az tu ... zabudol som dat za tiredou zatvorku =)

Ano, je to kompletna trieda.
to printf som len skusal ...
totiz potreboval by som pomoct .. teraz potrebujem zapisať do suboru.

V C viem, že FILE * subor ...... atd..... a cez fprintf(subor,"...") ...
Len neviem, ako sa to robi v C++, tak by sa to malo robit cez prud, poradite, ako deklarovat subor , aj otvorenie a zapis , resp. aj citanie ???
Hladal som na nete, no nenašiel som nič po slovensky a fakt som unaveny uz ...

Hadam bude niekto taky dobry a da mi sem tych 6 riadkov, ako na to :)

Ďakujem


Offline

Užívateľ
Užívateľ
cannot be pverloaded

Registrovaný: 20.03.11
Prihlásený: 01.11.11
Príspevky: 27
Témy: 0
Príspevok NapísalOffline : 21.03.2011 22:25

Pridáš hlavičkový súbor fstream, kde sú definované objekty ofstream(výstup) a ifstream(vstup).
Zadeklaruješ si objekt a inicializuješ pomocou konštuktora:
Kód:
#include <fstream>
using namespace std;
...
ifstream fin(nazov_suboru); // otvorenie suboru pre citanie
ofstream fout(nazov_suboru);  // otvorenie suboru pre zapis

fout.close();  // zatvorenie
fin.close();


Objekty fin a fout používaš ako štandardné cin a cout vrátane ich metód a preťažených operátorov...Teda kľudne môžeš napísať
Kód:
fout << buffer << "\n";
fin.get(znak);


Offline

Skúsený užívateľ
Skúsený užívateľ
cannot be pverloaded

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 21.03.2011 22:38

@mack0: nereagoval si este na hradecek-ovu poznamku ohladom include. #include pripaja podla konvecnie hlavickove subory, cize nikdy nie #include nieco.cpp ale vzdy nieco.h
Dalsia vec, co sa tyka hlavickovych suborov, nevsimol som si tam ziadnu ochranu voci viacnasobnemu vlozeniu. Ak by si mal rozsiahlejsi projekt a viac modulov by ti inkludovalo tento hlavickovy subor, dostal by si error redeclaration koli viacnasobnemu vlozeniu do vysledneho kodu. Vsimni si, ako niektore vyvojove preostredia automaticky pridavaju do novo vytvorenych hlavickovych suborov nieco taketo:

Kód:
#ifndef NAZOV_HLAVICKOVEHO_SUBORU
#define NAZOV_HLAVICKOVEHO_SUBORU

/* vnutri bude cely tvoj kod - mali by tu byt iba deklaracie, implementacia by mala byt az v cpp subore */

#endif  // NAZOV_HLAVICKOVEHO_SUBORU


Nauc sa pouzivat v *.h suboroch tuto cast kodu a v buducnosti ta neprekvapi spomenuta chyba. To bolo len na okraj, taka naucna cast :)

Aby som nemusel nanovo vymyslat nejaky priklad s pouzitim streamov, tak si pozri tento priklad. Mala by z toho byt jasna cela praca so zapisom a citanim. A ak nie, tak este pozri na koniec tohto clanku a na tento clanok.


Offline

Užívateľ
Užívateľ
cannot be pverloaded

Registrovaný: 19.09.09
Prihlásený: 12.09.13
Príspevky: 359
Témy: 55
Bydlisko: Rohožník
Príspevok Napísal autor témyOffline : 28.03.2011 17:28

Prosim Vas ... este co sa týka tých includov ...
Mám: pre triedu Item tieto subory item.h, item.cpp (v prvom prototypy, v druhom zadefinovane), tak isto aj pre triedu List - list.h a list.cpp + mám ešte pomocne funkcie v funkcie.h .... teraz by som to potreboval pospajat tak, aby neboly includeovane .cpp.

Trieda Item je vlastne premenna v tirede List. Takze do tiredy list musi vstupovat Item, a do hlavneho .cpp musi vstupovat List, navyse pouzite funkcie su pre list.cpp, kde su definovane funkcie.

ako to pospajat? akoze doteraz mi to slo aj s tymy incl. cppckami, mi spustilo mi to a viac uz nechcelo .... poradite?


Offline

Skúsený užívateľ
Skúsený užívateľ
cannot be pverloaded

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 28.03.2011 18:47

Proste sa pozeraj na kazdu cast samostatne. Odmysli si hlavickove subory, pracuj s cpp subormi. Si v list.cpp a potrebujes pracovat s datami v item.cpp tak ich jednoducho pripoj cez #include "item.h". A takto pokracuj so vsetkym. Proste na kazdy cpp subor pozeraj zvlast. Potom to len skomilujes vsetko spolu a mas to. Nie je v tom ziadna veda, iba nezabudni v kazdom h subore na ochranu #ifndef


Offline

Užívateľ
Užívateľ
cannot be pverloaded

Registrovaný: 19.09.09
Prihlásený: 12.09.13
Príspevky: 359
Témy: 55
Bydlisko: Rohožník
Príspevok Napísal autor témyOffline : 28.03.2011 19:10

tu ochranu uz mam.
Robim, ako si mi poradil, no stale to nejde ...
Prosim ta, napis, v com mam co includnut:

item.h - zadeklarovana trieda 1premennej a 1smernika - pre zretazeny zoznam, prototypy metod
item.cpp - kompletne zadane metody



list.h - zadeklarovana trieda s prvkom item, prototypy metod.
list.cpp - kompletne napisane metody.

main.cpp - iba menu a int main() .... tot vse

Prosim ta, kam mam includnut iostream, kde ho vyuzivam vo vsetkych .cpp z týchto tu, a do ktoreho mam to includnut ...
doteraz som robil vsetko v jednom a slo mi to, akonahle som to chcel rozdelit, nejde, a avlastne ani tomu principu nechapem ... prosim ta, napis mi to, co kam napisat.

ešte som zabudol dodať, mám to v Dev-C++, no nerobil som to cez projekt, vytvoril som si novy zakazdym novy .cpp ci .h subor pre kod, je to snad zle?


Offline

Skúsený užívateľ
Skúsený užívateľ
cannot be pverloaded

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 28.03.2011 20:01

mack0 píše:
nerobil som to cez projekt, vytvoril som si novy zakazdym novy .cpp ci .h subor pre kod, je to snad zle?

Nie to zle, skor naopak. Este raz - odmysli si akukolvek suvislost medzi jednotlivymi cpp subormi. Co potrebujes, to tam includni. Pouzivas v nom std::cout ?? Fajn, tak includni iostream. Pouzivas ho aj v druhom cpp subore? Tak ho daj aj tam. Aj v iostream je ochrana viacnasobneho vlozenia, takze sa nemusis nicoho obavat. Ide tu o to, ze ty ak o nejaky cas budes potrebovat iba jeden cpp subor, v nejakom inom tvojom projekte, tak nebudes musiet nic menit (mozno len minimalnu cast kodu), lebo tam mas vsetko pripojene co potrebujes. Ale ak to hodis niekam inam, potom budes musiet vsetko znova prezerat a upravovat, delit, atd...

item.cpp:
#include co_potrebujes_napr_iostream
#include item.h

list.cpp:
#include co_potrebujes_napr_iostream
#include item.h
#include list.h

Ak by ti to neslo ani teraz, napis sem chybovu spravu.


Offline

Užívateľ
Užívateľ
cannot be pverloaded

Registrovaný: 19.09.09
Prihlásený: 12.09.13
Príspevky: 359
Témy: 55
Bydlisko: Rohožník
Príspevok Napísal autor témyOffline : 28.03.2011 21:02

nechapem fakt tomu, ved v .h mam iba prototypy metod, v .cpp su napisane cele, tak ako sa k nim dostanem, ak includnem iba .h (ked v nom nie je cesta k celym metodam?).
Proste nechapem, ako sa k nim dostane, ked to nie je previazane ...

Navyse mi to stale nejde, vypisuje nezmyselne chyby, ze pred hviezdickou v Item* prvy ma byt bodkociarka
A ze trieda list nema clena menom first a clena menom po_jednom - to prve je premenna typu Item* a to druhe je metoda mazania po jednom typu Item*, i ked ma teraz napada, ze ten problem moze byt prave v tom, ze to ma navratovu hodnotu, ak je to metoda, tak asi nemusi ani mat, kedze pracuje priamo s premennými v triede.

Mam to prepísať?

Ešte ti poviem, no nechápem tomu, že tak, ako som to mal postarom, že som incl. aj .cpp, tak skompilovat to skompilovalo a hned aj samo spustilo, no ked som to iba skompiloval a spustil manualne, tak to hned padlo .... nechapem preco.

napis teda, ci to mam prepisat na beznavratove funkcie, ak ani to nepojde, dam sem zdrojac, aby si sa mi pozrel na tie includy, lebo fakt mam v tom zmatok :)

Vďaka za doterajšiu námahu :)


Offline

Skúsený užívateľ
Skúsený užívateľ
cannot be pverloaded

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 28.03.2011 21:18

mack0 píše:
nechapem fakt tomu, ved v .h mam iba prototypy metod, v .cpp su napisane cele, tak ako sa k nim dostanem

Tiez som si nad tym kedysi lamal hlavu. Vysvetlenie je jednoduche. Povedzme, ze mame nasledujuci priklad:
Kód:
g++ main.cpp firstFile.cpp

Dajme tomu, ze firsFile.cpp includuje firstFile.h a seconFile.h ( cize pouziva data definovane v secondFile.cpp ). To znamena, ze cely ich obsah vlozi do firstFile.cpp. Kompiler ti to zoberie, ale linker zhlasi chybu "Undefined reference" lebo nedokaze najst funkcie a data. Preco? Lebo vsetky nezname funkcie su definovane vo secondfFile.cpp. Ak napises toto:
Kód:
g++ main.cpp firstFile.cpp secondFile.cpp

Do vysledneho kodu je vlozeny aj subor secondFile.cpp a linker takto dokaze najst vsetky potrebne funkcie a data. Je ti to teraz uz trocha jasnejsie? Alebo to je este horsie? :D


mack0 píše:
Navyse mi to stale nejde, vypisuje nezmyselne chyby, ze pred hviezdickou v Item* prvy ma byt bodkociarka

Stavim sa s tebou, ze v item.h nemas bodkociarku za deklaraciou triedy:
Kód:
class Item {
    /*
     * datove cleny
     */
} ;


Ak mozes daj som rovno vsetky zdrojove subory. Ak nechces, aby ich niekto videl (domaca uloha a podobne), tak mi to posli SS a sem len napisem dovod, preco to neslo - keby mal niekto podobny problem.


Offline

Užívateľ
Užívateľ
cannot be pverloaded

Registrovaný: 19.09.09
Prihlásený: 12.09.13
Príspevky: 359
Témy: 55
Bydlisko: Rohožník
Príspevok Napísal autor témyOffline : 28.03.2011 21:34

No to co si mi napisal ma este viac doplietlo, ved si hovoril o .cpp kde mas vsetko zadefinovane a nie o .h .... to je jedno :D hlavne nech mi to ide :)

Tuna som to dal ešte postarom (takze este jednu funkciu mam v list.cpp, no vytvoril som funkcie.h, kde aj je, no je to este postarom, takze nie je to tam zakomponovane), kde to nehadzalo ziadne errory ci warn. a islo to spustit, no iba z DevC, ale ak som otvoril zlozku a dvojklikom otvoril, tak to padlo, no cez Devko vpohode :D


ITEM.H

Kód:
#ifndef ITEM_H
#define ITEM_H

class Item   
     {
      public:
      
     char ID[20];
     char meno[20];
     char priezvisko[20];
   
     Item* next;

      Item(int a);          // tento mal sluzit pre funkciu k polom pointerov na vyhovujuce polozky
     Item( Item* next);
          

   ~Item()   {};

   void print_Item();   
         
};



#endif //ITEM_H



ITEM.CPP

Kód:
#include<iostream>

using namespace std;
#include<string>
#include "item.h"


Item::Item(int a)
{
               
               };

Item::Item( Item* next = NULL): next(next)
{
            char Y[20],Z[20];
            unsigned int X;
            system("CLS");
            cout << endl<<"    *******************************************************************"<<endl;
            cout<<"    **  Novy zoznam  **************************************************"<<endl;
            cout<<"    *******************************************************************\n\n\n";
     
            cout<<"    Zadaj ID:          ";
            cin>>ID;   
            cout<<"    Zadaj meno:        ";
            cin>>Y;
            strcpy(this->meno,Y);
            cout<<"    Zadaj Priezvisko:  ";
            cin>>Z;
            strcpy(this->priezvisko,Z);
           };
           
void Item::print_Item()   
         { 
         cout << "    ID:          " <<ID << endl ;
       cout << "    Meno:        " <<meno << endl;
       cout << "    Priezvisko:  " <<priezvisko << endl<< endl;
        };





LIST.H

Kód:

class List   
          {
           public:
   
          Item* first;
           Item* back;
     

          List();
               

          ~List();
                
          void add();
               
   
          void push_front();
          
           void push_back()   ;   
              
   
          Item* po_jednom();
               
   
   
   
         void zmena();   

      
         void print_list();
         void Fprint_list();
         
         void WithPar();
      //  void getPoint();           Pole POINTEROV
       
        void prve_dva();
        void sort();
         };





LIST.CPP
Kód:
#include <iostream>

using namespace std;

#include "item.cpp"
#include "list.h"

#include "funkcie.h"




List::List()
                {
               Item* first = NULL;
                 Item* back = NULL;   
               };

List::~List()   
                {
                Item* akt;
                  while(first != NULL)   
                     {
                   akt = first->next;
                   delete first;
                   first = akt;
                   }
                };   
                 
void List::add()                        // vytvara prvy zaznam, kde back aj first ukayuju na neho
           {
               first=new Item(first);
               back=first;
               
                }
             
void List::push_front()                   // a potom podla toho, ci chcem dopredu alebo dozadu pridat
               {
              first = new Item(first);
              };
          
void List::push_back()   
               {
                 back->next=new Item();
                 back=back->next;         
              };
               

               
               
Item* List::po_jednom()
               {
                int vol; int i;
                Item* aktualny = first;
                Item* last=NULL;
               
               
        
                 for(i=0;aktualny!= NULL;i++)
                       {
                         system("CLS");
                         cout<<"\n    *******************************************************************";
                         cout<<"\n    **  Vymazanie zaznamu - listovanie  *******************************";
                         cout<<"\n    *******************************************************************\n\n\n";           
                        cout<<"    "<<aktualny->ID<<endl;
                         cout<<"    "<<  aktualny->meno<<endl;
                         cout<<"    "<<  aktualny->priezvisko<<endl<<endl;
               
                        cout<<"\n    Vymazanie:\n    1) Vymazat tento zaznam\n    2) Zobraz dalsi zaznam\n\n    ";
                        /*cin>> vol; */         vol= scan();
                         if (vol==1)
                            {
                            if(i==0)
                               {
                                first=aktualny->next;
                                delete aktualny;
                                if (back->next==NULL) back=aktualny;
                                return first;
                               }
                           if(i!=0)
                               {
                                last->next=aktualny->next;
                                delete aktualny;
                                back=last;
                                return first;
                               }
                            }                               
                         if (vol==2)
                            {   
                            last=aktualny;               
                           aktualny = aktualny->next;
                            if (aktualny==NULL) { cout<<"\n    Si na konci zoznamu!\n    "; system("PAUSE"); return first; }
                           }   
                    }
             };
             
             
             
/********************************* Hladanie a editacia ********************************/
             
void List::zmena()
            {
              int vol;       
              if (first==NULL)
                 {   
                     system("CLS");
                     printf("\n    *******************************************************************");
                     printf("\n    **  Editovanie zaznamu  *************************************************");
                     printf("\n    *******************************************************************\n");
                     printf("\n\n    Zoznam je prazdny! \n\n\n    ");
                     system("PAUSE");
                 }
   
                  Item* ten=first;
   
 
                  if (ten != NULL)
                      {
                      char m[20],p[20];
                      int r;
                      int volba;
                      system("CLS");
                      cout<<"\n    *******************************************************************";
                      cout<<"\n    ****  Search / Edit  **********************************************";
                      cout<<"\n    *******************************************************************\n\n";
                      cout<<"\n    Vyber podla:\n    1) Meno a priezvisko\n    2) ID\n\n    ";
                      volba=scan();
     
                       if (volba==1)
                          {
                          system("CLS");
                          cout<<"\n    *******************************************************************";
                          cout<<"\n    ****  Search / Edit  **********************************************";
                          cout<<"\n    *******************************************************************\n\n";         
                          cout<<"\n    Zadaj meno a priezvisko studenta: ";
                          cin>>m;
                          cin>>p;

                          while ((ten  !=  NULL)&&((strcmp(ten ->meno, m))||(strcmp(ten ->priezvisko, p))))
                             {
                             ten  = ten ->next;
                             }
                           }
       
                       if (volba==2)
                          {
                          system("CLS");
                          cout<<"\n    *******************************************************************";
                          cout<<"\n    ****  Search / Edit  **********************************************";
                          cout<<"\n    *******************************************************************\n\n";         
                          cout<<"\n    Zadaj ID studenta: ";
                          cin>>r;    // cin>>m;

                          while ((ten  !=  NULL)&&(atoi(ten->ID)!=r))
                              {
                              ten  = ten ->next;
                              }
                          }
     
                    if (ten  ==  NULL)
                      {
                      cout<<"\n\n    Nenasiel sa!\n    ";
                      system("PAUSE");
                      }
                    else
                      cout<<"\n    Nasiel sa hladany zaznam! \n\n";
                    }
     
     
             if (ten != NULL)
                  {
                  cout<<"\n     UDAJE:\n";
                  cout<<"     ID studenta: "<<ten->ID<<endl;
                  cout<<"     Meno:        "<<ten->meno<<endl;
                  cout<<"     Priezvisko:  "<<ten->priezvisko<<endl;
       
                  cout<<"\n\n    1) Edituj\n    2) Menu\n\n";
                  vol=scan();
       
                  if(vol==1)
                            {
                            system("CLS");
                            cout<<"\n    *******************************************************************";
                            cout<<"\n    ****  Search / Edit  **********************************************";
                            cout<<"\n    *******************************************************************\n\n"; 
                            cout<<"     \n\n     TERAZ ZADAJ NOVE UDAJE:";               /* zmena údajov */   
                            cout<<"\n     ID studenta: ";
                            cin>>ten->ID;
                            cout<<"     Meno : ";
                            cin>>ten->meno;
                            cout<<"     Priezvisko: ";
                            cin>>ten->priezvisko;
       
                            }
                   }
     

         while (getchar() != '\n');
   
         };
         
         
/************************** vypis zoznamu ********************************/
         
void List::print_list()   
              {
              system("CLS");
              cout << endl<<"    *******************************************************************"<<endl;
              cout<<"    ****  Vypis zoznamu  **********************************************"<<endl;
              cout<<"    *******************************************************************\n\n\n";
         
              if(first==NULL) cout<<"    Zoznam je prazdny! Nie je co vypisat.\n\n    ";
         
            Item* akt = first;
            while(akt != NULL)
                      {
                     akt->print_Item();
                     akt = akt->next;
                      }
               }

/***************************** Uloz do suburu ************************************/
         
void List::Fprint_list()   
              {
           
             FILE* subor;
             subor=fopen("subor.txt","w");         
             
         
            Item* akt = first;
            while(akt != NULL)
                      {
                   fputs(akt->ID,subor);
                     fputs(" ",subor);
                     fputs(akt->meno,subor);
                     fputs(" ",subor);
                     fputs(akt->priezvisko,subor);
                     fputs("\n",subor);
                     akt = akt->next;
                      }
            fclose(subor);
              system("PAUSE");         
               } 


/************************ S Parametrom *********************************/
/*  Neviem, ci som spravne pochopil zadaniu.                           */
/*  Robil som to sposobom, ze z povodneho zoznamu musi vzniknut novy,  */
/*  podla parametrov, kedze v zadani bolo, aby funkcia vratila novy    */
/*  upraveny zoznam                                                    */




void List::WithPar()
{
    int a;
   
   
    Item* akt=first;
    Item* pom;
    if(first==NULL)
    {
              system("CLS");
              cout << endl<<"    *******************************************************************"<<endl;
              cout<<"    ****  Podla parametra / parameter parnost *************************"<<endl;
              cout<<"    *******************************************************************\n\n\n";
              cout<<"    Zoznam prazdny\n\n    ";   
                    goto koniec;
                    }
   
    if((atoi(first->ID)%2)==0)
    {         akt=first;
              back=first; }
   
    while((atoi(akt->ID)%2)!=0)
      {
        akt=akt->next;
        delete first;
        first=akt;
        back=first;           
      }                               // potialto sa hlada vhodny zaciatok
     
      pom=akt;
      akt=akt->next;
     
      while(akt!=NULL)
      {
        if(atoi(akt->ID)%2==0)
         {                pom=akt;
                          back=akt;
                          akt=akt->next;
                          }
         if(atoi(akt->ID)%2!=0)
            {
              pom->next=akt->next;
              delete akt;
              akt=pom->next;           
                         }
                         
      } 
                     
    koniec: ;     
};   
   
     
   


/************************** Pole Pointerov *******************************************/
/*                                                                                   */
/*   tuto funkciu mam v komente, lebo konstruktor s param. int mi pri dyn. alokacii  */
/*   hadzl chybu "ISO C++ forbids initialization in array new", resp. vytrovil som   */
/*   konstruktor s parametrom int, aby nebral ten, ktory pouzivam pri pridavani do   */
/*   zoznamu a ktory nacitava udaje z klavesnice.                                    */
/*
               
             
void List::getPoint()   
              {
               int pocet=0,i=0;
           
               Item* akt=first;
               while(akt!=NULL)
                   {
                     if (atoi(akt->ID)%2==0) pocet++;             // zistim pocet vyhovujucich prvkov
                     akt=akt->next;         
                   }
               
               Item* pole=new Item[pocet](i);                   // podla toho dynamicky vytvorim  pole pointerov
               
               akt=first;
               
               while(akt!=NULL)                                 // i-temu pointeru priradim i-ty vyhovujuci pointer
                   {
                     if (atoi(akt->ID)%2==0) pole[i]=akt;
                     akt=akt->next;
                     i++;         
                   }
               
               // teraz by mal ist asi vypis prvkov cez for cyklus od pole[1] po pole[pocet]
               
               delete[]pole;  // pred koncom funkcie uvolnim pamat.
               system("PAUSE");         
               };                       
 
 */
 
 
 
 /********************************** Triedenie *************************************/
 
void List::prve_dva()
{
   Item* aktualny = first;
   Item* pom = aktualny->next;
   
   aktualny->next = pom->next;
   pom->next = first;
   
   first=pom;


       
void List::sort()
{
   Item *akt, *pom, *pred_akt;
   int i=0;
   
   if((first==NULL) || (first->next==NULL))
      {  system("CLS");
         cout << endl<<"    *******************************************************************"<<endl;
         cout<<"    ****  Utriedenie zoznamu  *****************************************"<<endl;
         cout<<"    *******************************************************************\n\n\n";
         cout<<"    Zoznam prazdny!\n\n    ";
         system("PAUSE");goto koniec;}
   
   //cyklus do-while, pracuje dovtedy kym zoznam nieje utriedeny
   do
   {
      i=0; //zaznamenava ci nastala zmena v zozname

      if(atoi(first->ID) > atoi(first->next->ID)) // testuju sa prve da prvky zoznamu
      {
         prve_dva();
         i++;
      }
      //nastavenie pomocnich smernikov
      akt = first->next;
      back=akt;
      pom = akt->next;
      pred_akt = first;

      while(pom != NULL)
      //cyklus ,v ktorom testuje vsetky prvky za prvym prvkom v zozname
      //cyklus skonci ak za aktualnym prvom uz nieje nic(cize tam je NULA)       
      {
         if(atoi(akt->ID) > atoi(akt->next->ID))
         {
            akt->next = pom->next;
            pom->next= pred_akt->next;
            pred_akt->next = pom;
            i++;
         }
         pred_akt = pred_akt->next;
         akt = pred_akt->next;
         back=pom;
         pom = akt->next;
      }
      
   }while(i!= 0);//ak sa v zozname nenastala zmena(cize nic sa nevymenilo) tak skonci cyklus

koniec: ;   
}                                 
                                                          
              
              




FUNKCIE.H
Kód:
#ifndef FUNKCIE_H
#define FUNKCIE_H


int scan()
{
   int volba; char volba_s[3];
   while (1)                      // osetrenie vstupu pre volbu
          {
           cin>>volba_s;      // nacita retazec
           if (atoi(volba_s))          // ak je retazec cislo
             {
              volba = atoi(volba_s);      // ulozi cislo do premennej
              if (volba != 1 && volba != 2)
                  cout<<"\n    Zla volba! Opakuj: ";     // ak je mimo ponuky
              else break;             // ak je vsetko OK
             }
           else cout<<"\n    Zla volba! Opakuj: ";          // zadany znak
          }
     return volba;     
    }

#endif //FUNKCIE_H



MAIN.CPP
Kód:
#include <iostream>
#include <stdlib.h>

using namespace std;

#include "list.cpp"



int menu ()
{
     int volba;
     char volba_s[10];
     system("CLS");
     cout << endl<<"    *******************************************************************"<<endl;
     cout<<"    ****  Domaca uloha 3 - Triedy  ************************************"<<endl;
     cout<<"    *******************************************************************\n\n\n";
     cout<<"    MENU\n\n    1)  Novy zaznam na zaciatok \n    2)  Novy zaznam na koniec\n    3)  Hladanie/editacia \n";
     cout<<"    4)  Vymaz zaznam\n    5)  Vypis zaznamov\n    6)  Filtracia zoznamu - iba parne ID\n    7)  Utriedit zoznam\n";
     cout<<"    8)  Ziskat pointery pre zodpovedajuce zaznamy\n    9)  Ulozit do suboru\n    10) Koniec\n\n    ";
     
     
      while (1)                      // osetrenie vstupu pre volbu
          {
           cin>>volba_s;
           if (atoi(volba_s))          // ak je retazec cislo
             {
              volba = atoi(volba_s);      // ulozi cislo do premennej
              if (volba > 10 || volba < 1 )
                  cout<<"\n    Zla volba! Opakuj: ";     // ak je mimo ponuky
              else break;             // ak je vsetko OK
             }
           else cout<<"\n    Zla volba! Opakuj: ";          // zadany znak
          }
     return volba;
}



int main()
   {
    int volba,vol, pom=0;; List a;
    a.~List(); // Neprisiel som na to, preco po vytvoreni "List a" sa nalpnil aj first z tej triedy.
               // Preto som to hned na zaciatku eliminoval takto, inak to ukazovalo nahodne znaky v zazname navyse.
    begin: 
    volba=menu();
 
    if (volba==1)
       {
      if (pom!=0) {    a.push_front();     }            //pom pre kontrolu, ci existuje prvy prvok, ak nie,
      if (pom==0) {a.add();pom=2;};                     // vyvtori sa a ukazovat na neho budu back aj first
       goto begin;
       }
       
    if (volba==2)
       {
      if (pom!=0) {      a.push_back() ;  }              // ak uz existuje prvy prvok, priraduje potom podla volby
      if (pom==0) {a.add();pom=2;};     
       goto begin;
       }   

    if (volba==3)
       {
        a.zmena();
        goto begin;
        }

    if (volba==4)
       {
         int vol1; 
         
         
         system("CLS");
         cout << endl<<"    *******************************************************************"<<endl;
         cout<<"    ****  Vymazanie zaznamu  ******************************************"<<endl;
         cout<<"    *******************************************************************\n\n\n";
         
         if(a.first==NULL)
                            {         
                            cout<<"    Zoznam je prazdny!\n\n    ";
                            system("PAUSE");
                            goto begin;  }   
                       
         
         cout<<"    1) Vymazat konkretny zaznam \n    2) Vymazat vsetko \n    ";     
         vol1=scan();
         
         if (vol1==1)a.po_jednom();
         if (vol1==2) { a.~List() ; pom=0;}      // ak vymaze vsetko, tak first aj back su NULL - pre priradovanie
               
     
         goto begin;
        }

     if (volba==5)
       {
       a.print_list();
       system("PAUSE");
       goto begin;
       }

 
     
     if (volba==6)
     {
             
                 a.WithPar();
                 system("PAUSE");
                 goto begin;
                  }
    if (volba==7)
    {
           a.sort();
           goto begin;
                 }
                 
    if (volba==8)
    {
           //   a.getPoint();       pole pointerov
           goto begin;
                 }             
                           
                     
    if (volba==9)
        {
         a.Fprint_list();
         goto begin;
        }
       
    if (volba==0)
        {
   
         goto koniec;
        }
       
   
       
         

   
 
 koniec:
 system("CLS"); 
    cout<< "\n    *******************************************************************\n";
    cout<< "    ****  Domaca uloha 2 - Triedy  ************************************\n";
    cout<< "    *******************************************************************\n\n\n    PROGRAM BOL UKONCENY!\n\n\n    ";
    system("PAUSE");
   
 return 1;   
}


Offline

Skúsený užívateľ
Skúsený užívateľ
cannot be pverloaded

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 28.03.2011 22:27

Tu je pekny obrazok, ako prebieha linkovanie viacerych modulov ( chap viacero cpp suborov ):
http://www.learncpp.com/images/CppTutorial/Section1/IncludeHeader.png

1.) za koncom bloku } sa bodkociarka nedava, jedine pri deklaracii triedy, struktur a inych typov

2.) LISTH.H - nechyba ti tam nieco? #ifndef ?

3.) FUNKCIE.H - v hlavickovom subore nema co robit definicia funkcie, ma tam byt iba hlavicka + uz ked to tak riesis, nevidim tam ziande include pre funkciu atoi napr. Ale v kazdom pripade si vytvor subor funkcie.cpp a tam hod definicie, ja som ti tam len pridal include, aby to skompilovalo, ale nie je to spravne

4.) funkcnost som ti nekontroloval, ale niekde mas chybu, lebo hned po spusteni mi to spadne, ale toto:
Kód:
    a.~List();

som v zivote nevidel... A chyba je zrejme v konstruktore List::List() :
Kód:
    Item* first = NULL;
    Item* back = NULL;

Ako tu mozes mat Item*? Ved to je datovy clen, nie lokalna premenna. Odstran ten Item* + odstran aj z main.cpp tu smiesnu vec a.~List()

Upravoval som tam viacero veci - hlavne includy - aby mi to slo spustit na linuxe, takze si to prezri a poodstranuj PO JEDNOM tie, ktore ti netreba. Po jednom preto, aby si vedel, ci ti ju isto netreba ;) Vsimaj si zmeny medzi tvojimi povodnymi a takto upravenymi a comu nepochopis, tak sa spytaj.

Kompiluj takto:
Kód:
g++ main.cpp list.cpp item.cpp


Subory som ti upol, aby tu neboli prilis dlhe strany, najdes ich tu.


Offline

Užívateľ
Užívateľ
cannot be pverloaded

Registrovaný: 19.09.09
Prihlásený: 12.09.13
Príspevky: 359
Témy: 55
Bydlisko: Rohožník
Príspevok Napísal autor témyOffline : 29.03.2011 17:03

nechapem tomu kompilovaniu..
kam to mam napisat?

Co sa tyka toho Item* first, tak to tam musim mat, aby som mal zaciatok a koniec zretazeneho zoznamu. (ako by som to mal urobit inak?, takto to robime aj v skole).
aj ten destruktor tam musim mat, aby mi to pojednom zazname mazalo, nie iba smernik)

A chcem to pre Win, mam tam nieco prerobit?


Offline

Skúsený užívateľ
Skúsený užívateľ
cannot be pverloaded

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 29.03.2011 17:25

Ach, zle si ma pochopil ... Myslel som to tak, ze odstran iba Item* , lebo takto z toho robis lokalnu premennu a ta potom potlaci povodny datovy clen Item* first a Item* back. Cize takto nech vyzera konstruktor:
Kód:
List::List()
{
    first = NULL;
    back = NULL;   
};

Uz ma lepsie rozumies?

A toto:
Kód:
a.~List()

este raz opakujem, nie je normalny zapis a nikdy v zivote sa s tym nestretnes ( aspon v profesionalnych programoch ). Kludne to zmaz, po opraveni predchadzajucej chyby v konstruktore aplikacia nebude padat.

A to kompilovanie si nevsimaj, myslel som, ze to robis v konzoli. Kompiluj to klasicky , ako si zvyknuty. Prerobit tam musis tie prikazy na mazanie obrazovky, ale tusim ze vsade som to ani nemenil, a niektore hlavickove subory su mozno odlisne.
// a nenapisal si, ci ti to uz ide skompilovat. Tak ako? Ide to?


Offline

Užívateľ
Užívateľ
cannot be pverloaded

Registrovaný: 19.09.09
Prihlásený: 12.09.13
Príspevky: 359
Témy: 55
Bydlisko: Rohožník
Príspevok Napísal autor témyOffline : 29.03.2011 17:30

No takze otvoril som to, co si upol.
vsetko som dal do rovnakej zlozky, otvoril ....
dal skompilovat main.cpp a nic ... vyhadzuje to "undefinied reference to ´List:: ----´"

---- = vsetky metody toho listu .... niektore viackrat ... vyzera to tak, ze su porade ako su zadane v main.cpp

Nejde mi to stale ... ja uz neviem, co je s tym :(


Offline

Skúsený užívateľ
Skúsený užívateľ
cannot be pverloaded

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 29.03.2011 17:51

Neviem, ake prostredie pouzivas, ale musis vytvorit novy projekt a popridavat tam vsetky subory. Pretoze ty ked kompilujes iba main.cpp mozes ty mat v tej istej zlozke aj list.cpp a ten nie je skompilovany, takze ti to je k nicomu.

Otvor si svoje prostredie. Niekde v menu daj vytvorit novy projekt (prazdny alebo take nieco). Potom daj niekde v menu pridat subory do projektu a pekne po jednom popridavaj vsetky subory. A az potom daj kompilovat. Malo by to fungovat.


Offline

Užívateľ
Užívateľ
cannot be pverloaded

Registrovaný: 19.09.09
Prihlásený: 12.09.13
Príspevky: 359
Témy: 55
Bydlisko: Rohožník
Príspevok Napísal autor témyOffline : 29.03.2011 18:10

No konečne :D ako hovorim, doteraz som všetko mal vždy v jednom, takže som v tomto analfabet :D ale kedže teraz píšem rozsiahlejšie práce, bude to treba :)

Takže fakt ti ďakujem, konečne to ide otvoriť aj normalne dvojklikom a nespadne to.
Robím v DevC++, myslíš, že ak to ide normalne v Devku, tak vo VisualC++ môže byť nejaký problém(pokial viem, tak maju defaultne rozne kompilatory)? pretože asi prejdem na Visual a doterajšie prace budem potrebovať.

A ešte si mi hovoril, že ten deštruktor pre triedu list mam nechať na defaultny, ale ako potom dealokujem miesto po zaznamoch, kedze odstranim tym destruktorom vlastne iba smernik ukazujuci na ne? Pretoze ak zoznam odstranim, mal by som odstranit vsetky zaznamy, nie iba zaciatok a ostatne mi zostalo alokovane, resp. zabera miesto ... ?


Offline

Skúsený užívateľ
Skúsený užívateľ
cannot be pverloaded

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 29.03.2011 18:17

Nie nemal by byt problem vo VS, robil som v nom sice uz davnejsie, ale nemyslim, ze by tam mal byt problem. A k tomu destruktoru:

Kód:
int main()
   {
    int volba,vol, pom=0; List a;
...


List a vytvaras v bloku main(). Akonahle skonci jeho obor platnosti - ukonci sa tato funkcia - system automaticky uvolni zasobnikovu pamat, cize lokalne premenne. Ak ho nevytvaras ako smernik pomocou new, nemusis sa starat o jeho odstranenie z pamate. Len toto som myslel, destruktor samotny nemusis menit, nic take som nespominal.


Offline

Užívateľ
Užívateľ
cannot be pverloaded

Registrovaný: 19.09.09
Prihlásený: 12.09.13
Príspevky: 359
Témy: 55
Bydlisko: Rohožník
Príspevok Napísal autor témyOffline : 29.03.2011 18:24

Ano, to mi je jasne, ale ide mi o to, že náš cvičiaci a vlastne aj prednášajúci vyžadujú, aby bola pamäť čo najlepšie využitá a nie zaplnená nepotrebným, i keď v dnešnej dobe a pri takejto primitívnej aplikácii je to irelevantné.

Ber to tak, že ten program dlho nevypneš a stále s ním pracuješ, stále vytváraš nové záznamy do triedy list, (navyše súčasťou aplikácie má byť aj vymazať položky , čiže vymažeš všetko a začínaš odznova bez vypnutia aplikacie), a ked budem iba vymazavať smernik na zoradeny zoznam, tak tie zaznamy v pamäti zostanu a raz by sa stalo to, že by sa pamäť naplnila, nie?

Ten deštruktor nám sám cvičiaci ukázal - pre tento prípad zoradeneho zoznamu (aby mazal vsetko pocas programu, nie iba na konci).

Preto to robím tak, ako nám to bolo povedané :)


Offline

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

Registrovaný: 19.10.10
Prihlásený: 28.10.12
Príspevky: 41
Témy: 9
Príspevok NapísalOffline : 04.04.2011 23:49

a ejha, FEIkar spoluziak :)
Ja osobne pouzivam DevCpp a odporucam ti aj CodeBlocks...nepouzivaj VS na tieto male projekty, neoplati sa to, dlho trva a je nepohodlny, ja osobne ho pouzivam len na formatovanie textu, pretoze mne cvikar strhava body za upravu...

Tvoj program mam viac-menej nakodeny, ale ty ho mas pisany dost chaoticky...navyse nechapem, preco pouzivate hlavickove subory na 300- 400 riadkovy kod, to vymysla repka taketo blbosti, ze?

Moja rada: vsetko to daj do jedneho .cpp suboru a odladuj pomaly, funkciu po funkcii. Destruktor tam je na to, pretoze vytvaras v zretazenom zozname nove Itemy cez new a z pamete sa musia nejako dostat...

Tvoj kod som cely necital, nemal som na to fakt nervy... ale vyskusaj to dat len do jedneho zdrojaku, pojde ti to lahsie a nemusis sa kafrat s indefmi, includmi apod.


Offline

Užívateľ
Užívateľ
cannot be pverloaded

Registrovaný: 19.09.09
Prihlásený: 12.09.13
Príspevky: 359
Témy: 55
Bydlisko: Rohožník
Príspevok Napísal autor témyOffline : 05.04.2011 9:07

No jo, Repka :D

Inak už som to vyriešil, všetko mi fachči tak ako má.
no nechápem tomu, prečo, ak to skompilujem v DevC, mi to vôbec nepadne, nikdy.
Ak to skompilujem vo VSku, tak to padne pri uprave zoznamu podla parametra.

Co sa týka Devka, tak aj ja to uprednostňujem, lenže to, čo som napísal vyššie je problém, lebo oni to všetko kontroluju vo VS.
Podla mna je to prehladnejsie s tým delenim do hlavickovych, nie?


Odpovedať na tému [ Príspevkov: 22 ] 


Podobné témy

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

v JavaScript, VBScript, Ajax

2

477

02.10.2010 18:21

TECHNODROME Zobrazenie posledných príspevkov

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

v Monitory, televízory a projektory

0

249

02.02.2018 14:09

Gargamel1 Zobrazenie posledných príspevkov

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

v PHP, ASP

10

548

07.03.2012 10:03

Pablo Montero Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Column 'poradie' cannot be null

v Databázy

0

408

09.12.2011 19:22

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Warning: Cannot modify header information - headers ....

v PHP, ASP

10

767

31.07.2011 13:34

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Partition drive letter cannot be identified

v Ostatné programy

2

523

28.06.2009 9:44

h3r0 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. The import net cannot be resolved

v Assembler, C, C++, Pascal, Java

2

176

10.03.2013 18:20

programmer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Canon MP180 cannot communicate with scanner

v Externé zariadenia

1

777

04.06.2008 18:20

prandof Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. cannot generate system identifier for general entity

v HTML, XHTML, XML, CSS

8

571

29.04.2008 20:41

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Instalacia open source; problem: cannot determine endianness

v Ostatné programy

0

512

19.11.2011 0:27

martinNM Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Fatal error: Cannot pass parameter 1 by reference

v PHP, ASP

1

364

25.12.2010 11:47

ThePlaky Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. cannot find a device for /boot - oprava grubu

v Operačné systémy Unix a Linux

5

986

20.11.2010 17:14

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Win XP: Cannot read NetMap.inf. Instalacia nemoze pokracovat

v Operačné systémy Microsoft

12

1218

09.01.2010 15:23

CarryAway Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Cannot implicitly convert type 'object' to 'string'. An explicit conversion exists (are you missing a cast?)

v Technológia .NET

9

2225

31.08.2017 15:10

focko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. "No physical memory is available at the location required for the windows boot manager. The system cannot continue"

v Notebooky a netbooky

2

615

04.11.2016 17:30

Lessik Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra