pabloliva87

Ej5C

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