Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Zdravím,
prosím o pomoc!!! Mohl by mi někdo říct, proč mi v kodu píše Use of undeclared identifier UsporadanySeznam
tady je main
#include <iostream>
#include "UsporadanySeznam"
using namespace std;
/*Ukazka testovaci funkce pro metodu najdiPrvek() */
void vypisPrvek(UsporadanySeznam &t, int klic)
{
Prvek* p = t.najdiPrvek(klic);
if (p)
{
cout << "Nalezen prvek: ";
cout << "(" << p->klic << "," << p->hodnota << ") ";
cout << endl;
}
else
cout << "Prvek " << klic << " nenalezen. \n";
}
void test()
{
UsporadanySeznam t;
/* Vkladani prvku: */
t.vlozPrvek(9, "pracovni stul");
t.vlozPrvek(3, "kancelarska zidle");
t.vlozPrvek(6, "PC");
t.vlozPrvek(6, "notebook");
t.vlozPrvek(12, "lampa");
t.vypis();
/* Nalezeni prvku: */
Prvek* p = t.najdiPrvek(9);
if (p)
cout << "Prvek 9 nalezen.\n";
else
cout << "Prvek 9 nenalezen.\n";
vypisPrvek(t, 9);
vypisPrvek(t, 1);
/* Smazani prvku: */
t.smazPrvek(10);
t.smazPrvek(12);
t.smazPrvek(6);
t.smazPrvek(3);
t.smazPrvek(9);
t.smazPrvek(3);
t.vypis();
}
int main()
{
test();
return 0;
}
tady je zdroják
#include "UsporadanySeznam.h"
UsporadanySeznam::UsporadanySeznam()
{
prvni = new Prvek();
zarazka = prvni;
}
UsporadanySeznam::~UsporadanySeznam()
{
Prvek* P;
P = prvni;
while (prvni != zarazka)
{
P = prvni;
prvni*= prvni->
delete p;
}
}
void UsporadanySeznam::najdiPrvek(int klic)
{
Prvek* p = prvni;
while (p != zarazka && klic < p->klic)
{
p = p->dalsi;
if (p != zarazka && klic == p ->klic)
{
return p;
}
return nullptr;
}
}
Prvek* UsporadanySeznam::vlozPrvek(int klic, const std::string& hodnota)
{
if(prvni == zarazka || klic < prvni->klic)
{
Prvek *p = new prvek;
p->dalsi = prvni;
prvni = p;
return;
}
Prvek *p = prvni;
if ( prvni -> klic > klic || prvni == zarazka)
{
Prvek* n = new Prvek();
n -> klic = klic;
n -> hodnota = hodnota;
n -> dalsi = prvni;
prvni = n;
return;
}
Prvek *p = prvni;
while(p-> dalsi != zarazka && p->dalsi->klic < klic)
p = p->dalsi;
Prvek *n = new Prvek();
n -> klic = klic;
n -> hodnota = hodnota;
n ->dalsi = p-> dalsi;
p -> dalsi = n;
if( p-> dalsi->klic == klic)
{
p->dalsi = zarazka &&
p->dalsi ->klic == klic;
p->dalsi -> hodnota == hodnota;
return;
}
void UsporadanySeznam::smazPrvek(int klic)
{
if(*p == 0)
{
return;
}
Prvek *p = prvni;
if ( prvni -> klic > klic || prvni == zarazka)
{
prvni = p->dalsi;
delete p;
return;
}
if (p != zarazka && klic == p ->klic)
delete p;
}
void UsporadanySeznam::vypis()
{
Prvek *p = prvni;
cout << "UsporadanySeznam:" << endl;
while(p)
{
cout << p->klic << p->hodnota << endl;;
p = p* dalsi;
}
}
Díky za vysvětlení
Offline
↑ Tmitheadway:
V jednom souboru vidím #include "UsporadanySeznam.h", ve druhém #include "UsporadanySeznam". Bylo by dobré si ujasnit, který z nich chci používat. Ale čekal bych spíš chybu typu "include file not found" (ale možná jsi nějakým zázrakem vytvořil oba soubory a v jednom z nich (nebo v obou) ta definice není).
Mimochodem, opět se ti nepodařilo sem dát kompletní kód. Obsah těch headerů je klíčový.
Popravdě když vidím tvůj kód a tvé dotazy, nejsem si jistý, jestli jsi nějakou část výuky nepřeskočil. Např. nemá smysl se pokoušet používat templaty, pokud si sám neporadíš s touto chybou.
Offline
↑ LukasM:
Ano, zobrazuje se mi "include file not found". Za úkol mám dát jen těla do zdrojáku. Ten main a zdrojový kód, takže ty headery jsem už měl k dispozici od paní profesorky.
Offline
Use of undeclared identifier UsporadanySeznam
Ano, zobrazuje se mi "include file not found".
Kompilátor ti přesně řekl, co je za problém. Je třeba ty chyby řešit v pořadí v jakém se objevují. Takže v tomto případě se zastavil na řádku #include "UsporadanySeznam" a napsal, že tento soubor nevidí. Teprve v důsledku toho si pak dále stěžuje, že nikde nepotkal definici té třídy. Je naprosto přímočaré, co je potřeba s tím udělat.
ty headery jsem už měl k dispozici od paní profesorky.
To je sice hezké, ale my nejsme tvoje profesorka a nikdo tu nemůže vědět, co v tom headeru je nebo není.
Offline