Gå til innhold

Anbefalte innlegg

Hei! :D

Jeg har en liten idè til et program. En l33t converter!

Funker sånn at man skriver inn noe i vanlig skrift, og det kommer som leet under!

Jeg er ganske n00b så prøv å forklar litt enkelt.... code, forslag, alt kan være til hjelp!!

 

Takk på forhånd!! :thumbs:

Lenke til kommentar
Videoannonse
Annonse

#include <iostream>
#include <string>

std::string l33tisize(std::string const& s)
{
std::string ret = s;

for(std::string::size_type pos = 0; pos < ret.size(); pos++) {

 if(ret[pos] == 'e' || ret[pos] == 'E')
 	ret[pos] = '3';
 if(ret[pos] == 'o' || ret[pos] == 'O')
 	ret[pos] = '0';
if(ret[pos] == 'i' || ret[pos] == 'I')
 	ret[pos] = '1';
}

return(ret);
} // l33tisize()


int main()
{
using namespace std;

string s =  "Hei!\n"
 "Jeg har en liten idé til et program. En leet converter!\n"
 "Funker sånn at man skriver inn noe i vanlig skrift, og det kommer som leet under!\n"
 "Jeg er ganske noob så prøv å forklar litt enkelt.... code, forslag, alt kan være til hjelp!!\n"
 "Takk på forhånd!!";

cout << l33tisize(s) << endl;

return(0);
} // main()

 

Under kjøring:

 

H3i!

J3g har 3n lit3n idé til 3t pr0gram. 3n l33t c0nv3rt3r!

Funk3r sånn at man skriv3r inn n03 i vanlig skrift, 0g d3t k0mm3r s0m l33t und3r!

J3g 3r gansk3 n00b så prøv å f0rklar litt 3nk3lt.... c0d3, f0rslag, alt kan vær3 til hj3lp!!

Takk på f0rhånd!!

 

Ganske l33t? .. huhu

Endret av søppel
Lenke til kommentar
#include <iostream>
#include <string>

std::string l33tisize(std::string const& s)
{
std::string ret = s;

for(std::string::size_type pos = 0; pos < ret.size(); pos++) {
 if(ret[pos] == 'e' || ret[pos] == 'E')
 	ret[pos] = '3';
 if(ret[pos] == 'o' || ret[pos] == 'O')
 	ret[pos] = '0';
 if(ret[pos] == 'i' || ret[pos] == 'I')
 	ret[pos] = '1';
}

return(ret);
} // l33tisize()


#define M_buffersize 100
char buf[M_buffersize];

std::string readLine(std::istream& in = std::cin)
{
std::string ret;

while(in.get(buf, M_buffersize))
 ret.append(buf);

in.clear();
in.ignore();

return(ret);
} // readLine()


int main()
{
using namespace std;

string s;
cout << "Skriv inn noe stuff: ";
s = readLine();

cout << l33tisize(s) << endl;

return(0);
} // main()

Endret av søppel
Lenke til kommentar

Martin: Hent teksten inn i en std::string, og bytt ut alle e'er med 3 og alle i'er med 1 osv. Evt. analyser koden til søppel til du forstår alt den gjør :p

 

Hvis du vil vite HVORDAN du henter inn teksten og bytter ut osv, leser du i boka di.

Lenke til kommentar

Jepp det funka! fiksa litt på det da + lagt inn noen nye bokstaver

#include <iostream>
#include <string>

std::string l33tisize(std::string const& s)
{
std::string ret = s;

for(std::string::size_type pos = 0; pos < ret.size(); pos++) {
if(ret[pos] == 'e' || ret[pos] == 'E')
 ret[pos] = '3';
if(ret[pos] == 'o' || ret[pos] == 'O')
 ret[pos] = '0';
if(ret[pos] == 'i' || ret[pos] == 'I')
 ret[pos] = '1';
if(ret[pos] == 't' || ret[pos] == 'T')
 ret[pos] = '7';
if(ret[pos] == 's' || ret[pos] == 'S')
 ret[pos] = '5'; 
if(ret[pos] == 'a' || ret[pos] == 'A')
 ret[pos] = '4';
if(ret[pos] == 'g' || ret[pos] == 'G')
 ret[pos] = '6';                    
}

return(ret);
}


#define M_buffersize 100
char buf[M_buffersize];

std::string readLine(std::istream& in = std::cin)
{
std::string ret;

while(in.get(buf, M_buffersize))
ret.append(buf);

in.clear();
in.ignore();

return(ret);
}


int main()
{
using namespace std;

string s;
cout << "Skriv inn det du vil ha i l33t: ";
s = readLine();

cout << l33tisize(s) << endl;

return(0);
}

Men æ har fortsatt problemet med at æ må åpne programman gjennom CMD for at det ska funk! Som sagt så lukkes dæm etter æ har skrevve inn nå text å trykke enter hvis æ bare dobbel klikke på programmet i mappa. Noen som har en løsning?

Bruker Dev - C++ compiler hvis det betyr noe..

 

Takk!

Lenke til kommentar

Legg til readLine ..

 

...
readLine();
return(0);
}

 

..eller cin.get() :

 

...
cin.get();
return(0);
}

 

..eller system("pause") :

 

...
system("pause");
}

 

Husk at system er deklarert i stdlib.h, så du må "include" denne.

Endret av søppel
Lenke til kommentar

Bare husk at getch* -funksjonene ikke hører med til standard C eller C++ (tror de, og conio.h, orginalt er Borland-spesifike), så det kan hende din kompiler og ditt bibliotek ikke har disse funksjonene.

 

GCC under Linux har ikke.

MinGW (eller Dev-Cpp) under Win32 har heller ikke.

 

Er ikke noe i veien for å laste ned et bibliotek som har disse funksjonene da. Som f.eks. Ncurses-biblioteket.

Endret av søppel
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...