» »

[c++] vprasanje

[c++] vprasanje

NEO_ ::

Hi all

nisem neki hard c++ coder pa mam eno vprasanje.
sem ze vprasal strica gugla pa mi dal pametnega odgovora :))

Koda:
#include <iostream>
using namespace std;

int main ()
{
	
	char niz[20];
	int a;
	
	cout << "Vpisi stevilo: ";
	cin >> a;
	
	cout << "Vpisi besedo: ";
	cin.getline(niz,20,'\n');
	
	system("pause");
	return 0;
}


Ta program se mi vedno zrusi in sicer pri tisti cin.getline() funkciji. Probal sem tudi z getline funkcijo in je enak ucinek. Uporaba cin >> pri citanju ne pride v postev, saj moram prebrati stavek vse do '\n' (endline). Ta problemcek sem odkril, ko sem kolegu razhrosceval en programcic.

Ko pa dam funkcijo cin.getline() pred cin >> a , dela "normalno" :)

Bi lahko kdol kaj vec razlozil o tem. Kaki uprabni linki ??

edit: uporabljam Dev-C++ 4.9.9.2

lp
"nothing is impossible"
  • spremenilo: NEO_ ()

Gundolf ::

Zruši se ti ali gre enostavno mimo branja besede?
Ker ti prebereš le število, izpustiš pa new-line znak, ki mu sledi. Zato ti drugo branje prebere še prvi new-line in gre naprej. Ne morem ti reči kako je sicer pravilno to narest, ker ni le enega načina. V tvojem enostavnem primeru bo najbolje če za branjem številke (pri tem, da upaš. da uporabnik ne bo vpisal črk) uporabiš funkcijo cin.ignore(9999, '\n').

Fury ::

Men se ne usuje, gre samo mim. Verjetno je res to narobe da ti \n ostane od prej...

Sicer pa mislim da vecina ljudi k uporabljajo console IO uporablja print/scan druzino funkcij (C) ker so pac 4234x bl ql za tole :)

OwcA ::

Ampak niso C++. :P

Za tako preproste operacije so stream-i res malo okorni, ampak 4235x bolj grdo je pa mešat oboje.
Otroška radovednost - gonilo napredka.

NEO_ ::

Gundolf mas prav, program se ne sesuje samo preskoci funkcijo. My mistake :8)

Ta simple program sem dal samo kot primer. V resnici moram, bol komplicirano stvar postimat.
No bom ze nekako preprical g. Gugla da mi bo povedal odgovor :)

Ce se kdo kaj pametnega spomni...

lp
"nothing is impossible"

Zgodovina sprememb…

  • spremenilo: NEO_ ()

Gundolf ::

Pa sem že mislu da sem ti jaz dal pameten odgovor... No, kakor hočeš.
In ne, C-jevske funkcije niso nič bolj fajn, samo krivulja učenja se malo hitreje vzpenja. So pa lahko toliko bolj zahrbtne.

Zgodovina sprememb…

  • spremenil: Gundolf ()

Tutankhamun ::

probi tole
Najd odgovor od davieya :D
AMD Phenom QUAD 9950 Black Edition, 8GB


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

programiranje krožek(pomoč)

Oddelek: Pomoč in nasveti
442768 (1756) Marat
»

kje zaceti z c++ ?

Oddelek: Programiranje
323870 (2178) Monster
»

[C#] cin like ukaz

Oddelek: Programiranje
61144 (1023) Keki
»

[c++] Kako ugotoviti katera tipka je bila pritisnjena

Oddelek: Programiranje
141490 (1262) 64202
»

c++ datoteke

Oddelek: Programiranje
464058 (3547) Vesoljc

Več podobnih tem