View difference between Paste ID: C1W71K83 and aziuAwqV
SHOW: | | - or go back to the newest paste.
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];
22+
	static const char** message_matrix[LANGUAGE_AMOUNT];
23-
	const char* eng_messages[MESSAGE_AMOUNT];
23+
	static const char* eng_messages[MESSAGE_AMOUNT];
24-
	const char* spa_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-
	
36+
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-
	
50+
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
}