оптимизация кода. совет нуженю
- Войдите на сайт для отправки комментариев
Вс, 17/05/2015 - 12:23
Привет всем нужна помощь по оптимизации кода.
вот что было
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); } }
подскажите как специолисты что еще можно оптимизировать.