Avatar billede bemula55 Nybegynder
13. marts 2006 - 17:19 Der er 9 kommentarer og
1 løsning

Billige point - Kommentarer til kodesektion

Hej

Jeg er i gang med en dataopgave på min skole, og har i den forbindelse fundet et kodestykke på nettet, som konverterer punktumer(engelsk komma) til dansk komma og gemmer det i en fil.

Da det er en skoleopgave har jeg dog brug for at forstå hvad der sker, samt at få nogle kommentarer på. Kan du forklare hvad der sker i nedenstående er pointene dine ;-)



template<typename T>
void Konverter(std::ostream &os, T val) {                               
stringstream SS;
SS << val;                                             

string S = SS.str();
string::size_type pos;
while((pos = S.find('.')) != string::npos)
    S[pos] = ',';
    os << S;
}
Avatar billede fiil123 Nybegynder
17. marts 2006 - 21:26 #1
Nu ved jeg jo ikke hvad niveau du er på men altså du har ild i en template hvilket er på et ret højt niveau...
Avatar billede bemula55 Nybegynder
18. marts 2006 - 17:13 #2
okay... jeg er ikke på et særlig højt niveau... men der er den eneste brugbare kode jeg har kunnet finde
Avatar billede fiil123 Nybegynder
18. marts 2006 - 17:42 #3
Hvad bruger di til at skrive i?
Avatar billede fiil123 Nybegynder
18. marts 2006 - 17:50 #4
void main()
{
string S = "hej.med.dig.";

string::size_type pos;

while( (pos = S.find('.')) != string::npos ) // The find function searches for the
                                            // first occurrence. If found, return the
                                            //  position of the first character in
                                            // the matching substring. If not found,
                                            // return the value string::npos

S[pos] = ',';                                // modifi the fund position, i this
                                            //situation we sets it to ,

cout << S;                                  //Cout det string S
}
Avatar billede fiil123 Nybegynder
18. marts 2006 - 17:56 #5
Det der sker er at:

while 1 gennemløb
kigger på hej.med.dig.
og pos = 4 og S[4] = ','

while 2 gennemløb
kigger på hej,med.dig.
og pos = 8 og S[8] = ','

while 3 gennemløb
kigger på hej,med,dig.
og pos = 12 og S[12] = ','

while 4 gennemløb
kigger på hej,med,dig,
og pos = string::npos

og while løkken bliver false og kører vidre...
Avatar billede fiil123 Nybegynder
18. marts 2006 - 17:57 #6
Det er selvfølgelig main programmet der fortsætter
Avatar billede bemula55 Nybegynder
19. marts 2006 - 12:27 #7
fiil123... læg et svar og pointene er dine

tak
Avatar billede fiil123 Nybegynder
19. marts 2006 - 12:29 #8
Så lidt... Men du er med på hvordan du laver det nu så ikke?
Avatar billede bemula55 Nybegynder
19. marts 2006 - 12:51 #9
jo sådan nogen lunde...

stringstream SS;
SS << val;     

henter bare den tekst der skal scannes ikke
Avatar billede bemula55 Nybegynder
13. februar 2007 - 13:14 #10
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester