🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
5 messages
5 total messages Started by Stefaan Van Eenoo Mon, 21 Jul 2003 16:05
[c++] beginnersvraag
#4652
Author: Stefaan Van Eenoo
Date: Mon, 21 Jul 2003 16:05
31 lines
2294 bytes
Ben mij actueel aan het inwerken in C++. Ontwikkelomgeving is linux + 
g++ + vim + Qtopia. Voor mij is het oo-gegeven het moeilijkste op dit 
moment. Heb vooral ervaring met assembler-talen, ANSI-C en wat Visual 
Basic ( sorry ! ).

Om de theorie in praktijk om te zetten probeer ik nu een 
mini-programmatje te schrijven voor mijn Sharp Zaurus. Het is een 
programma dat adhv de criteria van de gebruiker een resultaat dient 
terug te geven.

Wat ik eerst wil is vrij simpel, ��n tabel zoals bv.

0.18;0.63
0.25;0.89
0.37;1.13
0.55;1.46

staat opgeslagen in ASCII formaat in een bestand.

Als ik een functie van mijn klasse aanroep met als argument 0.37 dien ik 
1.13 te krijgen als antwoord. Die zaken zullen me normaliter wel lukken.

Ik dacht om bij het opstarten van mijn applicatie het tabel-bestand in 
te lezen en ergens te bewaren.

Nu weet ik nog niet waar en hoe ik best die tabel in het geheugen zal 
bijhouden ( het aantal waardes is niet meer dan 100 )? Definieer ik in 
mijn klasse een array of dien ik een nieuwe klasse te maken of ???

Iemand die me begrijpt ?
Thx, Stef
Re: [c++] beginnersvraag
#4653
Author: Roel Schroeven
Date: Mon, 21 Jul 2003 17:16
53 lines
2708 bytes
Stefaan Van Eenoo wrote:
> Ben mij actueel aan het inwerken in C++. Ontwikkelomgeving is linux + 
> g++ + vim + Qtopia. Voor mij is het oo-gegeven het moeilijkste op dit 
> moment. Heb vooral ervaring met assembler-talen, ANSI-C en wat Visual 
> Basic ( sorry ! ).
> 
> Wat ik eerst wil is vrij simpel, ��n tabel zoals bv.
> 
> 0.18;0.63
> 0.25;0.89
> 0.37;1.13
> 0.55;1.46
> 
> staat opgeslagen in ASCII formaat in een bestand.
> 
> Als ik een functie van mijn klasse aanroep met als argument 0.37 dien ik 
> 1.13 te krijgen als antwoord. Die zaken zullen me normaliter wel lukken.
> 
> Nu weet ik nog niet waar en hoe ik best die tabel in het geheugen zal 
> bijhouden ( het aantal waardes is niet meer dan 100 )? Definieer ik in 
> mijn klasse een array of dien ik een nieuwe klasse te maken of ???

Als je de tabel maar in ��n richting moet kunnen raadplegen (dus alleen
0.37 -> 1.13, niet andersom) zou ik zonder nadenken een map gebruiken
uit de standard template library (STL):

#include <map>

typedef std::map<double, double> Tabel;
Tabel tabel;

// Opvullen: bijv.
tabel[0.37] = 1.13;  // maar dan met de waarden uit je bestand

// Uitlezen: bijv.
double value = tabel[0.37];

// Controleren of er een entry is voor een gegeven getal:
if (tabel.find(0.37))
{
  // ...
}
else
{
  // ...
}

Meer uitleg daarover vind je in het betere C++-boek, of op SGI's
website: http://www.sgi.com/tech/stl/Map.html.

-- 
"Codito ergo sum"
Roel Schroeven
Re: [c++] beginnersvraag
#4654
Author: Kristoffel
Date: Mon, 21 Jul 2003 17:58
54 lines
2897 bytes
Roel Schroeven wrote:
> Stefaan Van Eenoo wrote:
> 
>>Ben mij actueel aan het inwerken in C++. Ontwikkelomgeving is linux + 
>>g++ + vim + Qtopia. Voor mij is het oo-gegeven het moeilijkste op dit 
>>moment. Heb vooral ervaring met assembler-talen, ANSI-C en wat Visual 
>>Basic ( sorry ! ).
>>
>>Wat ik eerst wil is vrij simpel, ��n tabel zoals bv.
>>
>>0.18;0.63
>>0.25;0.89
>>0.37;1.13
>>0.55;1.46
>>
>>staat opgeslagen in ASCII formaat in een bestand.
>>
>>Als ik een functie van mijn klasse aanroep met als argument 0.37 dien ik 
>>1.13 te krijgen als antwoord. Die zaken zullen me normaliter wel lukken.
>>
>>Nu weet ik nog niet waar en hoe ik best die tabel in het geheugen zal 
>>bijhouden ( het aantal waardes is niet meer dan 100 )? Definieer ik in 
>>mijn klasse een array of dien ik een nieuwe klasse te maken of ???
> 
> 
> Als je de tabel maar in ��n richting moet kunnen raadplegen (dus alleen
> 0.37 -> 1.13, niet andersom) zou ik zonder nadenken een map gebruiken
> uit de standard template library (STL):
> 
> #include <map>
> 
> typedef std::map<double, double> Tabel;
> Tabel tabel;
> 
> // Opvullen: bijv.
> tabel[0.37] = 1.13;  // maar dan met de waarden uit je bestand
> 
> // Uitlezen: bijv.
> double value = tabel[0.37];
> 
> // Controleren of er een entry is voor een gegeven getal:
> if (tabel.find(0.37))
if (tabel.find(0.37) != tabel.end()) // !!!
> {
>   // ...
> }
> else
> {
>   // ...
> }
> 
> Meer uitleg daarover vind je in het betere C++-boek, of op SGI's
> website: http://www.sgi.com/tech/stl/Map.html.
> 
Re: [c++] beginnersvraag
#4655
Author: Stefaan Van Eenoo
Date: Mon, 21 Jul 2003 20:15
9 lines
1599 bytes
Roel Schroeven wrote:
> Als je de tabel maar in ��n richting moet kunnen raadplegen (dus alleen
> 0.37 -> 1.13, niet andersom) zou ik zonder nadenken een map gebruiken
> uit de standard template library (STL):

Dat is precies wat ik nodig had. Ik gebruik de qmap class van QTopia nu.

Bedankt,
Stef
Re: [c++] beginnersvraag
#4657
Author: Roel Schroeven
Date: Mon, 21 Jul 2003 22:28
12 lines
1655 bytes
Kristoffel wrote:
> Roel Schroeven wrote:
>> // Controleren of er een entry is voor een gegeven getal:
>> if (tabel.find(0.37))
> if (tabel.find(0.37) != tabel.end()) // !!!

Ja... natuurlijk... dat komt ervan, van die lange weekends... Niet dat
je mij hoort klagen hoor :-)

-- 
"Codito ergo sum"
Roel Schroeven
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads