pabloliva87

Ej5C

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