== 03 C++ 스터디 == ''남보다 먼저와서 남보다 늦게 간다는 마음 가짐으로...'' 참가자: [재동], [강석우], 윤세람, 강희경, 김신애 모임 장소: 7피 모임 시간: 월 ~ 금요일 오후 5시 + 중간 중간 렌덤으로... 교제: [AcceleratedC++], Seminar:삼색볼펜초학습법 교제 주문 해서 오기 전까지 몇일간은 재동의 책으로 챕터 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 #include using std::cin; using std::cout; using std::endl; using std::vector; int main() { // 2차원 벡터 설정 int size = 5; // size가 5라면... vector< vector > 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 #include 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 }}} ---- [MedusaCppStudy/희경] [MedusaCppStudy/세람] [MedusaCppStudy/석우] [MedusaCppStudy/신애] [MedusaCppStudy/재동] == 스레드 == 삼각형 그리는데 약간 문제가 있는거 같은데요.. 밑변보다 높이가 길면 '*'를 찍기가 곤란하거든요? 이등변삼각형 그리기도 마찬가지 이유로 만만찮네여..-_-;; 그냥 직각이등변삼각형이나 정삼각형그리기 하면 어떨까여? --[강석우] 정삼각형 해도 되고... 뭘 만들어도 되고... 내가 원하는 건 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함수를 만들었구여..-_-;; 안파는 음료수도 예외처리 했습니다..--[강석우] ---- [프로젝트분류]