Go Down

Topic: raggruppare/associare sempre lo stesso codice, ad una lettera (Read 893 times) previous topic - next topic

gingardu

allora ho quasi finito ....     :~   il tutto occupa    25.416 bytes  per 6 cifre 7 segmenti adesso vorrei provare a smagrire con i cicli for ma purtroppo non so come adattarli  =(  al programma (ho tentato ma nulla)
esempio una sequenza del genere e possibile fare un ciclo for unico?  o piu cicli for, e come ?
Code: [Select]
C1= map(analogRead(A0), a, b, c, d);

//Serial.println ( C1, DEC );

if (C1>= 100000 && C1<= 200000) C1=C1-100000;
if (C1>= 200000 && C1<= 300000) C1=C1-200000;
if (C1>= 300000 && C1<= 400000) C1=C1-300000;
if (C1>= 400000 && C1<= 500000) C1=C1-400000;
if (C1>= 500000 && C1<= 600000) C1=C1-500000;
if (C1>= 600000 && C1<= 700000) C1=C1-600000;
if (C1>= 700000 && C1<= 800000) C1=C1-700000;
if (C1>= 800000 && C1<= 900000) C1=C1-800000;
if (C1>= 900000 && C1<= 999999) C1=C1-900000;

if (C1>= 10000 && C1<= 20000) C1=C1-10000;
if (C1>= 20000 && C1<= 30000) C1=C1-20000;
if (C1>= 30000 && C1<= 40000) C1=C1-30000;
if (C1>= 40000 && C1<= 50000) C1=C1-40000;
if (C1>= 50000 && C1<= 60000) C1=C1-50000;
if (C1>= 60000 && C1<= 70000) C1=C1-60000;
if (C1>= 70000 && C1<= 80000) C1=C1-70000;
if (C1>= 80000 && C1<= 90000) C1=C1-80000;
if (C1>= 90000 && C1<= 99999) C1=C1-90000;

if (C1>= 1000 && C1<= 2000) C1=C1-1000;
if (C1>= 2000 && C1<= 3000) C1=C1-2000;
if (C1>= 3000 && C1<= 4000) C1=C1-3000;
if (C1>= 4000 && C1<= 5000) C1=C1-4000;
if (C1>= 5000 && C1<= 6000) C1=C1-5000;
if (C1>= 6000 && C1<= 7000) C1=C1-6000;
if (C1>= 7000 && C1<= 8000) C1=C1-7000;
if (C1>= 8000 && C1<= 9000) C1=C1-8000;
if (C1>= 9000 && C1<= 9999) C1=C1-9000;



if (C1>= 100 && C1<= 200) C1=C1-100;
if (C1>= 200 && C1<= 300) C1=C1-200;
if (C1>= 300 && C1<= 400) C1=C1-300;
if (C1>= 400 && C1<= 500) C1=C1-400;
if (C1>= 500 && C1<= 600) C1=C1-500;
if (C1>= 600 && C1<= 700) C1=C1-600;
if (C1>= 700 && C1<= 800) C1=C1-700;
if (C1>= 800 && C1<= 900) C1=C1-800;
if (C1>= 900 && C1<= 999) C1=C1-900;


//Serial.print ( " C1   ");
//Serial.println (C1, DEC );
//Serial.println ( "   "); 

if (C1>= 10 && C1<= 20) C1=C1-10;
if (C1>= 20 && C1<= 30) C1=C1-20;
if (C1>= 30 && C1<= 40) C1=C1-30;
if (C1>= 40 && C1<= 50) C1=C1-40;
if (C1>= 50 && C1<= 60) C1=C1-50;
if (C1>= 60 && C1<= 70) C1=C1-60;
if (C1>= 70 && C1<= 80) C1=C1-70;
if (C1>= 80 && C1<= 90) C1=C1-80;
if (C1>= 90 && C1<= 99) C1=C1-90;
Le cose si possono considerare facili in due casi: quando le si conosce bene o quando non le si conosce affatto...

leo72

Ti avevo già messo un codice di poche righe nel mio replay #10 che scompone un numero in un array di char da spedire poi al tuo display.

gingardu


Ti avevo già messo un codice di poche righe nel mio replay #10 che scompone un numero in un array di char da spedire poi al tuo display.



si quel codice  funziona bene al posto di quelle 10 righe, ma per il resto non riesco ad adattarlo, al resto del codice  sicuramente è colpa della mia non troppa capacità  di comprensione del ciclo for
provero a studiare per vedere se ci arrivo


Le cose si possono considerare facili in due casi: quando le si conosce bene o quando non le si conosce affatto...

Go Up