View difference between Paste ID: aziuAwqV and 83yjB0f4
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) {
20+
const char* get_message(enum Languages language, enum Messages message)
21
{
22-
	const char* messages[LANGUAGE_AMOUNT * MESSAGE_AMOUNT];
22+
	const char** message_matrix[LANGUAGE_AMOUNT];
23-
	int index;
23+
	const char* eng_messages[MESSAGE_AMOUNT];
24
	const char* spa_messages[MESSAGE_AMOUNT];
25
	/* The messages to print */
26
	/* English */
27-
	messages[0] = "HelloWorld";
27+
	eng_messages[0] = "HelloWorld";
28-
	messages[1] =  "OutOfMemory";
28+
	eng_messages[1] =  "OutOfMemory";
29-
	messages[2] = "FileNotFound";
29+
	eng_messages[2] = "FileNotFound";
30
	message_matrix[0] = eng_messages;
31-
	messages[3] = "HolaMundo";
31+
32-
	messages[4] = "MemoriaAgotada";
32+
	spa_messages[0] = "HolaMundo";
33-
	messages[5] = "ArchivoNoEncontrado";
33+
	spa_messages[1] = "MemoriaAgotada";
34
	spa_messages[2] = "ArchivoNoEncontrado";
35-
	index = language*MESSAGE_AMOUNT + message;
35+
	message_matrix[1] = spa_messages;
36
	
37-
	return messages[index];
37+
	return (message_matrix[language][message]);
38
}
39
40
int main (void) 
41-
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-
	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) {
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-
			if (input_mess < MESSAGE_AMOUNT) {
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
}