pabloliva87

Ej5C

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