Graduation is an important life event that you want to look your best for. When choosing a graduation dress, order it a few weeks in advance to ensure proper fitting, plan your budget for the dress and accessories, and search online or in magazines for style ideas. Consider similar dresses in stores but order online to save money. Bring the dress when choosing matching accessories, and keep your style choice secret until the big day to surprise others. Be sure the dress is not too tight, revealing, or inappropriate for the formal occasion.
Graduation is an important life event that you want to look your best for. When choosing a graduation dress, order it a few weeks in advance to ensure proper fitting, plan your budget for the dress and accessories, and search online or in magazines for style ideas. Consider similar dresses in stores but order online to save money. Bring the dress when choosing matching accessories, and keep your style choice secret until the big day to surprise others. Be sure the dress is not too tight, revealing, or inappropriate for the formal occasion.
The document summarizes a tiger team project for an exercise management application. The team includes four members and their project manager. The project overview introduces the Android-based app that uses GPS, Google Maps and SQLite to help users plan exercises by providing consumed calories and time. Technical issues addressed working with GPS and using SQLite for the database. Design considerations covered using Agile and Waterfall methods, the development schedule, and plans to improve the app by adding distance tracking, more maintainable code, a network database, and saving map images.
The document summarizes a tiger team project for an exercise management application. The team includes four members and their project manager. The project overview introduces the Android-based app that uses GPS, Google Maps and SQLite to help users plan exercises by providing consumed calories and time. Technical issues addressed working with GPS and using SQLite for the database. Design considerations covered using Agile and Waterfall methods, the development schedule, and plans to improve the app by adding distance tracking, more maintainable code, a network database, and saving map images.
1. 제출일: 2011년 12월 5일
담당교수: 김 호 준
C++ Programming
1분반
C++ Final Term Project
- 소그룹 팀 배정 프로그램 -
20800577
장 호 상
팀원 : 05 김영환 07 정희준
2. 1. Objective
36명으로 구성된 팀을 6개의 소그룹으로 배정하는 작업을 자동화 하는 프로그램을
구현한다. 이때 특정 기준에 의해 팀원들의 다양성을 최대한 고려해서 배정하도록 한다.
2. Algorithm
목록을 무작위로 썩어 각 소그룹 별로 팀 구성에 따른 평가를 실시한다. 모든 소그
룹이 특정 기준치 이상이 되면 썩는 것을 멈추고 출력하고, 그렇지 않으면 계속 썩기를 반
복한다.
3. More details
① member class
C++의 핵심기능
OOP의 기본 단위라고 할 수 있는 Class 구현
C++의 operator oveloading 구현
C++의 manipulator를 이용해 output
format을 설정 하였다.
3. ② 전체 팀원
③ 특정 소그룹 팀원
④ 팀 배정
suffle() 함수는 member를 썩기 위한 함수이다.
이 함수에서는 30까지의 숫자 중 난수를 출력한다. 이
난수를 list array의 index로 사용하여, relist[0]에서
relist[29]까지 차례대로 복사하는 방식을 사용하였다.
다 썩고 난 뒤에는 relist의 팀 정보를 수정해 준다.
여기서 사용한 GetTickCount() 함수는 기존에 seed를
time(null)을 사용하던 것보다 좀 더 작은 단위의 시간
을 사용함으로서 한번 실행된 프로그램 안에서도 다른
수를 출력하기 위해 사용한 함수이다.
isNew 함수는 비복원 난수를 추출하기 위해 기존에 발
생한 수인지 아닌지 판단해주는 함수이다.
4. 모든 팀의 점수가 2점 이상이면 true를 return, 2점 이하이면 false를 return. 즉 2가지 항
목 이상을 만족해야한다. 특별히 직전 팀이 모두 다른 경우는 드문 경우이므로 2점을 준다.
따라서 직전 팀이 모두 다른 경우는 다른 조건을 만족하지 않아도 2점으로 통과점수이다.
evaluation은 각 소그룹에 구성에 따라
점수를 매겨주는 함수다.
기준 1. 남녀수의 차이가 1이하이면 +1점
기준 2. 이과생 수와 문과생 수의 차이가 1이하이면 +1점
기준 3. 11학번과 10학번이 2명 이상이면 +1점
기준 4. 직전 팀이 다 다른 경우에 +2점
evaluation을 통해 각 팀의 점수를 매기
고 이 점수를 가지고 다시 썩을지 아니면
배정을 완료할지 정하는 함수이다.
5. 말 그대로 팀 만들기 함수이다. suffle 함수를 통해 멤버를 썩으면서 모두 합격점 이상이 되
면 그 때 만들어진 팀을 최종 팀으로 결정한다. 팀 배정이 끝나면 before 팀에 현재 팀을
복사하고, relist의 값을 다시 list에 복사해주면 팀 배정이 모두 종료된다.
4. Result
위의 실행결과를 보면 알겠지만, 프로그램은 성공적으로 돌아간다. 다만 조금 무식한 방법
이 아닌가 생각해본다. 특히 운에 따라 더 빨리 배정이 끝 날 수도 있다. 또 컴퓨터 성능에
따라 조금 배정이 늦게 끝날 수도 있다. 그래도 출력되는 팀원들의 구성을 보면, 정한 기준
에 맞게 배정은 잘 이루어지고 있다.