pabloliva87

Ej5C

Feb 1st, 2012
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.71 KB | None | 0 0
  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 */
  23. /* English */
  24. #define EngHW "HelloWorld"
  25. #define EngOOM "OutOfMemory"
  26. #define EngFNF "FileNotFound"
  27. /* Spanish */
  28. #define SpaHW "HolaMundo"
  29. #define SpaOOM "MemoriaAgotada"
  30. #define SpaFNF "ArchivoNoEncontrado"
  31.  
  32.     const char* result;
  33.    
  34.     if (language == English) {
  35.         switch(message) {
  36.             case HelloWorld:
  37.                 result = EngHW;
  38.                 break;
  39.             case OutOfMemory:
  40.                 result = EngOOM;
  41.                 break;
  42.             case FileNotFound:
  43.                 result = EngFNF;
  44.                 break;
  45.         }
  46.     }
  47.  
  48.     if (language == Spanish) {
  49.         switch(message) {
  50.             case HelloWorld:
  51.                 result = SpaHW;
  52.                 break;
  53.             case OutOfMemory:
  54.                 result = SpaOOM;
  55.                 break;
  56.             case FileNotFound:
  57.                 result = SpaFNF;
  58.                 break;
  59.         }
  60.     }
  61.  
  62.     return result;
  63. }
  64.  
  65.  
  66. int main (void) {
  67.  
  68.     enum Languages language;
  69.     enum Messages message;
  70.    
  71.     int input_lang;
  72.     int input_mess;
  73.  
  74.     input_lang = 0;
  75.     input_mess = 0;
  76.    
  77.     while ((input_lang != LANGUAGE_AMOUNT) && (input_mess != MESSAGE_AMOUNT)) {
  78.         printf("Input Language: 0.English, 1.Spanish, 2.Exit \n");
  79.         scanf("%i", &input_lang);
  80.  
  81.         if (input_lang < LANGUAGE_AMOUNT) {
  82.             printf("Input Message: 0.HelloWorld, 1.OutOfMemory, 2.FileNotFound, 3.Exit \n");
  83.             scanf("%i", &input_mess);
  84.            
  85.             if (input_mess < MESSAGE_AMOUNT) {
  86.                 language = (enum Languages) input_lang;
  87.                 message = (enum Messages) input_mess;
  88.                 printf("MENSAJE OBTENIDO: %s\n", get_message(language, message) );
  89.             }
  90.         }
  91.     }
  92.  
  93.     return 0;
  94. }
Add Comment
Please, Sign In to add comment