Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

O svemu i svacemu vezanom za C++

[es] :: C/C++ programiranje :: O svemu i svacemu vezanom za C++

Strane: 1 2

[ Pregleda: 5300 | Odgovora: 39 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

#Ninja#
Tuzla

Član broj: 28925
Poruke: 259
*.PPPoE-2508.sa.bih.net.ba.



+1 Profil

icon Re: O svemu i svacemu vezanom za C++17.08.2006. u 12:12 - pre 214 meseci
Citat:
icobh: Moraš prvo deklarisati promjenjljivu true i dodjeliti joj neku vrijednost !=0, npr. 1 izvan te petlje i tek tada tvoj while ulazi u beskonačan ciklus. Evo kako to izgleda u C-u:


Ne mora u C++. U C++ true i false su varijable tipa bool.
 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: O svemu i svacemu vezanom za C++17.08.2006. u 12:19 - pre 214 meseci
#include <cstdio>
#include <string>
#include <iostream>
using namespace std;
int main()
{
while(1)
{
string nekistring;
int lozinka;
cout<<"Unesite ime:";
cin>>nekistring;
cout<<"Unesite lozinku:";
cin>>lozinka;
}
return 0;
}

Ovo tvoje radi,ali radi i ovaj moj primjer,ali problem nastaje kada nekistring unosim
sa getlineom,a ne sa cinom.
S obzirom da ovaj nekistring moze imat razmak(npr. ime:ivica_ivić),nemoguce ga je
unjet sa cinom,nego moram koristit getline,ali kad koristim getline,dolazi do kolapsa.
Znaci trebam unjet nekak cjeli red sa cinom..
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
161.53.55.*



+9 Profil

icon Re: O svemu i svacemu vezanom za C++17.08.2006. u 12:24 - pre 214 meseci
Mislim da getline prima char* a ne string pa da bi tu bio problem. Pogledaj u helpu točnu sintaksu te funkcije. Na poslu sam pa nemam nikakav IDE ovdje...

Koliko se sjećam možda bi i ovo moglo...:

cin.getline(.....)
 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: O svemu i svacemu vezanom za C++17.08.2006. u 13:01 - pre 214 meseci
Prima i string,funkcija getline,ali samo prvi put izvrsenja petlje,kad dode u drugi
krug petlje potpuno se ignorira i onda dolazi do kolapsa u programu...
cin.getline() ne moze uzet string,a steta mi je sad cijeli program pisat ispocetka..
(Ne ovaj,ovo je samo jednostavan primjer mog problema,imam veci projekt)
 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: O svemu i svacemu vezanom za C++17.08.2006. u 17:11 - pre 214 meseci
//main.cpp
Code:
#include<iostream>
#include<fstream>
#include<string>
#include<cstdlib>
#include<vector>
using namespace std;

main()
{
int i=0,stanje=0,counter=0,count=0,lozinka,poz=0;
vector<int>lozinke;
vector<string>korisnicis ;
vector<string>lozinkes;
string stanjes,buff,korisnik;


ifstream koristxt("C:\\Documents and Settings\\Karlo\\My Documents\\Programiranje\\C i C++\\bankomat\\korisnici.txt");
ifstream stantxt("C:\\Documents and Settings\\Karlo\\My Documents\\Programiranje\\C i C++\\bankomat\\stanjebankomata.txt");
ifstream loztxt("C:\\Documents and Settings\\Karlo\\My Documents\\Programiranje\\C i C++\\bankomat\\lozinke.txt");


while(getline(koristxt,buff))
korisnicis.push_back(buff);

while(getline(loztxt,buff)) {
lozinkes.push_back(buff);
lozinke.push_back(atoi(buff.c_str()));
}

getline(stantxt,stanjes);
stanje=atoi(stanjes.c_str());

while(1){
system("CLS");
cout<<"Dobro dosli na bankomat!"<<endl;
cout<<"Unesite korisnicko ime:"<<endl;
getline(cin,korisnik);

for(i=0;i<korisnicis.size();i++)
{
if(korisnik==korisnicis[i])
{
counter++;
poz=i;
}

cout<<"Unesite PIN:"<<endl;
cin>>lozinka;

if((lozinka==lozinke[poz])&&(counter!=0)){
      cout<<"Uspjesno ste se logirali na bankovni racun."<<endl;
      break;
}
else
{cout<<"Korisnicko ime ili PIN su pogresni,pokusajte ponovo.\n\n";
}

}
cout<<"Odaberite jednu od slijedecih opcija:\n"<<endl;
}
system("PAUSE");
}


//lozinke.txt
Code:
12345
78910
11224


//stanjebankomata.txt
Code:
700000


//korisnici.txt
Code:
Pera Peric
Matko Jozic
Ivan Kluka Luka Paljuka
Ivica Jozic


Evo koda i fajlova iz kojih citam,probajte kompajlirat,pa ako neko zna ili uspije,puno hvala..
Naravno program trebam nastaviti,al trenutno ne mogu jer sam tu zapeo
Poz
 
Odgovor na temu

pcaca
Aleksandar
Makedonija

Član broj: 5333
Poruke: 92
62.162.197.*



Profil

icon Re: O svemu i svacemu vezanom za C++17.08.2006. u 21:16 - pre 214 meseci
U pravu si ovaj kod ne radi kako treba:
Code:

while (true) {
    cout << "Unesi korisnik: ";
    string nekistring;
    getline(cin, nekistring);
    cout << "Unesi lozinku: ";
    int lozinka;
    cin >> lozinka;
}

Ali kada tome dodas cin.ignore() posle ucitavanju lozinke onda radi :)
Code:

while (true) {
    cout << "Unesi korisnik: ";
    string nekistring;
    getline(cin, nekistring);
    cout << "Unesi lozinku: ";
    int lozinka;
    cin >> lozinka;
    cin.ignore();
}

cin.ignore() funkcija ignorira jedan karakter iz buffer-a. Problem je u tome sto getline funkcija kada naigje na '\n' karakter prekida sa ucitavanjem, a u slucaju kada citas lozinku kada pritsens "Enter" u buffer se dodaje jedan '\n' koji ostaje u njega.

Drugo moguce resenje bi bilo da i lozinka bude string pa da onda sve citas sa getline(), a po potrebi lozinku posle konvertujes u int.
Code:

while (true) {
    cout << "Unesi korisnik: ";
    string nekistring;
    getline(cin, nekistring);
    cout << "Unesi lozinku: ";
    string lozinka;
    getline(cin, lozinka);
}
 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: O svemu i svacemu vezanom za C++17.08.2006. u 23:25 - pre 214 meseci
Hm...Zanimljivo,ali ne,i u jednom i u drugom slucaju program krene ispocetka,ali ovaj put od unosa lozinke,
ne trazi da se unese korisnik
 
Odgovor na temu

pcaca
Aleksandar
Makedonija

Član broj: 5333
Poruke: 92
62.162.197.*



Profil

icon Re: O svemu i svacemu vezanom za C++18.08.2006. u 00:59 - pre 214 meseci
Citat:
k4rl0: Hm...Zanimljivo,ali ne,i u jednom i u drugom slucaju program krene ispocetka,ali ovaj put od unosa lozinke,
ne trazi da se unese korisnik :O

Jesi li siguran da ne radi ovaj kod?
Code:

while (true) {
    cout << "Unesi korisnik: ";
    string nekistring;
    getline(cin, nekistring);
    cout << "Unesi lozinku: ";
    int lozinka;
    cin >> lozinka;
    cin.ignore();
}

Kod mene radi kako treba, evo jos jednom sam testirao i sve je OK. Svaki put trazi da se unese korisnik i lozinka. Neznam sta zelis reci stime da u drugom slucaju program krene sa unosa lozinke. Kod mene kod svakog prolaza kroz loop trazi i korisnik i lozinku.

Jel hoces reci da se kod sa cin.ignore() i bez cin.ignore() kod tebe ponasa isto?
 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: O svemu i svacemu vezanom za C++18.08.2006. u 11:08 - pre 214 meseci
Ne potpuno isto,ali niti normalno,probaj kod:

Code:

#include<iostream>
#include<fstream>
#include<string>
#include<cstdlib>
#include<vector>
using namespace std;

main()
{
int i=0,stanje=0,counter=0,count=0,poz=0,lozinka;
vector<int>lozinke;
vector<string>korisnicis ;
vector<string>lozinkes;
string stanjes,buff,korisnik;


ifstream koristxt("C:\\Documents and Settings\\Karlo\\My Documents\\Programiranje\\C i C++\\bankomat\\korisnici.txt");
ifstream stantxt("C:\\Documents and Settings\\Karlo\\My Documents\\Programiranje\\C i C++\\bankomat\\stanjebankomata.txt");
ifstream loztxt("C:\\Documents and Settings\\Karlo\\My Documents\\Programiranje\\C i C++\\bankomat\\lozinke.txt");


while(getline(koristxt,buff))
korisnicis.push_back(buff);

while(getline(loztxt,buff)) {
lozinkes.push_back(buff);
lozinke.push_back(atoi(buff.c_str()));
}

getline(stantxt,stanjes);
stanje=atoi(stanjes.c_str());

while(true){
system("CLS");
cout<<"Dobro dosli na bankomat!"<<endl;
cout<<"Unesite korisnicko ime:"<<endl;
getline(cin,korisnik);

for(i=0;i<korisnicis.size();i++)
{
if(korisnik==korisnicis[i])
{
counter++;
poz=i;
}

cout<<"Unesite PIN:"<<endl;
cin>>lozinka;
cin.ignore();

if((lozinka==lozinke[poz])&&(counter!=0)){
      cout<<"Uspjesno ste se logirali na bankovni racun."<<endl;
      break;
}
else
{cout<<"Korisnicko ime ili PIN su pogresni,pokusajte ponovo.\n\n";
}}

cout<<"Odaberite jednu od slijedecih opcija:\n"<<endl;
}
system("PAUSE");
}


Fala kaj imas zivaca sa time se zajebat
 
Odgovor na temu

pcaca
Aleksandar
Makedonija

Član broj: 5333
Poruke: 92
62.162.197.*



Profil

icon Re: O svemu i svacemu vezanom za C++18.08.2006. u 12:52 - pre 214 meseci
Malo sam sredio kod jer nemogu raditi sa takav kod. I koliko vidim sve radi normalno ne vidim u cemu je problem. Najbolje pojasni gde ti se javlja problem. Ako mislis na to da kada uneses pogresni korisnik i/ili lozinku i po drugi put ne pita za korisnika nego samo za lozinku, onda problem je u tome sto kada su pogresni ne izlazis iz for loop.

Kada koristis fstream prvo ih testiraj dali su OK, pred da pocnes citati iz njih.
Code:

#include<iostream>
#include<fstream>
#include<string>
#include<cstdlib>
#include<vector>

using namespace std;

int main()
{
    int i = 0, stanje = 0 ,counter = 0,
        count = 0, poz = 0, lozinka;
    vector<int> lozinke;
    vector<string> korisnicis ;
    vector<string> lozinkes;
    string stanjes, buff, korisnik;

    //promenio sam put do datoteke
    ifstream koristxt("C:\\Documents and Settings\\user\\My Documents\\korisnici.txt");
    ifstream stantxt("C:\\Documents and Settings\\user\\My Documents\\stanjebankomata.txt");
    ifstream loztxt("C:\\Documents and Settings\\user\\My Documents\\lozinke.txt");


    while(getline(koristxt, buff))
        korisnicis.push_back(buff);

    while(getline(loztxt, buff)) {
        lozinkes.push_back(buff);
        lozinke.push_back(atoi(buff.c_str()));
    }

    getline(stantxt, stanjes);
    stanje = atoi(stanjes.c_str());

    while(true) {
        system("CLS");
        cout << "Dobro dosli na bankomat!" << endl;
        cout << "Unesite korisnicko ime: " << endl;
        getline(cin, korisnik);

        for(i = 0; i < korisnicis.size(); i++) {
            if(korisnik == korisnicis[i]) {
                counter++;
                poz = i;
            }

            cout << "Unesite PIN: " << endl;
            cin >> lozinka;
            cin.ignore();

            if((lozinka == lozinke[poz]) && (counter != 0)) {
                  cout << "Uspjesno ste se logirali na bankovni racun." << endl;
                  break;
            }
            else
                cout << "Korisnicko ime ili PIN su pogresni,pokusajte ponovo.\n\n"; //kada su pogresni ne izlazis iz for loop-a i ne pitas za korisnik
        }

        cout << "Odaberite jednu od slijedecih opcija:\n" << endl;
    }

    system("PAUSE");
    return 0;
}
 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: O svemu i svacemu vezanom za C++18.08.2006. u 13:23 - pre 214 meseci
Ma bravo majstore,fala,sve ok..
Samo sam stavil da poziva main funkciju ako su pogresni lozinka ili user name(na taj nacin sam izaso iz for petlje i
omogucio unos isponova i lozinke i user namea..)
Hvala na zivcima,pozdrav..
 
Odgovor na temu

pcaca
Aleksandar
Makedonija

Član broj: 5333
Poruke: 92
62.162.197.*



Profil

icon Re: O svemu i svacemu vezanom za C++18.08.2006. u 14:23 - pre 214 meseci
Citat:
k4rl0: Ma bravo majstore,fala,sve ok..
Samo sam stavil da poziva main funkciju ako su pogresni lozinka ili user name(na taj nacin sam izaso iz for petlje i
omogucio unos isponova i lozinke i user namea..)
Hvala na zivcima,pozdrav.. :)

Drago mi je da sam ti pomogao :)
To ti nije dobro resenje da pozivas ponovo main funkciju, a mislim da ne bi radilo u svaku situaciju. Pravo resenje ti je da malo ranije zatvoris for loop.
Evo ovako malo sam ti sredio celi kod, nema potrebe da podatke o bankovnim racunima cuvas u dva formata strin i int, dovoljan ti je samo string. Izgleda da si prethodno programirao u Pascal-u, u C++ se ne praktikuje da se promenlive deklariraju na pocetak programa nego kad ti zatrebaju.
Code:

#include<iostream>
#include<fstream>
#include<string>
#include<cstdlib>
#include<vector>

using namespace std;

int main()
{
    ifstream koristxt("C:\\Documents and Settings\\user\\My Documents\\korisnici.txt");
    ifstream stantxt("C:\\Documents and Settings\\user\\My Documents\\stanjebankomata.txt");
    ifstream loztxt("C:\\Documents and Settings\\user\\My Documents\\lozinke.txt");

    string buff;
    vector<string> korisnici;
    while(getline(koristxt, buff))
        korisnici.push_back(buff);

    vector<string> lozinke; //lozinke cuvas kao string
    while(getline(loztxt, buff))
        lozinke.push_back(buff);

    int stanje; //stanje ti je int nema potrebe od string
    stantxt >> stanje; //direktno citas int iz fajla

    int counter = 0;
    size_t poz = 0;
    string korisnik, lozinka;
    while(true) {
        system("CLS");
        cout << "Dobro dosli na bankomat!" << endl;
        cout << "Unesite korisnicko ime:" << endl;
        getline(cin, korisnik);

        for(size_t i = 0; i < korisnici.size(); i++) {
            if(korisnik == korisnici[i]) {
                counter++;
                poz = i;
            }
        } //ovde si trebao zatvoriti for loop
        cout << "Unesite PIN:" << endl;
        cin >> lozinka;
        cin.ignore();

        if((lozinka == lozinke[poz]) && (counter != 0)) {
              cout << "Uspjesno ste se logirali na bankovni racun." << endl;
              break;
        }
        else
            cout << "Korisnicko ime ili PIN su pogresni,pokusajte ponovo.\n\n";

        cout << "Odaberite jednu od slijedecih opcija:\n" << endl;
    }

    system("PAUSE");
    return 0;
}

Ako zelis da ti lozinka (PIN) budu int. Onda za ucitavanje koristi.
Code:

vector<int> lozinke; //lozinke cuvas kao string
int l;
while(loztxt >> l)
    lozinke.push_back(l);

Najbolje resenje bi ti bilo da koristis map<string, string> ili map<string, int> za cuvanje racuna.
Code:

map<string, int> racuni; //gde ces cuvati i korisnike i lozinke
 
Odgovor na temu

DjoleReject
Djordje Knezevic
Zvezdara

Član broj: 85258
Poruke: 309
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: O svemu i svacemu vezanom za C++22.08.2006. u 17:34 - pre 214 meseci
cini mi se da ti je ona funkcija mogla raditi da si imao cin.getline, pa fflush, a na kraju petlje if (nesto) break. Inace, neko pomenu while(1), a ja bih samo da kazem da nema sustinske razlike sa while(true).
De si Deda...
 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: O svemu i svacemu vezanom za C++06.09.2006. u 20:31 - pre 213 meseci
Znam da je malo stara tema al mi je glupo da otvorim 100 tema..
Pa me zanima malo detaljniji odgovor na prvo pitanje..
Dakle ako se namjeravam bavit sa GameDev u C++(samo programiranjem,
ne i modeliranjem,nego samo programiranjem igre..),koje tocno
djelove moram znat??
Cuo sam da:
C++(sam jezik,OOP..)
STL
WinAPI
DirectX
3D engine
Kolko je od toga tocno,molim vas odgovor da znam kud da krenem slijedece..

->Pls bez odgovora da idem na GameDev forum jer je glupo da otvaram teme
->Pls bez odgovora tipa vec su ljudi pitali i da googlam

Hvala
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: O svemu i svacemu vezanom za C++07.09.2006. u 14:24 - pre 213 meseci
Ja sam uradio 2 igre samo sa poznavanjem C++ i SDL-a.
 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: O svemu i svacemu vezanom za C++07.09.2006. u 14:41 - pre 213 meseci
A mozes pls sendat exe i kod ak nije komercijala?
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: O svemu i svacemu vezanom za C++07.09.2006. u 22:50 - pre 213 meseci
http://www.code-it.net/forum/attachments/InFlamesBall%5B33%5D.rar
Evo jedna koja mi je bila za seminarski prosle godine.
Kod bih morao potraziti jer nije u ovom raru.
 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: O svemu i svacemu vezanom za C++08.09.2006. u 14:28 - pre 213 meseci
Odlicno svaka cast,jel bi mi mogao kod poslat,pls
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: O svemu i svacemu vezanom za C++08.09.2006. u 16:04 - pre 213 meseci
Evo ti samo kod.
Sretno ako se snadjes, danas se ni ja nebi kladio u to.

http://d.turboupload.com/d/965792/kod.rar.html
 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: O svemu i svacemu vezanom za C++08.09.2006. u 16:29 - pre 213 meseci
Puno ti hvala,pozz..
 
Odgovor na temu

[es] :: C/C++ programiranje :: O svemu i svacemu vezanom za C++

Strane: 1 2

[ Pregleda: 5300 | Odgovora: 39 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.