SHOW:
|
|
- or go back to the newest paste.
| 1 | #include<stdio.h> | |
| 2 | #include<stdlib.h> | |
| 3 | ||
| 4 | #define LANGUAGE_AMOUNT 2 | |
| 5 | #define MESSAGE_AMOUNT 3 | |
| 6 | ||
| 7 | enum Languages | |
| 8 | {
| |
| 9 | English, | |
| 10 | Spanish | |
| 11 | }; | |
| 12 | ||
| 13 | enum Messages | |
| 14 | {
| |
| 15 | HelloWorld, | |
| 16 | OutOfMemory, | |
| 17 | FileNotFound | |
| 18 | }; | |
| 19 | ||
| 20 | const char* get_message(enum Languages language, enum Messages message) {
| |
| 21 | ||
| 22 | - | /* The messages to print */ |
| 22 | + | |
| 23 | - | /* English */ |
| 23 | + | const char* messages[LANGUAGE_AMOUNT * MESSAGE_AMOUNT]; |
| 24 | - | #define EngHW "HelloWorld" |
| 24 | + | int index; |
| 25 | - | #define EngOOM "OutOfMemory" |
| 25 | + | |
| 26 | - | #define EngFNF "FileNotFound" |
| 26 | + | /* The messages to print */ |
| 27 | - | /* Spanish */ |
| 27 | + | /* English */ |
| 28 | - | #define SpaHW "HolaMundo" |
| 28 | + | messages[0] = "HelloWorld"; |
| 29 | - | #define SpaOOM "MemoriaAgotada" |
| 29 | + | messages[1] = "OutOfMemory"; |
| 30 | - | #define SpaFNF "ArchivoNoEncontrado" |
| 30 | + | messages[2] = "FileNotFound"; |
| 31 | /* Spanish */ | |
| 32 | messages[3] = "HolaMundo"; | |
| 33 | messages[4] = "MemoriaAgotada"; | |
| 34 | - | if (language == English) {
|
| 34 | + | messages[5] = "ArchivoNoEncontrado"; |
| 35 | - | switch(message) {
|
| 35 | + | |
| 36 | - | case HelloWorld: |
| 36 | + | index = language*MESSAGE_AMOUNT + message; |
| 37 | - | result = EngHW; |
| 37 | + | |
| 38 | - | break; |
| 38 | + | return messages[index]; |
| 39 | - | case OutOfMemory: |
| 39 | + | |
| 40 | - | result = EngOOM; |
| 40 | + | |
| 41 | - | break; |
| 41 | + | |
| 42 | - | case FileNotFound: |
| 42 | + | |
| 43 | - | result = EngFNF; |
| 43 | + | |
| 44 | - | break; |
| 44 | + | |
| 45 | enum Messages message; | |
| 46 | ||
| 47 | int input_lang; | |
| 48 | - | if (language == Spanish) {
|
| 48 | + | |
| 49 | - | switch(message) {
|
| 49 | + | |
| 50 | - | case HelloWorld: |
| 50 | + | |
| 51 | - | result = SpaHW; |
| 51 | + | |
| 52 | - | break; |
| 52 | + | |
| 53 | - | case OutOfMemory: |
| 53 | + | |
| 54 | - | result = SpaOOM; |
| 54 | + | |
| 55 | - | break; |
| 55 | + | |
| 56 | - | case FileNotFound: |
| 56 | + | |
| 57 | - | result = SpaFNF; |
| 57 | + | |
| 58 | - | break; |
| 58 | + | |
| 59 | scanf("%i", &input_mess);
| |
| 60 | ||
| 61 | if (input_mess < MESSAGE_AMOUNT) {
| |
| 62 | - | return result; |
| 62 | + | |
| 63 | message = (enum Messages) input_mess; | |
| 64 | printf("MENSAJE OBTENIDO: %s\n", get_message(language, message) );
| |
| 65 | } | |
| 66 | } | |
| 67 | } | |
| 68 | ||
| 69 | return 0; | |
| 70 | } |