Lamerizzatore di testi
-
Scritto in Python da "Gerolamo"

Da:Gerolamo (spyderweb@despammed.com)
Soggetto:Re: Mi mancano le idee!
Newsgroups:it.comp.lang.c++
Data:2002-08-08 18:06:52 PST

Andrea Bergia wrote:
> Mauro Franchi wrote:
> > Ciao a tutti! Sono nuovo del ng e vi scrivo perchè nbon ho idee!!
> > Qualcuno di voi ha in mewnte qualke bel programmino da realizzare
> > per mantenersi esercitati? Vi prego hop una voglia matta di
> > riprendere in mano il buon C++ ma, come ho già dettto, ho la testa
> > vuota!!!!! Grazie a tutti!!!
> > Ciaooooooooooooo!!!!
>
> Un correttore ortografico che toglie le K al posto delle C e che ti
> ricorda di scrivere con calma.

Questo le mette, ma purtroppo è in python... :-)))

Comunque potrebbe prenderlo per pseudocodice e tradurlo in C++
usando std::string e gli stream

===
import string

# definizione della unzione lamerizza
def lamerizza(linea, livello = 0):
if livello >= 0:
linea = linea.replace('ch','k')
if livello >= 1:
linea = linea.replace('per','x')
linea = linea.replace('non','nn')
linea = linea.replace('cca','kka')
linea = linea.replace('ccu','kku')
linea = linea.replace('cco','kko')
if livello >= 2:
linea = linea.replace('co','ko')
linea = linea.replace('ca','ka')
linea = linea.replace('cu','ku')
linea = linea.replace('csi','xi')
linea = linea.replace('è','e')
linea = linea.replace('é','e')
if livello >= 3:
linea = linea.lower()
linea = linea.replace(',',' ')
linea = linea.replace('cu','q')
linea = linea.replace('à','a')
linea = linea.replace('ò','o')
linea = linea.replace('ù','u')
linea = linea.replace("po'",'pò')
if livello >= 4:
linea = linea.upper()
linea = linea.replace('UO','OU')
i = linea.rfind('.')
if i != -1:
linea = linea[:i] + '!!!' + linea[i+1:]
linea = linea.replace('.',' ')
return linea

# qui inizia il flusso del programma
print "Inserire il nome del file di testo sorgente, compresa
l'estensione"
nomesorg = raw_input()
print "\nInserire il nome del file di testo destinazione compresa
l'estensione"
nomedest = raw_input()
print "\nInserire il livello di lamerizzazione"
print "0 = Little Lamer"
print "1 = Medium Lamer"
print "2 = BIG Lamer"
print "3 = Huge Lamer, Big Chatter, Few Brain"
print "4 = Amazing Huge Lamer with caps-lock key inserted. No brain."

livello_str = raw_input()
livello = string.atoi(livello_str)

f_sorg = open(nomesorg,'r')
f_dest = open(nomedest,'w')

linee_sorg = f_sorg.readlines()
linee_dest = []

for linea in linee_sorg:
linee_dest.append(lamerizza(linea, livello))
f_dest.writelines(linee_dest)
print linee_dest
===

...magari inserendo anche qualche controllo sui dati in input
(esistenza dei file, verificare se si inserisce effettivamente un numero
valido come livello, ...)

--
Gerolamo




FIRMA IL GUESTBOOK LEGGI IL GUESTBOOK!

For contact, mail to mandricus-at-langamers.it