我编写了一个代码,用于将莫尔斯翻译成文本,反之亦然。但是,我很难将它们变成更简单的功能。我必须将代码提交到一个makefile中,我需要将我的代码分成两个源代码文件--morse.c和main.c-以及一个头文件morse.h。 makefile没有问题,只是我需要将m代码拆分成函数而不使用任何全局变量以便更清晰。
代码:https://onlinegdb.com/BJiDmG2A-
任何建议或指示都会非常感激。
刚才我尝试在函数中加入一小部分,但它不起作用
if (input[0] == '.' || input[0] == '-')
{ void MorseToText (input);
printf("%s", result);
} //go for morse to text conversion
void MorseToText (char input,char result)
{
// Morse to Text translation part
const char s[MATCH] = " ";
char *section;
int l;
int check = 0;
section = strtok (input, s);
do
{
for (l = 0; l < DATA; l++)
{
if (!strcmp (section, table[l].morse))
{
check = check + 1;
result = result + table[l].ascii; //printf ("%s", table[l].ascii);
}
}
if (check == 0)
{
printf ("Invalid Morse code!\n");
return 0;
}
section = strtok (NULL, s);
}while (section != NULL);
printf ("\n");
return 0;
}
答案 0 :(得分:0)
嗯,最好先编写函数,然后在代码“完成”后实现函数。
我会寻找一遍又一遍地完成单个任务的代码(例如,具有执行转换的函数,然后具有显示输出的函数。)
您可能对返回值感兴趣。这使您的函数可以与其他函数交互,而无需使用全局变量。