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

O svemu i svacemu vezanom za C++

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

Strane: 1 2

[ Pregleda: 2472 | Odgovora: 39 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

#Ninja#
Tuzla

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



Profil

icon Re: O svemu i svacemu vezanom za C++17.08.2006. u 12:12
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.
17.08.2006. u 12:12 

k4rl0
Localhost

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



Profil

icon Re: O svemu i svacemu vezanom za C++17.08.2006. u 12:19
#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..
17.08.2006. u 12:19 

itf
Zagreb

Član broj: 59794
Poruke: 778
161.53.55.*

ICQ: 337738018


Profil

icon Re: O svemu i svacemu vezanom za C++17.08.2006. u 12:24
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(.....)
17.08.2006. u 12:24 

k4rl0
Localhost

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



Profil

icon Re: O svemu i svacemu vezanom za C++17.08.2006. u 13:01
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)
17.08.2006. u 13:01 

k4rl0
Localhost

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



Profil

icon Re: O svemu i svacemu vezanom za C++17.08.2006. u 17:11
//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
17.08.2006. u 17:11 

pcaca
Aleksandar
Makedonija

Član broj: 5333
Poruke: 91
62.162.197.*



Profil

icon Re: O svemu i svacemu vezanom za C++17.08.2006. u 21:16
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);
}
17.08.2006. u 21:16 

k4rl0
Localhost

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



Profil

icon Re: O svemu i svacemu vezanom za C++17.08.2006. u 23:25
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
17.08.2006. u 23:25 

pcaca
Aleksandar
Makedonija

Član broj: 5333
Poruke: 91
62.162.197.*



Profil

icon Re: O svemu i svacemu vezanom za C++18.08.2006. u 00:59
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. ne znam 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?
18.08.2006. u 00:59 

k4rl0
Localhost

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



Profil

icon Re: O svemu i svacemu vezanom za C++18.08.2006. u 11:08
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 za***at
18.08.2006. u 11:08 

pcaca
Aleksandar
Makedonija

Član broj: 5333
Poruke: 91
62.162.197.*



Profil

icon Re: O svemu i svacemu vezanom za C++18.08.2006. u 12:52
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;
}
18.08.2006. u 12:52 

k4rl0
Localhost

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



Profil

icon Re: O svemu i svacemu vezanom za C++18.08.2006. u 13:23
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..
18.08.2006. u 13:23 

pcaca
Aleksandar
Makedonija

Član broj: 5333
Poruke: 91
62.162.197.*



Profil

icon Re: O svemu i svacemu vezanom za C++18.08.2006. u 14:23
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
18.08.2006. u 14:23 

DjoleReject
Djordje Knezevic
Zvezdara

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



Profil

icon Re: O svemu i svacemu vezanom za C++22.08.2006. u 17:34
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...
22.08.2006. u 17:34 

k4rl0
Localhost

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



Profil

icon Re: O svemu i svacemu vezanom za C++06.09.2006. u 20:31
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
06.09.2006. u 20:31 

NrmMyth
Split, Kaštela

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



Profil

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

k4rl0
Localhost

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



Profil

icon Re: O svemu i svacemu vezanom za C++07.09.2006. u 14:41
A mozes pls sendat exe i kod ak nije komercijala?
07.09.2006. u 14:41 

NrmMyth
Split, Kaštela

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



Profil

icon Re: O svemu i svacemu vezanom za C++07.09.2006. u 22:50
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.

07.09.2006. u 22:50 

k4rl0
Localhost

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



Profil

icon Re: O svemu i svacemu vezanom za C++08.09.2006. u 14:28
Odlicno svaka cast,jel bi mi mogao kod poslat,pls
08.09.2006. u 14:28 

NrmMyth
Split, Kaštela

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



Profil

icon Re: O svemu i svacemu vezanom za C++08.09.2006. u 16:04
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
08.09.2006. u 16:04 

k4rl0
Localhost

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



Profil

icon Re: O svemu i svacemu vezanom za C++08.09.2006. u 16:29
Puno ti hvala,pozz..
08.09.2006. u 16:29 

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

Strane: 1 2

[ Pregleda: 2472 | Odgovora: 39 ]

Postavi temu Odgovori

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