[C++] multiplication table 만들기

장서영·2022년 9월 10일
0

운영체제

목록 보기
1/2

운영체제 첫 번째 과제는 '구구단 만들기'이다.

조건은 다음과 같다.

  • Write a program having the following functions
  • Print a multiplication table on the screen as follows
  • Get the max number of sub-tables with command line argument
  • Print 5 sub-tables in a row on the screen

실행 결과는 다음과 같아야 한다.


3일 걸렸다,,

해결하지 못 한 것!

  • cmd 창 띄어서 실행 시키기 + 숫자 입력
  • 5단씩 가로로 정렬해서 출력하기

여러 차례 시도해 본 것!

(일단 이거 가지고 계속 다듬어 보고 있다.)

1차 시도 ㅎㅅㅎ

2차 시도 ㅎㅅㅎ

3차 시도 ㅎㅅㅎ

뭐,, 실행 결과는 또 난리 난다,,

나름,,이리 저리 열심히 굴려봤다.
뭐가 부족한 걸까..!


드디어 완성했다!

실행결과도 제대로 나온다!!!

엉어어엉엉엉엉ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ


새롭게 알게 된 것!

C++ 공백 활용해 정렬하기 (https://blog.naver.com/thebaleuncoding/221922917364)

  • 데이터 고유 길이를 무시하고, 특정 길이의 간격을 주고 싶을 때 : width() & setw()를 사용한다.

  • width();

    • 지정하고자 하는 간격을 괄호 안 숫자로 입력
    • std::right → 오른쪽 정렬 / std::left → 왼쪽 정렬
    • width()는 기본적으로 오른쪽 정렬이 되므로, std::right 생략 가능
  • setw();

    • #include < iomanip > 추가
    • cout.setf(ios::right) → 오른쪽 정렬 / cout.setf(ios::left) → 왼쪽 정렬
    • 기본적으로 오른쪽 정렬
  • main 함수의 매개변수 : int argc, char argv (+ char* envp)

    • int argc : main 함수에 전달되는 데이터의 개수를 의미한다. → .exe도 포함
    • char* argv[] : main 함수에 전달되는 실제적인 데이터로 char형 포인터 배열로 구성되어 있다. 첫 번째 문자열은 프로그램의 실행경로이다.
    • char* envp : 환경변수..!

👏 회고 of 첫 번째 과제

  • 우선 시간이 오래 걸린 이유를 나름 파악해 보자면
    • 내 머릿속 도면을 가지고, 무작정 코드 작성부터 시작했다.
    • 집중할 시간을 정하지 않았다.
    • 열심히 구글링해 보지 않고, 검은창만 계속 들여다 봤다.
    • 고정된 틀에서 쉽게 벗어나지 못 한 거?
  • 다음 과제 때는
    • 간단히 알고리즘을 그려보고 시작하자..!
    • 온전히 몰입할 시간을 정해보자..!
    • 답이 아닌, 막히는 지점을 뚫는 방법을 부지런히 구글링하자..!
    • 밥=코딩이라고 생각하자,,엄청 소중하다,,ㅎㅅㅎ
profile
하루살이 개발자

0개의 댓글