c++ 코드 프로그램? 터미널?

명령 프로토콜 프로그램? 같은 걸로 cpp 프로그램 실행 해서 확인 하던데…

평소에는 https://replit.com/
이곳에서 프로그램 짜서 재출 했거든요?

근데 이제
위에 같은 프로그램에서 ./a.out main.cpp 로 파일 실행 하던데
어떻게 하는지 도저히 이해가 안가네요.

도음 가능한가요?

#include
#include <string.h>
#include

using namespace std;

//structure defintion
struct WordCount
{
//two data members
char word[31];
int count;
};

//Function to convert string upper case
void stringToUpper(char s)
{
for(int i=0;s[i]!=’\0’;i++) //repeat until end of string char null
{
if(
(s+i)>=97 && *(s+i)<=122) //when lower case letter
(s+i)=(s+i)-32;//convert to upper case by subtraction of ascii with 32
}
}

//Function striping punctuation characters
void stripPunctuation(char *s)
{
int pos=0;
for (char *p = s; *p; ++p) //repeat all characters
if (isalpha(*p)) //when alphabet
s[pos++] = *p; //then concate to s
s[pos] = ‘\0’; //end with null
}

//Function search word
int searchForWord(const char* word, const WordCount wordArray[],int numWords)
{
for(int i=0;i<numWords;i++) //repeat loop
if(strcmp(wordArray[i].word,word)==0) //when matched
return i;//return its index
return -1;//return -1, when fails
}

//Function for counting words
int countWords(const char* fileName,WordCount wordArray[])
{
ifstream infile(fileName);//open file for reading
int count=0;//initially count is 0
char word[31];//take max length word
infile>>word;//read the word

while(!infile.eof()) //repeat until end of file
{
stringToUpper(word);//convert to upper case
stripPunctuation(word);//remove punctuation characters
int found=searchForWord(word, wordArray,count);//search word
if(found==-1) //when not found
{
strcpy(wordArray[count].word,word);//store as new word
wordArray[count].count=1;//first count is 1
count++;//increment count
}
else //when found
wordArray[found].count+=1;//increment existing count
infile>>word;//read the next words
}
infile.close();//close the file
return count;//finally return count

}

//Function to sort words
void sortWords(WordCount wordArray[],int numWords)
{
for(int i=0;i<numWords-1;i++) //outer loop
for(int j=0;j<numWords-i-1;j++) //inner loop
{
if(strcmp(wordArray[j].word,wordArray[j+1].word)==0) //compare
{
//swapping process
WordCount temp=wordArray[j];
wordArray[j]=wordArray[j+1];
wordArray[j+1]=temp;
}
}
}

//Function prints all words and their frequency
void printWords(const WordCount wordArray[],int numWords)
{
cout<<“Word\tFrequency”<<endl;
for(int i=0;i<numWords;i++) //repeat loop
{
cout<<wordArray[i].word<<"\t"<<wordArray[i].count<<endl;
}
}

//main with command line arguments
int main(int argc,char* argv[])
{
WordCount wordcount[200];//declare maximum 200 words
if(argc!=2) //when count of args are not 2
{
cout<<"\nUsage : assign1 [file-name]"<<endl;//print error message
return 1; //return error code 1
}
else //when passed exactly two args
{
int total=countWords(argv[1],wordcount);//read to array
printWords(wordcount,total);//call print function
}

return 0;
}

도움되시기 바랍니다

https://www.cyberciti.biz/faq/howto-compile-and-run-c-cplusplus-code-in-linux/

제가 알기론 gcc 또는 g++는 컴파일러고 g++ ./main.cpp는 g++로 main.cpp를 컴파일 하라는 뜻입니다.
g++ ./main.cpp -o ./main.out처럼 컴파일된 파일의 이름을 정해줄 수 있습니다.

리눅스 c++ 컴파일 및 실행 방법을 찾아보세요!
그리고 파일이 많아지면 makefile 같은 걸로 관리 할 수 있는데 이것까지 알아보시면 더 좋고요!
리눅스에서 cpp 파일이 어떻게 컴파일되는지 알게 되면 IDE에서 빌드를 눌렀을 때 무슨 일이 일어나는 지 알 수 있습니다!

감사합니다. 참고하고 다시 동부해 볼게요.
정말 감사합니다.