pabloliva87

Ej5C

Feb 13th, 2012
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.     const char* messages[LANGUAGE_AMOUNT * MESSAGE_AMOUNT];
  23.     int index;
  24.  
  25.     /* The messages to print */
  26.     /* English */
  27.     messages[0] = "HelloWorld";
  28.     messages[1] =  "OutOfMemory";
  29.     messages[2] = "FileNotFound";
  30.     /* Spanish */
  31.     messages[3] = "HolaMundo";
  32.     messages[4] = "MemoriaAgotada";
  33.     messages[5] = "ArchivoNoEncontrado";
  34.  
  35.     index = language*MESSAGE_AMOUNT + message;
  36.    
  37.     return messages[index];
  38. }
  39.  
  40.  
  41. int main (void) {
  42.  
  43.     enum Languages language;
  44.     enum Messages message;
  45.    
  46.     int input_lang;
  47.     int input_mess;
  48.  
  49.     input_lang = 0;
  50.     input_mess = 0;
  51.    
  52.     while ((input_lang != LANGUAGE_AMOUNT) && (input_mess != MESSAGE_AMOUNT)) {
  53.         printf("Input Language: 0.English, 1.Spanish, 2.Exit \n");
  54.         scanf("%i", &input_lang);
  55.  
  56.         if (input_lang < LANGUAGE_AMOUNT) {
  57.             printf("Input Message: 0.HelloWorld, 1.OutOfMemory, 2.FileNotFound, 3.Exit \n");
  58.             scanf("%i", &input_mess);
  59.            
  60.             if (input_mess < MESSAGE_AMOUNT) {
  61.                 language = (enum Languages) input_lang;
  62.                 message = (enum Messages) input_mess;
  63.                 printf("MENSAJE OBTENIDO: %s\n", get_message(language, message) );
  64.             }
  65.         }
  66.     }
  67.  
  68.     return 0;
  69. }
Add Comment
Please, Sign In to add comment