Salve a tutti...
Vi spiego subito il mio problema, ho costruito un robot con due motori passo passo in grado di scrivere per terra su di un foglio o altro, ho scritto il codice con tutte le funzioni necessarie che mi permettono grazie ad dei (Void) di tipo Void A() Void B() etc... di scrivere delle frasi, lettere o disegnare forme...
Fin qui tutto bene, ora il mio problema e che per fare tutto ciò devo andare a modificare ogni volta il codice
ad esempio:
C();
I();
A();
O();
moveForward(100);
done();
while(1);
Ora vorrei fare in modo di evitare tutto questo creando una funzione di timo void message(), che mi permetta di inserire una frase in una string tipo:
char* message = "CIAO";
C=C();
I=I();
ETC...
sono ormai 3 giorni che sbatto la testa ma non riesco a capire in che modo fare, tutto quello che sono riuscito a fare fino ad ore e scrivere questo codice:
char* message = "CIAO";
void write_message() {
if (strstr(message, "A")) A();
if (strstr(message, "B")) B();
if (strstr(message, "C")) C();
if (strstr(message, "D")) D();
if (strstr(message, "E")) E();
if (strstr(message, "F")) f();
if (strstr(message, "G")) G();
if (strstr(message, "H")) H();
if (strstr(message, "I")) I();
if (strstr(message, "J")) J();
if (strstr(message, "K")) K();
if (strstr(message, "L")) L();
if (strstr(message, "M")) M();
if (strstr(message, "N")) N();
if (strstr(message, "O")) O();
if (strstr(message, "P")) P();
if (strstr(message, "Q")) Q();
if (strstr(message, "R")) R();
if (strstr(message, "S")) S();
if (strstr(message, "T")) T();
if (strstr(message, "U")) U();
if (strstr(message, "V")) V();
if (strstr(message, "W")) W();
if (strstr(message, "X")) X();
if (strstr(message, "Y")) Y();
if (strstr(message, "Z")) Z();
}
Questo codice funziona ma ovviamente mi scrive le lettere in ordine degli if e non i base all'ordine della frase, in questo caso scrive: ACIO...
Come posso fare per risolvere?
Grazie in anticipo a chi mi risponderà
.