PDA

Visualizza la versione completa : costanti in c


aliblui
24-01-2003, 14:50
Salve,
sono nuovo della programmazione in c e di questo forum, volevo chiedere un vostro parere in merito a questo problema che mi trovo ad affrontare!
Sto scrivendo un programmino che mi converta il testo in codice morse e gli ho dato questa impostazione:
acquisisco il file da tastiera e lo metto in un vettore,
faccio un ciclo per controllare che ogni lettera sia doversa dal carattere di terminazione
se è diversa faccio uno switch case e fin qui tutto bene!Il problema nasce quando dovrei sostituire al carattere il codice morse
ad esempio se ho la lettera a mi trovo in questa situazione

case 'a': (carattere='.-');break;

ma ci sono diversi problemi! 1 Il compilatore dice che ci sono troppi caratteri come costante, 2 se anche risolvessi questo problema avrei cmq l'inconveniente di dover memorizzare .- in un variabile di tipo carattere e non va bene perchè provando mi memorizza solo l'ultimo carattere e quindi solo -

Come mi consigliate di risolvere?

Michele Facchin
24-01-2003, 15:43
Il secondo problema lo risolverei facendo un nuovo vettore..ma di stringhe, cosi memorizzi stringhe al posto di caratteri, e quindi anche ".-" "-." ecc...

Il primo non ho capito bene cosa succede...

aliblui
24-01-2003, 16:39
Ciao e grazie per l'interessamento, vengo al dunque!
Per quanto riguarda la soluzione da te segnalatami ci avevo già pensato ma ho trovato problemi nell'attuarlo!Inizialemente avevo questo codice,ma quando andavo a fare la stampa su file di c mi stampava solo -
per far si che invece di una costante ci sia un vettore di stringhe come potrei fare?



printf("Digitare il testo da scrivere in morse(TERMINARE CON IL CARATTERE +)\n\t==>");
scanf("%s",&testo);

while ((c=testo[i])!='+')
{
switch (c){
case '+': (c=EOF); break;
case 'a': (c='.-'); break;
case ...
}
fprintf(fileout,"%c",c);
i++;
}


ciao e grazie!

Marco_Frigerio
24-01-2003, 16:44
mmm... io premetto che programmo in Java e la sintacci col C è abbastanza simile... io in Java so che lo switch funziona solo con variabili di tipo char, int, .. e non String! ciao

aliblui
24-01-2003, 16:52
quando eseguo l'istruzione (c=testo[i])metto in c un solo char e poi su questo faccio lo switch...il problema è come stampare nel file una vettore di stringhe associato a questa lettera!
cioè char a stringa associata .-

Ciao e grazie!

Loading