C++ : char nieco

Programovacie jazyky, rady, poradňa...
m_pro_m
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 268
Registrovaný: 05 jún 2009, 20:42

C++ : char nieco

Príspevok od používateľa m_pro_m »

Noo... mam taku otazku :
Co musim spravit, aby

Kód: Vybrať všetko

char nazov[30];
cin >> nazov;
preco ked zadam do toho nazvu aj nejaku medzeru tak to blbne ? ako mam spravit aby ju zobralo ?
tomPD
Star
Star
Používateľov profilový obrázok
Príspevky: 679
Registrovaný: 17 okt 2005, 14:41
Bydlisko: Senec
Kontaktovať používateľa:

Re: C++ : char nieco

Príspevok od používateľa tomPD »

Co znamena blbne?
A preco nepouzijes string, ked pracujes v c++

Kód: Vybrať všetko

string nazov = "";
cin >> nazov;
m_pro_m
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 268
Registrovaný: 05 jún 2009, 20:42

Re: C++ : char nieco

Príspevok od používateľa m_pro_m »

tak hej ... ale zase string nema take velke vyuzitie ako polia , ale nevadi .. no dam teda string .. a funguje to snim vobec ? Lebo pochybujem :D sak potom skusim
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ : char nieco

Príspevok od používateľa BX »

Používaj cin.getline(premenna, MaxPocetZnakov)
teda v tomto prípade cin.getline(nazov, 255); (napríklad 255)

edit: Tomu ver, že string nemá také veľké využitie ako polia. Má oveľa väčšie a lepšie!
m_pro_m
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 268
Registrovaný: 05 jún 2009, 20:42

Re: C++ : char nieco

Príspevok od používateľa m_pro_m »

no neviem neviem ... čo má také "super" ?
skkiller2
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 95
Registrovaný: 06 dec 2008, 11:23
Kontaktovať používateľa:

Re: C++ : char nieco

Príspevok od používateľa skkiller2 »

je tam priamo podpora pre pracu s retazcami, cely zoznam TU
m_pro_m
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 268
Registrovaný: 05 jún 2009, 20:42

Re: C++ : char nieco

Príspevok od používateľa m_pro_m »

hm .. zaujímavé. Díki :)

//autoeditácia príspevku (17 Dec 2010, 14:13)
no ... prosím vás .. skúste mi tu niekto spraviť kód (kompletný), kde uživateľ zadá názov firmy, a ten sa mu následne zobrazí. V tomto názve budú použité medzery.
Styx#
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 103
Registrovaný: 01 aug 2010, 21:35

Re: C++ : char nieco

Príspevok od používateľa Styx# »

Nic tazke:

Kód: Vybrať všetko

#include <iostream>
using namespace std;

int main() {
	string nazov;
	getline(cin,nazov);
	cout << nazov;
	return 0;
}
m_pro_m
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 268
Registrovaný: 05 jún 2009, 20:42

Re: C++ : char nieco

Príspevok od používateľa m_pro_m »

to nefunguje .. a pise mi chyby ked pouzivam :

Kód: Vybrať všetko

string nazov;
cin.getline(nazov, 30);
cout << "Nazov : "<< nazov;
nechapem preco .. akoby ho nepoznalo ... tu je chyba :

Kód: Vybrať všetko

89 C:\Users\...\Desktop\Programovanie\podnikatel.cpp no matching function for call to `std::basic_istream<char, std::char_traits<char> >::getline(std::string&, int)'
 note C:\Dev-Cpp\include\c++\3.4.2\bits\istream.tcc:582 candidates are: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::getline(_CharT*, std::streamsize, _CharT) [with _CharT = char, _Traits = std::char_traits<char>] 
 
hm ??
Styx#
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 103
Registrovaný: 01 aug 2010, 21:35

Re: C++ : char nieco

Príspevok od používateľa Styx# »

to preto lebo tato getline je
istream& getline (char* s, streamsize n ),
cize berie pole charov, ta getline v mojom kode je
istream& getline ( istream& is, string& str )
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ : char nieco

Príspevok od používateľa BX »

Treba sa rozhodnúť, či idem používať string, alebo pole znakov.

Kód: Vybrať všetko

#include <cstring>
#include <iostream>
using namespace std;

int main()
{
  // SPOSOB 1
  char a[30];
  cin.getline(a, 29); // cin.getline() pouzivam pri poli!
  
  cout << a;
  // ~SPOSOB 1
  cout << "\n===============\n\n";
  // SPOSOB 2
  string b;
  getline(cin, b); // getline(cin, b) pouzivam pri stringu!
  cout << b;
  // ~SPOSOB 2
    
  cin.get(); 
  return 0;
}
m_pro_m
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 268
Registrovaný: 05 jún 2009, 20:42

Re: C++ : char nieco

Príspevok od používateľa m_pro_m »

hm .. no pouzil som teda 2. spôsob ALE ! ked som to skompiloval, tak mi to proste spravilo totalnu blbost :/
Namiesto toho aby som tam zadal ten nazov tak to preskocilo a pokracovalo dalej a potom sa zrutil :(( Proste to getline vynechalo povedzme
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ : char nieco

Príspevok od používateľa BX »

Aký máš compiler? Skompiloval si to presne takto? Ukáž, čo kompiluješ.
(fuj koľko krát je tam to slovo :D )
m_pro_m
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 268
Registrovaný: 05 jún 2009, 20:42

Re: C++ : char nieco

Príspevok od používateľa m_pro_m »

:D no kompilujem cez DevC++ a kompilujem zdrojovy kod :D

veď šak presne tak to mam !!! akurát že použité v kóde :)
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ : char nieco

Príspevok od používateľa BX »

No len v akom kóde, či tam nemáš nejakú galibu. Mne do v Dev-Cpp ide. Preto som chcel, ukáž celý kód, či si to tam nejako nedototo :D
Aj keď tam veľmi nie je čo. Skús to skompilovať v novom presne takto ako to je, či ti to pôjde. Ak nie, tak je to čudné a nemám čo dodať :P Ak to pôjde, ukáž celý tvoj kód.
m_pro_m
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 268
Registrovaný: 05 jún 2009, 20:42

Re: C++ : char nieco

Príspevok od používateľa m_pro_m »

Kód: Vybrať všetko

#include<iostream>
#include<windows.h>
#include<cstring>
using namespace std;

int New();

string nazovFirmy;

int New()
{
    cout << "\nZadaj nazov svojej firmy : ";
    getline(cin,nazovFirmy);
    cout << "\nTak, tvoja firma sa bude volat " << nazovFirmy << " !" << endl;
    cin.get();
    
 .......
}
to je asi ta cast kodu kde to potrebujem pouzit...
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ : char nieco

Príspevok od používateľa BX »

Tak tu chybu nemáš. Mne na dev-cpp 4.9.9.2 to ide, takže ti neporadím. Aj tak by ma ale zaujímalo, či ti to pôjde keď to dáš do nového, čistého projektu.
m_pro_m
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 268
Registrovaný: 05 jún 2009, 20:42

Re: C++ : char nieco

Príspevok od používateľa m_pro_m »

hm .. v novom projekte mi to ide :/ cim to potom je ??
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ : char nieco

Príspevok od používateľa BX »

Tak potom máš niečo zle v tom svojom. Neviem čo, keďže z toho kúsku sa to zistiť nedá.
m_pro_m
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 268
Registrovaný: 05 jún 2009, 20:42

Re: C++ : char nieco

Príspevok od používateľa m_pro_m »

nj... idem skúsiť pohľadať ://
Napísať odpoveď