Scientia Conditorium

[생활코딩] POCU 강의 동영상 시간 모두 더하기 본문

프로그래밍

[생활코딩] POCU 강의 동영상 시간 모두 더하기

크썸 2021. 12. 20. 00:04

21년 12월 19일 기준으로 POCU 강의는 티쳐블을 통해서 수강하고 있다.

티쳐블에서는 동영상 강의의 총 길이가 나오지 않기 때문에 이를 구해보려고 한다.

 

먼저 POCU Teachable 사이트에서 Ctrl + A 버튼으로 전체 선택을 한다.

 

모든 스트링을 복사

이 후 메모장에 붙여넣는다.

 

파일 이름을 "text.txt"로 저장한 후에 이를 여기에 적힌 동영상 길이를 모두 다 더해보려고 한다.

중요한 점은 'COMP2500' 에서 2500이라는 숫자라던가, 복습퀴즈 1,2,3,4 라던가, 모델링 1,2,3,4,5,6,7 과 같은 숫자들은 미리미리 삭제시켜 놓아야 한다.

내 경우, 먼저 메모장의 바꾸기(Ctrl + H) 버튼으로 모든 '(', ')', ':' 특수기호들을 없애버렸다.

 

자, 이제 POCU C++에서 배웠던 방법대로 파일을 열어서 숫자만 입력받는 코드를 작성해보자

 

#include <fstream>
#include <iostream>
#include <string>
using namespace std;

int main()
{
	int number = 0;
	int seconds = 0;
	int minutes = 0;
	bool bNext = true;
	string temp;
	ifstream file;
	file.open("test.txt");
	
	if (file.is_open())
	{
		while (true)
		{
			file >> number;
			if (!file.fail())
			{
				if (bNext)
				{
					minutes += number;
					bNext = false;
				}
				else
				{
					seconds += number;
					bNext = true;
				}
				continue;
			}

			if (file.eof())
			{
				break;
			}

			file.clear();
			file >> temp;
		}
	}
	cout << minutes << endl;
	cout << seconds << endl;
	file.close();


	return 0;
}

 

코드는 단순하다.

파일을 열어서 문자열이면 쓰레기 처리를 해버리고, 숫자면 그 값을 읽어온다.

읽어오는 건 공백까지이다.

맨 처음 읽어오는 시간이 '이 과목에서 사용하는 서비스 및 도구 6 44' 이므로 분이 먼저 나온다.

따라서 bool 형으로 분/초를 번갈아가면서 자장하게 하였다.

 

1684분 8183초

1684분 8183초 라는 결과가 출력되었다.

시간 계산기를 통해 몇시간 몇분인지 확인해보도록 하자

 

총 30시간 20분 23초 라고 한다.

이로써 동영상 총 길이를 알 수 있었다.

 

사실 이렇게 생활코딩 하지 않고 알 수 있는 방법이 있는데...

 

POCU를 팔고 있는 또 다른 사이트 유데미...

그렇다.

그냥 유데미에서 나와있는 총 길이를 보면 되는 것이다...

뭐 어찌되었던 총 길이가 똑같이 나왔다는건 내가 작성한 코드와 메모장에 적은 동영상 길이가 올바르다는 증거니...

 

이런 식으로 생활코딩을 할 수 있으니 기록 차원으로 남겨보았다.