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

Stampanje niza ? (%#@!$)

[es] :: C/C++ programiranje :: Stampanje niza ? (%#@!$)

[ Pregleda: 2321 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

van t hoff

Član broj: 13138
Poruke: 230
62.108.101.*



Profil

icon Stampanje niza ? (%#@!$)02.01.2005. u 23:52 - pre 235 meseci
Bio bih vam zahvalan na bilo kakvoj pomoci, spremamo ispit iz informatike, radimo u MS c++ visual studiju u okviru MFC aplikacija, i imam problem.


Posto ucitam neki niz int brojeva zadat u okviru txt datoteke, na sledeci nacin:

Code:

void CTotalDlg::OnButton1() 
{
    CFileDialog Otvori (TRUE, NULL,NULL,OFN_OVERWRITEPROMPT,"Tekstualne datoteke(*.txt)|*.txt|");
    FILE * fp;

    if (Otvori.DoModal() == IDOK)
    {
        fp = fopen(Otvori.GetPathName(), "r");
        fscanf(fp,"%d", &m);
        for(i=0; i<m; i++)
        {
            fscanf(fp, "%d", &niz[i]);
        }
        
    }
}

Pozeleo sam da prikazem taj isti niz u okviru dijaloga u jednom edit box-u, ali mi to nikako ne uspeva.
Palo mi je na pamet da iskoristim fscanf()funkciju samo sa drugim parametrima. Posto nemamo knjige ni udzbenik potrazio sam po netu.
I ucinilo mi se logicnim da napisem nesto kao fscanf(fp, "%s", &p); ili %c ili %[...] gde je p promenjiva CString tipa, zatim je povezem je sa CString promenjivom edit boxa, ali ne radi.

Niz u txt filu je npr. 2 3 15 32, obicno prvu cifru koristim kao broj clanova niza, sto za ovo nije vazno.
Ovo je najjednostavnija verzija bez for ciklusa samo da ispise prvi ili neki clan niza (kroz for ciklus bih pokusao da ispise sve):

Code:

fscanf(fp,"%c", &p);
editbox = p;
UpdateData (FALSE);


I nije radila.

p.s. da li postoji neki drugi nacin da procitam neke vrednosti iz edit boxa u promenjivu, i stampam neke vrednosti u edit box iz promenjive sem koristeci UpdateData() funkciju ?

// filmil: code tag

[Ovu poruku je menjao filmil dana 12.01.2005. u 00:58 GMT+1]
 
Odgovor na temu

glorius
Damir Nikolic
C++ developer
SR

Član broj: 4366
Poruke: 428
213.244.208.*

ICQ: 208550327


+14 Profil

icon Re: Stampanje niza ? (%#@!$)03.01.2005. u 01:13 - pre 235 meseci
Srecna nova! Odgovor na poslednje pitanje ("p.s."):

Dodelite kontroli promenljivu tipa CEdit ( a ne CString ili int). Funkcije za pristup vrednosti promenljive u edit box-u je: GetWindowText() a za postavljanje SetWindowText() koje pripadaju CEdit promenljivoj.

Znaci:

CString str

CEdit pr;
pr.GetWindowText(str);

Kontrole imaju dosta mocnih funkcija. Mozes da crtas po EditBoxu ako imas njegov DC (Device Context) itd...
EOF
 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.client.comcast.net.



+18 Profil

icon Re: Stampanje niza ? (%#@!$)04.01.2005. u 15:23 - pre 235 meseci
Za pocetak, fscanf ti je lose odradjen: probaj da umesto fscanf(fp, "%d", &niz); stavis fscanf(fp, "%d", &niz[ i ]);. Ti u stvari zelis da ucitas promenjivu u i-ti element niza, a ne da ucitas vrednost u pointer ka nizu. Naravno, pre toga moras da budes siguran da ti je niz dovoljno veliki da ucita podatke iz fajla, sto je najlakse uraditi sa:

niz = new int[m];

izmedju fscanf-a i for petlje. Naravno, za ozibiljnije programe bi morao da proveris da li je alokacija uspela i tako to, a da kada zavrsis rad sa nizom da ga obrises sa delete []niz.

To je to za pocetak.
 
Odgovor na temu

van t hoff

Član broj: 13138
Poruke: 230
*.ppp-bg.sezampro.yu.



Profil

icon Re: Stampanje niza ? (%#@!$)05.01.2005. u 00:46 - pre 235 meseci
OK, hvala gloriusu, CEdit je pomogao oko sminke in/out=a.

Takodje srecna ti nova i sve najbolje!



za Relju M:

Hvala na sugestiji, ali,
Sto se tice [ i ], naravno da sam napisao, kao sto i sam vidis text je od tog dela u italici, mora da sam pogodio neki tag foruma....
tako da fscanf vrlo valja, ono sto sam ja provalio da kada skeniram u string ili char promenjivu fscanf(fp, "%s", &p) znak& je nepotreban pre promenjive, ali opet mi ne radi for ciklus u kome bi stampao sve clanove kao stringove u jedan edit box.

Mora da se to moze izvesti mnogo lakse.... eh dobri stari console app ... :)
 
Odgovor na temu

van t hoff

Član broj: 13138
Poruke: 230
*.blueisp.co.yu.



Profil

icon Re: Stampanje niza ? (%#@!$)10.01.2005. u 19:45 - pre 234 meseci
Problem rijesen...samostalno.
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.adsl.versatel.nl.

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Stampanje niza ? (%#@!$)11.01.2005. u 23:59 - pre 234 meseci
Čestitam. Kako?

f
 
Odgovor na temu

van t hoff

Član broj: 13138
Poruke: 230
*.blueisp.co.yu.



Profil

icon Re: Stampanje niza ? (%#@!$)12.01.2005. u 00:48 - pre 234 meseci
Code:

char bafer[3];
out="";    //out CString prom. vezana za editbox

for (i=0;i<m;i++)
    {
    itoa(niz[i],bafer,10);
    out=out+baf+ " ";
    }

UpdateData(FALSE);
Ovo je jedan od dva-tri nacina za prikazivanje niza u editboxu koje sam provalio da funkcionisu.

:)Hvala, jeste da izgleda prosto, ali za ovaj output mi je trebalo vise nego za sve matematicko/logicke operacije u okviru programa.

p.s. pala je 10ka :)
 
Odgovor na temu

[es] :: C/C++ programiranje :: Stampanje niza ? (%#@!$)

[ Pregleda: 2321 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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