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

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

 

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

C / C++ › C++ - Pole přiřazení hodnoty
22. 7. 2012   #160420

Alebo to skus cez char. :)

C / C++ › Nahodne slovo zo subora TXT.
20. 7. 2012   #160370

Zdravím potrebujem pomoc ohladne nahodneho slova, ktore by som vytiahol zo subora.
Skusal som urobit funkciu ktora by hadzala nahodne cislo od 0 do pocet slov ktore sa nachadzaju v txt dokumente.
A nasledne nato by som urobil cyklus. 
Lenze tu je problem ked urobim cyklus tak neviem vobec ako dosiahnut toho aby preskakovalo urcite riadky ktore koncia na \n a vypisala urcity riadok.
priklad;
V subore txt je: 10 riadkov.
Program nahodne vyberie 1 z 10 riadkov;
Nasledne ho ulozi do premennej s ktorou budem chciet pracovat koli hadaniu pismen.
Vedel by mi niekto skusený poradiť ?
Ďakujem :)

C / C++ › cyklus, string a zapisovanie…
19. 7. 2012   #160334

Problem vyrieseny bolo to v tej globalnej premennej.
Ďakujem :)

C / C++ › cyklus, string a zapisovanie…
19. 7. 2012   #160328

#13 yaqwsx
a read.eof() s ! teraz mi to funguje ale vratil som sa naspet tam kde som bol pred hodinou a pol...
Ked napisem trebars:
Medved
Macka
Lietadlo
A nasledne chcem vypisat ulozene slova zo subora, ktore su ulozene spravne tak mi vypise slovo Lietadlo 2krat
priklad..
Ulozene slova:
Medved
Macka
Lietadlo
Lietadlo
tu je zdrojak lebo ja uz fakt neviem skusal som poprehadzovat cout ale potom to ani nehne 

if (write.good()) 
	  {
		system("CLS");
		ifstream read;
		cout << "Text bol uspesne ulozeny\n";
		read.open("D:/RandomText.txt");
		if (read.is_open())
		{
			while (!read.eof())
			{
				read >> s;
				cout << s << endl;

			};
			read.close();
			cin.get();
		};

Myslite ze bude problem v tom, ze som "string s" nastavil ako globalnu premennu hned na zaciatku funkcie ??

C / C++ › cyklus, string a zapisovanie…
19. 7. 2012   #160325

#11 yaqwsx


#10 voty
ale pokial znova vytvorim novu premenu string tak ta neobsahuje ziaden text..
takze read >> s je uplne neplatne pretoze do vstupu sa nenacita ziaden znak...
Momentalne mam problem s vytisknutim slov raz mi to slo a uz mi to nejde.. 
 

if (write.good()) 
	  {
		system("CLS");
		ifstream read;
		cout << "Text bol uspesne ulozeny\n";
		read.open("D:/RandomText.txt");
		string s;
		if (!read.is_open())
		{
			while (read.eof())
			{
				read >> s;
                             cout << s << endl // ak pouzijem tuto variantu vytiskne mi to posledne zadane slovo

			};
		};

Tak isto som skusal string s davat ako lokalnu a globalnu premennu a nic sa nezmenilo takze asi ostanem na globalnej ?

C / C++ › cyklus, string a zapisovanie…
19. 7. 2012   #160321

#8 yaqwsx
O tom viem.. ale 
string a;
  read >> s;
  cout << s;
Bola vytvorena premenna "string a" vstup a vystup ma premennu "string s"
Kde je pouzita ?

C / C++ › cyklus, string a zapisovanie…
19. 7. 2012   #160319

#5 yaqwsx
a este jedna otazka naco treba definovat novu premennu string a ked ju vobec nepouzijem ??

C / C++ › cyklus, string a zapisovanie…
19. 7. 2012   #160318

#5 yaqwsx
Ďakujem veľmi pekne a ano viem už som to všetko opravil len v rychlosti niekedy zabudam a potom sa cudujem preco to nefunguje   

C / C++ › cyklus, string a zapisovanie…
19. 7. 2012   #160314

Mám ešte jednu otazku :)

Ak chcem vypisovat zo subora tak aku premennu tam mam zadat ?
Pretoze ked som dal newWords ukazovalo to chybu v prudoch a ked som urobil z size_t i = 0 globalnu premennu ani vtedy mi to neslo tu je kusok zo zdrojoveho kodu.
 

///////////////////////////////////////////////////////////////////////////
	case 1: { 
		system("CLS");
		cout << "Pomoz nam vylepsit hru pridanim novych slov\n";
		cout << "Mozes zadat maximalne 3 nove slova\n";
		////////////Cyklus pridanie slov/////////////////////
		for (int x = 0; x < 3;x++){
			string s;
			cin >> s;
			newWords.push_back(s);

		};
		ofstream write;
	write.open("D:/RandomText.txt",ios::out);
	if (write.fail())
	{ cout << "Subor sa nepodarilo otvorit\n";
	}
	else{
		////////Cyklus ukladania do subora//////
		for(size_t i=0;i!= newWords.size();i++)
		{
			write << newWords[i] << endl;
	};
		if (write.good()) 
	{
		system("CLS");
		cout << "Text bol uspesne ulozeny\n";
		cout << "Slova ktore boli ulozene:\n";
////////////////////////Citanie zo subora///////////////
		read.open("D:/RandomText.txt");
		if (read.is_open()){
			while (!read.eof()){
				read >> newWords.push_back(s); // Tu nastava  problem
				cout << newWords[i];
						cin.get();
//////////////////////////////////////////////////////////////////////////////////


Prave ma napadlo ze urobim dalsi cyklus ale aj tak neviem, ako to zo subora vytiahnut...

Ďakujem :)

C / C++ › cyklus, string a zapisovanie…
19. 7. 2012   #160312

#2 yaqwsx
Ďakujem už to funguje tak jak ma.
Idem si prelistovat v knihe Vectori nech viem ako to funguje. :)

SoftOrig
C / C++ › cyklus, string a zapisovanie…
19. 7. 2012   #160287

#1 Patrik
Zdravím, :)

Rozhodol som sa urobit velmi lahku konzolovu hru kde bude clovek hadat slovo..
V game manu moze zvolit moznost pridat slovo a tu je problem..
Chcel by som aby sa vsetky slova co napise, zapisali do premennej typu string a tie nasledne boli zapisane do subora.
Som zaciatocnik preto prosim o pomoc skusenejsich.

/////////////////////////////////////////////////////
for (int x = 0;x < numofWords;x++) // Uzivatel si zada pocet slov ktore chce zadat.. pozn.Trocha neprakticke ja viem.
  {
   cin >> newWords; // Tu som si niesom isty ci moze byt Char alebo string ale obydvoje funguju no problem je v tom
                              // ze ked mam string a zapisem slovo, dalsie slova sa neuchovaju v premennej newWords ale iba                posledne slovo

  };
  ofstream write;
write.open("D:/RandomText.txt",ios::out);
if (write.fail())
{ cout << "Subor sa nepodarilo otvorit\n";
}
else{
  write << newWords << endl; // Zapis do subora, tu by som chcel dat cyklus, ktory by hned aj zapisoval slova za  //sebou do riadku lenze string a char mi to nedovolia ako to mam urobit ?

  write << newWords << endl;
  write << newWords << endl;
  write << newWords << endl;
  write.close();
}
//////////////////////////////

Snad je to vsetko zrozumitelne napisane..
Ďakujem za pomoc :)

 

 

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