оптимизация кода. совет нуженю

Нет ответов
akimov_aleks
Offline
Зарегистрирован: 04.04.2013

Привет всем нужна помощь по оптимизации кода.

вот что было 

boolean aleks= EEPROM.read(0);  
int addr_aleks = 0;              
boolean aleksandr= EEPROM.read(1);          
int addr_aleksandr = 1; 
boolean anton= EEPROM.read(2);   



    if (uidDec == 691247130)
      {
        if (anton == true) 
        { 
        printtrue ("aleks.txtt"); 
        }
  
      if (anton == false) 
        {
        printfalse ("aleks.txtt");
        }
   
   myFile.close();
   aleks= ! aleks;
   EEPROM.write(addr_aleks, aleks);
   
    }

проблема втом что на каждого человека пришлось писать этот код что было полным бредом. 

начил оптимизацию вот что щас получилось

 

char* karti[]={"4200285874","2123090467","691247130","3104822041","3645938714"}; //массив карт
char* users[]={"aleks","alex","anton","nasti","vova"};// массив пользователей
....
...



for (int i=0; i <= 5; i++){
if (uidDec == int(karti[i]))
      {   
        boolean loginstatus= EEPROM.read(i);        
        if (loginstatus == true) 
        { 
        printtrue (users[i]); 
        }
  
      if (loginstatus == false) 
        {
        printfalse (users[i]);
        }
   
   myFile.close();
   loginstatus = ! loginstatus;
   EEPROM.write(i, loginstatus);
   
    }
}

...
...
void printfalse (String tex)
{
          String s = tex;
          s.toCharArray(Str1, s.length());
  
  myFile.close();
          myFile = SD.open(Str1, FILE_WRITE);
            if (myFile) {
                          myFile.print(rtc.getDateStr());
                          myFile.print(" ; ");
                          myFile.println(rtc.getTimeStr());
                          myFile.close();
                          lcd.setCursor(2, 1);
                          lcd.print("OK");
                          tone(7,700,500); 
                        }
       
 
}

void printtrue (String tex )
{
            String s = tex;
          s.toCharArray(Str1, s.length());
  myFile.close();
              myFile = SD.open(Str1, FILE_WRITE);
    
                if (myFile) {
                              myFile.print(tex+" ; ");
                              myFile.print(rtc.getDateStr());
                              myFile.print(" ; ");
                              myFile.print(rtc.getTimeStr());
                              myFile.print(" ; ");
                              myFile.close();
                              lcd.setCursor(2, 1);
                              lcd.print("OK");
                              tone(7,500,500);
                            }
  
}

подскажите как специолисты что еще можно оптимизировать.