E D R , A S I H C RSS

Medusa Cpp Study

03 C++ 스터디

남보다 먼저와서 남보다 늦게 간다는 마음 가짐으로...

참가자: , 강석우, 윤세람, 강희경, 김신애

모임 장소: 7피
모임 시간: 월 ~ 금요일 오후 5시 + 중간 중간 렌덤으로...


교제 주문 해서 오기 전까지 몇일간은 재동의 책으로 챕터 3 까지 진행합니다.

교제 도착했습니다. 빠른 시일 내에 배달해드리겠습니다.

스터디 소스 코드

AcceleratedC++/Chapter0 - 7월 22일
AcceleratedC++/Chapter1 - 7월 23일
AcceleratedC++/Chapter2 - 7월 24일
AcceleratedC++/Chapter3 - 7월 29일
AcceleratedC++/Chapter4 - 8월 7일(#1), 8월 14일(#2)

숙제


~cpp 
사각형 - 가로, 세로 입력, '*' 로 체우기
삼각형 - 가로, 세로 입력, '*' 로 체우기

정삼각형
~cpp 
>> 3
  *
 * *
* * *

>> 5
    *
   * *
  *   *
 *     *
* * * * *

정사각형
~cpp 
>> 3
* * *
*   *
* * *

>> 5
* * * * *
*       *
*       *
*       *
* * * * *

여러 정수 값을 읽어 들여 그 중에 최대 가장 큰 네 개의 값들을 출력
~cpp 
>> 5 3 2 9 10 4
4 5 9 10

>> 5 3 2
2 3 5

입력에서 가장 긴 string의 길이와 가장 짧은 string의 길이를 출력하는 프로그램 (";" 을 만났을 때 문자열 종료)
~cpp 
>> I am a boy ;
3, 1

>> Hello world ;
5, 5

마방진, 렌덤워크
참고 자료 ( 2차원 벡터 설정)
~cpp 
#include <iostream>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::vector;

int main()
{
	// 2차원 벡터 설정
	int size = 5; // size가 5라면...
	vector< vector<int> > board(size);
	for(int i = 0; i < size; i++)
		board[i].resize(size);

	// 출력
	for(int r = 0; r < size; r++)
	{
		for(int c = 0; c < size; c++)
		{
			cout << board[r][c] << "\t";
		}
		cout << endl;
	}

    return 0;
}
참고 자료2 (렌덤 숫자 만들기)
~cpp 
#include <iostream>
#include <ctime>

using namespace std;

int main()
{
	srand((unsigned)time(NULL));
	int a = rand() % 10; // 0부터 9까지 수가 렌덤하게 나옴
	
	return 0;
}

장문에서 단어의 빈도수를 세서 출력한다. 이때 알파벳순으로 출력. (";" 을 만났을 때 문자열 종료)
~cpp 
>> I am a boy. You are a girl. We are happy. ;

a 2
am 1
are 2
boy 1
girl 1
happy 1
i 1
we 1
you 1

total words: 9

자판기(Vending Machine)
첫번째 요구사항
~cpp 
명령어
- put {50, 100, 500, 1000} - 돈을 넣다.
- choose {sprite, tea, tejava} - 음료수 선택하다.
- draw - 돈을 빼다.
- exit - 자판기를 떠난다 (프로그램 종료)

가격
sprite: 400
tea: 500
tejava: 500
~cpp 
>> put 100
money: 100

>> put 500
money: 600

>> choose sprite
come out sprite!
money: 200

>> draw
chage: 200

>> exit

두번째 요구사항
~cpp 
- 이상한 돈 안됨
- 이상한 명령어 안됨
- 음료수가 수량(초기에는 모두 3개)을 가지고 다 떨어지면 품절 출력
~cpp 
>> address
incorrect command!

>> put 1000
money: 1000

>> put 1000
money: 2000

>> put 123
incorrect money!

>> choose sprite
come out sprite! rest amount: 2
money: 1600

>> choose sprite
come out sprite! rest amount: 1
money: 1200

>> choose sprite
come out sprite! rest amount: 0
money: 800

>> choose sprite
run out of sprite!
money: 800

세번째 요구사항
~cpp 
- 음료수 milk (600원) 추가
- 음료수 tea, milk만 {hot, cold} 선택
- 모든 함수 30 라인 이내
~cpp 
>> put 1000
money: 1000

>> choose hot milk
come out hot milk! rest amount: 2
money: 400


스레드

삼각형 그리는데 약간 문제가 있는거 같은데요..
밑변보다 높이가 길면 '*'를 찍기가 곤란하거든요? 이등변삼각형 그리기도 마찬가지 이유로 만만찮네여..-_-;;
그냥 직각이등변삼각형이나 정삼각형그리기 하면 어떨까여? --강석우
정삼각형 해도 되고... 뭘 만들어도 되고... 내가 원하는 건 for나 while, if 설계를 잘하는 거야... --재동

Accelerated C++ 책 집에 도착했다. :) --재동

헛 숙제 어디간겨,,,,,ㅡㅡ --강희경


애초에 숫자 4개 미만입력 받을때를 생각 못했더니만 소스가 구리구리하네여..
스트링 길이 출력하는 프로그램은 차후에 이어서 할 계획입니다..ㅡ,.ㅡ;; --강석우

사각형 짰는데요..뭐가 틀린건지 모르겠어요..1개의 에러가 자꾸 뜨는데..

~cpp 
else (c % 2 == 0) 
   cout << " ";
이부분에서 else 다음에 조건문을 또 달려면 else if로 바꾸어 줘야지... 밑에처럼...
~cpp 
else if (c % 2 == 0) 
   cout << " ";
이렇게 하면 에러는 없지만 결과가 아직은 이상하다. 우선은 스스로 고쳐봐. --재동

영어의 사이즈를 읽도록 어떻게 만들어요?예를 들어 i가 1이고,son이 3이라고 생각하도록 어떻게 만들어야하는지 모르겠어요.. -_-;;;
strlen()함수 이용하시오 --강희경

Vending machine 다 짜긴 짰는데 또 형이 짠거랑 비슷하게 됐네여..이놈의 기억력이란..ㅎㅎ
총 159라인이고 choose함수가 30라인이 넘어서 어거지로 vend함수를 만들었구여..-_-;;
안파는 음료수도 예외처리 했습니다..--강석우


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:45
Processing time 0.0449 sec