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

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

 

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

Ondra
C / C++ › Školní projekt v C++ Filmotéka
13. 12. 2014   #197241

#17 ondrej39
Tak to je mazec   to bych dohromady nedal ani kdybych u toho sedel mesic, fakt diky moc, asi se mám ještě hooodně co učit :D určitě to k něčemu bude, teď mi to jen hází nějakou chybu u funkce stoi() , že není deklarována v " this cope " přitom potřebné knihovny tam naimportované mám :/ a to až po tom, co jsem všechny std:: nahradil syntaxí "using namespace std", pře tím to byla chyba 'stoi' is not a member of 'std' ,  ale s tím si snad už nějak poradím :)

Ondra
C / C++ › Školní projekt v C++ Filmotéka
12. 12. 2014   #197226

 Našel jsem si nějaké dvě fukce, které by měly vyřešit načítání a výpis souborů, jen mi to hazí chybu u funkce "strcpy()" :

cannot convert 'std::string {aka std::basic_string<char>}' to 'char*' for argument '1' to 'char* strcpy(char*, const char*)'

Nevíte někdo co je tam špatně? :(

Film  *nacteniFilmu(Film *poleFilmu,int &velikostPole,string &filtr)
{
	string kopieRretezec;
	string nazevSouboru = "filmy";
	//string cesta="../../vstupnidata/";
	string pripona=".csv";
	int cisloZaznamu=0;

	system("cls");
	cout<<"Zadej nazev souboru bez pripony, ktery chces nacist: ";
	//cin>>nazevSouboru;
	nazevSouboru = nazevSouboru+pripona;
	ifstream vstup(nazevSouboru.c_str());

	if(!vstup.is_open())
	{
		cout<<"Chyba pri otevreni souboru."<<endl;
		poleFilmu=NULL;
		return poleFilmu;
	}

	if(poleFilmu!=NULL)
	{
		free(poleFilmu);
		poleFilmu=NULL;
		velikostPole=0;
		filtr="";
	}

	while(!vstup.eof())
	{
		getline(vstup,kopieRretezec,';');
		if(kopieRretezec.length()==0)
			break;

		if(velikostPole==0)
		{
			poleFilmu=(Film*)malloc(sizeof(Film)*(++velikostPole));
		}
		else
		{
			poleFilmu=(Film*)realloc(poleFilmu,sizeof(Film)*(++velikostPole));
		}
		strcpy(poleFilmu[cisloZaznamu].nazev_,kopieRretezec.c_str());
		getline(vstup,kopieRretezec,';');
		strcpy(poleFilmu[cisloZaznamu].zanr_,kopieRretezec.c_str());
		getline(vstup,kopieRretezec,';');
		strcpy(poleFilmu[cisloZaznamu].puvod_,kopieRretezec.c_str());
		getline(vstup,kopieRretezec,';');
		strcpy(poleFilmu[cisloZaznamu].zanr_,kopieRretezec.c_str());
		getline(vstup,kopieRretezec,';');
		poleFilmu[cisloZaznamu].id_=stoi(kopieRretezec);
		getline(vstup,kopieRretezec,'\n');
		poleFilmu[cisloZaznamu].trvani_=stoi(kopieRretezec);
		getline(vstup,kopieRretezec,'\n');
		poleFilmu[cisloZaznamu].rok_=stoi(kopieRretezec);
		kopieRretezec="";
		cisloZaznamu++;
	}

	if(velikostPole==0)
	{
		cout<<"Soubor je prazdny."<<endl;
		vstup.close();
		return poleFilmu;
	}
	cout<<"Nacteni ze souboru probehlo uspesne."<<endl;
	vstup.close();
	return poleFilmu;
}

void tisk(Film *poleFilmu,int velikostPole)
{
	system("cls");
	if(poleFilmu==NULL)
	{
		cout<<"Seznam je prazdny."<<endl;
	}
	else
	{
		cout<<"  "<<setw(11)<<left<<"Prijmeni"<<setw(10)<<"Jmeno"<<setw(23)<<"Nazev knihy"<<setw(10)<<"Zanr"<<setw(12)<<"Rok vydani"<<setw(5)<<"Pocet stran"<<endl<<endl;
		for(int i=0;i<velikostPole;i++)
		cout<<setw(3)<<i+1<<setw(10)<<left<<poleFilmu[i].id_<<setw(10)<<poleFilmu[i].nazev_<<setw(23)<<poleFilmu[i].rok_<<setw(13)<<poleFilmu[i].zanr_<<setw(13)<<poleFilmu[i].puvod_<<setw(5)<<poleFilmu[i].trvani_<<endl;
	}
}
Ondra
C / C++ › Školní projekt v C++ Filmotéka
12. 12. 2014   #197222

#12 ondrej39
Tyo díky moc :) vypadá to dobře :) Tak ono je mu asi celkem fuk jak to budu mít řešený, hlavně ať to funguje a rozumím tomu kódu což když se na to podívám tak tomu i celkem rozumím, teď jen dořešit to načítání a použití dat ze souboru

 

 

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