C++ 프로그래밍, 제어문 ( Control Statements )
goto : 프로그램의 흐름을 프로그램 코드 상의 임의의 위치로 이동하게 한다
goto 라벨; 형식으로 사용되며 라벨은 프로그램 코드 상에서 start : 와 같이 반드시 라벨 뒤에 콜른( : )을 추가해서 표시한다. 다음은 goto 문장을 이용하여 반복문을 구현한 경우이며 1~10까지 합산하고 그 결과를 출력하는 예이다
#include <iostream> using namespace std; int main() { cout << "gogo 제어문의 예" << endl; int i = 0; int sum = 0; start: sum += ++i; if(i<10) goto start; cout << "1~10까지 합산결과:" << sum << endl; return 0; }
void exit ( int exitCode )
운영체제에 따라서는 프로그램 종료시에 종료코드(exitCode)를 필요로 하는 경우도 있다. 일반적으로 프로그램이 정상적으로 종료되는 경우에는 exit ( 0 ) 와 같이 0을 사용하고, 그 외의 경우에는 0이 아닌 다른 수를 사용한다.
다음 예제는 임의의 수를 추출하여 10인 경우에 exit() 를 이용하여 프로그램을 종료하는 예이다
#include <cstdlib> #include <iostream> #include <ctime> using namespace std; int main() { cout << "exit() 예" << endl; int i = 0; std::srand(time(NULL)); while(true) { i = rand() % 10 + 1; cout << i << " "; if(i==10) { cout << i << " 프로그램 종료..." << endl; exit(0); } } return 0; }
날짜를 출력하는 예 ( C언어의 헤더파일 이름 앞에 c 를 붙여서 사용한다. stdlib.h -> cstdlib, time.h -> ctime )
#include <cstdlib> #include <iostream> #include <ctime> using namespace std; int main() { cout << "날짜 구하기" << endl; struct tm* datetime; time_t t; t = time(NULL); datetime = localtime(&t); cout << datetime->tm_year + 1900 << " 년 "; cout << datetime->tm_mon + 1 << " 월 "; cout << datetime->tm_mday << " 일 "; cout << datetime->tm_wday << " 요일 "; cout << datetime->tm_hour << " 시 "; cout << datetime->tm_min << " 분 "; cout << datetime->tm_sec << " 초 "; return 0; }
switch 문장을 이용하여 숫자를 요일로 변환하는 예
#include <cstdlib> #include <iostream> #include <ctime> using namespace std; int main() { cout << "switch 문장의 예" << endl; struct tm* datetime; time_t t; t = time(NULL); datetime = localtime(&t); cout << datetime->tm_year + 1900 << " 년 "; cout << datetime->tm_mon + 1 << " 월 "; cout << datetime->tm_mday << " 일 "; cout << datetime->tm_wday << " 요일 "; cout << datetime->tm_hour << " 시 "; cout << datetime->tm_min << " 분 "; cout << datetime->tm_sec << " 초 "; string sWday; switch(datetime->tm_wday){ case 1: sWday = "월"; break; case 2: sWday = "화"; break; case 3: sWday = "수"; break; case 4: sWday = "목"; break; case 5: sWday = "금"; break; case 6: sWday = "토"; break; case 7: sWday = "일"; break; } cout << ", 오늘의 요일: " << sWday << "요일" << endl; return 0; }