PDA

Visualizza la versione completa : [C] Stampare una lettera con una barra sopra


buba88
09-04-2005, 13:06
Ragazzi esiste un modo per stampare un carattere con una barra sopra?

mi serve perchè sto facendo come esercizio un programma in c che converte i numeri arabi in romani. il problema è che gli antichi romani, dopo M che stava per mille, nn avevano altri simboli, ma mettevano un trattino sopra i simboli già usati per moltiplicarli per mille. in pratica 5000 si scriveva con V con un trattino sopra, diecimila con X con un trattino sopra.
Come potrei fare?

dekdek
09-04-2005, 13:24
Linguaggio?
Ambiente grafico (a finestre, insomma) o testuale?

buba88
09-04-2005, 13:26
il linguaggio è il c,in ambiente testuale.

MMarzia
09-04-2005, 19:39
la prossima volta ricord di specificare il linguaggio nel titolo

dekdek
09-04-2005, 19:58
Mi sa che ti conviene pensare ad una soluzione alternativa, a meno di non fare cosi':



________
UAUAUAUA

unit1
10-04-2005, 13:27
posta il codice, forse potro aiutarti... :madai!?:

spiega come è la regola: il trattino va messo su tutto il numero?
e spora il milione?

(devo aver studiato tantissimo alle medie.... :confused: )

buba88
10-04-2005, 16:16
no il trattino va messo solo sulla lettera che vuoi moltiplicare per 1000:

_
M = un milione
_
V = cinquemila

dekdek
10-04-2005, 16:49
Aggiungi le lettere un carattere alla volta.

Utilizza due stringhe: "barre" e "lettere". In "barre" metti l'underscore "_" o lo spazio a seconda che debba comparire o meno la barra. In "lettere" metti le lettere...

Utilizza due funzioni. Te le scrivo in pseudo-codice, poi vedi convincere C a farle funzionare...



aggiungiLetteraConBarra(char c) {
barre += '_';
lettere += c;
}

aggiungiLetteraSenzaBarra(char c) {
barre += ' ';
lettere += c;
}


Poi ovviamente stampi con:

printf (barre + '\n' + lettere);

L'algoritmo dovresti averlo gia' scritto, bastano piccole modifiche.
Il resto dovrebbe essere semplice.

buba88
10-04-2005, 18:49
ok grazie vedo che riesco a fare

Loading