Anonymní profil dasper – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil dasper – Programujte.comAnonymní profil dasper – Programujte.com

 

Příspěvky odeslané z IP adresy 195.178.88.–

dasper
PHP › Filter a stránkovanie
22. 1. 2013   #170483

Dobrý deň,
potreboval by som pomôcť. Ako už samotný názov hovorí, ide filter výberu z databázy a následné stránkovanie. Ibaže, filter je zadávaný užívateľom pomocou formulára. A ako by toho nebolo málo, nemôžem narušiť štruktúru stránkovania, ktorá sa ukladá do url adresy ($_GET). Taktiež nemôžem používať session. Jedine ma napadlo použiť cookies, no problém zase nastáva, keď užívateľ odíde zo stránky, cookies stále ostávajú uložené.

Máte nejaký nápad? Dalo by sa to riešiť prípadne aj jednoduchšie?

Za rady vopred ďakujem ;)

C / C++ › Serializacia a deserializáci…
1. 5. 2011   #141440

To nervak :

Ďakujem :) Som si nevšimol že tam nealokujem tu pamäť. Už mi to funguje ale dám na vaše rady a prerobím to tak :)

C / C++ › Serializacia a deserializáci…
30. 4. 2011   #141430

Zdravím, mam ulohu do školy na c++, v ktorom mam spravit serializáciu a deserializáciu objektu. Kedže som to nejako nevedel spraviť v tom mojom projekte tak som si vymyslel niečo jednoduchšie aby som to pochopil ale aj tak som nepochodil:)

Tu je kod:



#include <iostream>
#include <fstream>

using namespace std;

class Car
{
public:
Car(){};
Car(int w, int s, int p)
{
this->Weight = w;
this->MaxSpeed = s;
this->Price = p;
}
void setWeight(int w){ this->Weight = w;}
void setMaxSpeed(int s) {this->MaxSpeed = s;}
void setPrice(int p){this->Price = p;}

inline int getWeight() const {return Weight;}
inline int getMaxSpeed() const {return MaxSpeed;}
inline int getPrice() const {return Price;}

friend ostream& operator<<(ostream &os,Car &c);
private:
int Weight;
int MaxSpeed;
int Price;
};

ostream& operator<<(ostream &os,Car &c)
{
return(os << c.Weight << " " << c.MaxSpeed << " " << c.Price << endl);
}

class CarTrain
{
public:
CarTrain(){};
CarTrain(int s){this->size = s;this->carstore = new Car[size];}
void loadCar(int i,Car c){this->carstore[i] = c;}
Car getCar(int i){return this->carstore[i];}
int getSize(){return this->size;}
friend ostream& operator<<(ostream &os,Car &c);
void serialize(ostream& os)
{
Car tmp;
for(int i=0; i <this->size; i++)
{
tmp = this->carstore[i];
os << tmp;
}
}
CarTrain unserialize(ifstream& in)
{
CarTrain tmp; Car c;
int w,s,p;
tmp.size = this->size;
for(int i=0; i< this->size;i++)
{
in>>w;
in>>s;
in>>p;

c.setWeight(w);
c.setMaxSpeed(s);
c.setPrice(p);
tmp.loadCar(i,c);
}
return tmp;
}
private:
Car *carstore;
int size;
};

ostream& operator<<(ostream &os,CarTrain &ct)
{
Car tmp;
for(int i=0; i < ct.getSize(); i++)
{
tmp = ct.getCar(i);
os << tmp;
}
return os;
}

int main()
{
cout << "Serializacia a deserializacia" << endl;

Car c1(1000,150,8000);
Car c2(1200,190,9000);
Car c3(1400,220,120000);

CarTrain ct(10);
ct.loadCar(0,c1);
ct.loadCar(1,c2);
ct.loadCar(2,c3);

cout<<ct<<endl;
char *p = "ser.txt";
ofstream o;
o.open(p,ios::out);
ct.serialize(o);
o.close();

ifstream in;
in.open(p,ios::in);
CarTrain ct2 = ct.unserialize(in);
in.close();


return 0;
}



Problem je to že takto tá deserializácia nefunguje. Možno to bude aj tým že som asi uplne nepochopil pointu toho. A hlavne mam vyriešiť aj verzovanie objektov ale to nejako už vobec neviem:) Zatial som skušal textovu serializáciu. Poprosil by som niekoho kto sa tomu rozumie aby mi to trochu objasnil, resp. čo robim zle ..:) Ďakujem

C / C++ › Lineárny zoznam, triedy cNod…
8. 3. 2011   #139815

Ďakujem:) už som to nejako rozbehal ale chcem sa spýtat ešte ako si možem otestovať či to miesto v pamäti bolo skutočne uvolnene? if ... != NULL?

C / C++ › Lineárny zoznam, triedy cNod…
8. 3. 2011   #139809

Ok no c++ mam prvý semester takže nie som v tom vobec doma, cvičiaci nam to tiež moc nevysvetlil, tak sa to snažim sam pochopiť. No ale to bokom tu je funkcia na mazanie:



void cList::deleteNode(int index)
{
if(first == NULL) // ak je zoznam prazdny
cout <<"Zoznam je prazdny!"<< endl;

if(index < getLength())
{
if(index == 0)
{
cNode *tmp = first;
first = first->getNext();
delete tmp;
}
else
{
cNode *tmp = getNode(index);
getNode(index-1)->setNext(tmp->getNext());
delete tmp;
}
}
}


Ako blbý pristup? pravdepodobne tomu nerozumiem.. .lebe kedže mi vrati funkcia getNode uzol na danom indexe tak ked mi ho najde tak ho chcem uvolnit a potom postupovat dalej... až dokedy ich neuvolnim všetky. Možno keby je to tmp inicializované mimo toho cyklu? Mohol by si mi načrtnut ako by si riešil to uvolnovanie ty? Ďakujem

C / C++ › Lineárny zoznam, triedy cNod…
8. 3. 2011   #139803

Zdravím už zopár dní bojujem zo zadaním z C++. A už som fakt zúfalý :( Mojou ulohou je dorobiť danú šablonu. Tu su zdrojáky:

main.c

#include <iostream>

#include "cList.h"
using namespace std;

int main()
{
cout << "Linked List" << endl;
cout << "--------------" << endl;
cNode* n1 = new cNode("1");
cNode* n2 = new cNode("2");
cNode* n3 = new cNode("3");

cList zoznam;
zoznam.append(n1);
zoznam.append(n2);
zoznam.append(n3);
zoznam.append(new cNode(*n1));
zoznam.append(new cNode(*n1));
zoznam.append(new cNode(*n1));
zoznam.printContents();

cNode* n4 = new cNode("4");
cNode* n2_5 = new cNode("2.5");
zoznam.insert(n4, 10);
zoznam.insert(n2_5, 2);
zoznam.deleteNode(1);
zoznam.deleteNode(0);
zoznam.deleteNode(10);
cout<<"---------------------------"<< endl;
zoznam.printContents();

cList zoznam2 = cList(zoznam);
zoznam2.deleteNode(0);
zoznam2.deleteNode(0); // nezmaže mi nultý prvok vidim to na problem s kopirovacím konštruktorom
cout<<"------------Zoznam 1 - original---------------"<< endl;
zoznam.printContents();
cout<<"------------Zoznam 2 - kopia---------------"<< endl;
zoznam2.printContents();

delete n1; // hádže segmantation fault
delete n2;
delete n3;
delete n4;
delete n2_5;

return 0;
}


Problémový kod z cList.cpp

#include "cList.h"


using namespace std;
cList::cList()
{
first = NULL;
}

cList::cList(const cList &oldList) // kopíruje aj to čo už nemá byť v pamäti, predpokladám že preto mi nemaže to čo by malo
{

first = NULL;

if (oldList.getLength() > 0)
{
first = new cNode(oldList.first->getData());

cNode *tmp = first, *tmp2;

for (int i = 0; i < oldList.getLength(); i++)
{
tmp2 = new cNode(oldList.getNode(i)->getData());

tmp->setNext(tmp2);

tmp = tmp2;
}
}
}

cList::~cList() // tento deštruktor asi sposobuje segmentation fault
{
for(int i = 0;i < getLength();i++)
{
cNode *tmp = getNode(i); // funkcie getNode vráti uzol na danom indexe, funguje v iných častiach kodu, v nej by problem byť nemal
delete tmp;
}
delete first;
}


Ostátne časti kodu zatial nebudem posielať.. :). Dufam že tieto časti budu stačiť. Som si na 99% istý že problem je v tomto kode. Pridal som do zdrojaku komentáre že čo nefunguje. Pri kopirovaní celeho zoznamu sa skopiruje aj to čo by tam už nemalo byť neviem prečo:( V tom deštruktore idem asi zle na to uvolnovanie pamäte.. ale zase keď nemam v tom deštruktore nič tak mi to počas delete sekcie v main.c vypiš random vypis pamäte... Ďakujem :)

C / C++ › mazanie textaku
16. 2. 2010   #124048

Zdravim
Chcem urobit program ktory nacita textovy subor (zdrojovy kod) a vymaze z neho vsetky poznamky ktore si tam zapoznamkoval nejaky programator. Tzn. vsetko za //, medzi /* */, atd. Chcem to spravit tak ze spustim program, on si nacita ten subor ktory mu tam nachystam a z toho suboru (napr. teda zdrojoveho kodu) vymaze tieto zapoznamkovane veci.
Zatial som pokrocil tak, ze program mi nacita ten dany subor znak po znaku a vypise ho:

#include "stdafx.h"
#include "stdlib.h"
#include "errno.h"
#include "stdio.h"
#include "string.h"


int main()
{
char text[255];

FILE *subor;
if((subor=fopen("Moje.txt","r"))==NULL)
{
printf("Subor neexistuje");
}

if((subor=fopen("Moje.txt","r"))!=NULL)
{
printf("Subor existuje");
}

int i;
do
{
i=fgetc(subor);
fputc(i,stdout);
}while (i!='%');

getchar();
getchar();
return 0;
}

Obetoval som cely dnesny den vymyslanim dalsieho kodu ako by som spravil to, ze ked program narazi na tie poznamkovacie znaky (//, /* */ ...) tak aby tu poznamku od uzivatela proste vymazal z toho textaku.
Samozrejme vymyslel som vela sposobov ale bohuzial ziaden mi nefungoval, bud bol zly alebo nerobil to co mal tak preto ich sem nebudem vypisovat.
Za pripadne rady vopred Dakujem

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý