나는 모르스를 텍스트로, 그리고 그 반대로 번역하는 코드를 작성했다. 그러나, 나는 그들을 더 간단한 기능으로 만드는 데 어려움을 겪고있다. 코드를 두 개의 소스 코드 파일 (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;
}
코드를 복사하여 여기에 붙여 넣으십시오. 외부 링크에 코드를 게시하는 것은 허용되지 않습니다. 링크가 썩어지면 –
매개 변수 "input"이 "char *"로 캐스팅되어야하는 문자열입니다. void 함수에서 0을 반환하는 이유는 컴파일러에서 경고를 생성해야합니다. –