Files

56 lines
1.4 KiB
Plaintext

/*
Vigenere Cipher encoder / decoder demo
And an excuse to play around with EEPROM memory
*/
#include "vigenereCipher.h"
// -------- Functions --------- //
void printFromEEPROM(char *eepromString);
void enterText(char text[]);
void displayCodes(void);
void changeCode(char codeBuffer[]);
void selectCode(char code[]);
void encodeVigenere(char text[], char code[]);
void decodeVigenere(char text[], char code[]);
int main(void) {
// -------- Inits --------- //
char textBuffer[MAX_TEXT_LENGTH];
char codeString[CODE_LEN];
char input;
initUSART();
// ------ Event loop ------ //
while (1) {
// Menu
printFromEEPROM(welcomeString);
// .... more fany menu printing
printFromEEPROM(menuDecode);
input = receiveByte();
switch (input) {
case 'e': // encode
encodeVigenere(textBuffer, codeString);
break;
case 'd': // decode
decodeVigenere(textBuffer, codeString);
break;
case 'n': // new text
printFromEEPROM(promptTypeText);
enterText(textBuffer);
break;
case 'c': // choose code
selectCode(codeString);
break;
case 'x': // change code
changeCode(codeString);
break;
}
} /* End event loop */
return (0); /* This line is never reached */
}