turn-in directory : ex00/
files to turn in : Makefile, megaphone.cpp
forbidden functions : none
모두가 깨어있는지 확인하기 위해서 다음과 같은 행동을 하는 프로그램을 만들어라.
$>./megaphone "shhhhh... I think the students are asleep..."
SHHHHH... I THINK THE STUDENTS ARE ASLEEP...
$>./megaphone Damnit " ! " "Sorry students, I thought this thing was off."
DAMNIT ! SORRY STUDENTS, I THOUGHT THIS THING WAS OFF.
$>./megaphone
* LOUD AND UNBEARABLE FEEDBACK NOISE *
$>
이 과제가 원하는 요구사항은 결국 인자로 주어진 문자를 모두 대문자로 바꿔서 출력해라는 말이다.
c++에 있는 입출력을 위한 헤더 파일.
cin, cout을 사용하기 위해 필요하다.
int main()
{
char *name = "mijeong";
std::cout << "hello" << name << "\n"; // \n는 버퍼를 비우지 않는다.
std::cout << std::endl; // std::endl;은 버퍼를 비운다. 하지만 속도가 \n에 비해 느리다.
return (0);
}
turn-in directory : ex01/
files to turn in : Makefile, .cpp, .{h, hpp}
forbidden functions : none
80년대, 그리고 그 때의 엄청난 기술에 온걸 환영한다. 형편없는 것 같이 동작하는 멋진 전화번호부 소프트웨어를 만들어라. 시간을 들여서 실행가능한 연관된 이름을 지어라. 프로그램이 시작했을 때 사용자는 prompted에서 인풋값을 넣는다. 당신은 ADD, SEARCH, EXIT 명령을 수용하고 나머지 인풋은 거절한다.
프로그램은 시작할 때에 비어 있지만 동적할당을 사용하지 않는다. 그리고 저장 contacts의 수가 8개를 초과하지 않는다. 만약 9번째 contact가 추가되었을 때는 적절한 행동을 정의해라.
명령이 정상적으로 실행되면 프로그램은 또 다른 명령이 들어오기를 기다려야한다.
클래스를 구현하고 클래스를 잘 다루는것을 목표로 하는 과제라고 생각한다.
크게 어려운 부분은 없다고 생각한다. stdcmp를 사용하는것을 고려했으나 std::string이라는 변수를 사용가능 하기 때문에 활용하기로 했다.
std::cin << number
number가 int인데 문자를 입력하면 에러가 뜬다. 이를 해결하기 위해 아래와 같은 코드를 넣어줬다. 참고
if (std::cin.fail()) // 실패한 상황을 캐치하고
{
std::cin.clear(); // 에러상태 취소
std::cin.ignore(); // 입력버퍼에 남아있는 값들 지우기.
}