게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
텍스트 파일을 읽어서 날짜를 비교하는것좀 ㅜㅜ
게시물ID : jisik_134072짧은주소 복사하기
작성자 : 키큰사람
추천 : 0
조회수 : 227회
댓글수 : 0개
등록시간 : 2012/10/03 17:58:34

텍스트 파일에는 날짜들이 들어 있고요.

2012 2 22  //기준날짜

2012 2 25

2012 3 25  이런식으로요..

 

이걸 읽어서 두번쨰줄부터 기준날짜랑 비교해서 + 몇일 차이.. 혹은 - 몇일 차이 이런식으로 표현하는건데..

날짜를 증가시키는 함수랑 비교하는 함수좀 도와주시면 너무너무감사하겠습니다..

 

제가 짜본건데 간략하게 올려볼게요 ㅜㅜ

참 열거형을 사용하라고 소스를 올려준게 있습니다!

 

#include <iostream>
#include <fstream>

using namespace std;
enum RelationType {LESS, EQUAL, GREATER};

class DateType
{
public:
 DateType();


 int getYear() const;
 int getMonth() const;
 int getDay() const ;

 void setYear(int newYear);
 void setMonth(int newMonth);
 void setDay(int newDay);
 void setDate(int newYear, int newMonth, int newDay);
 RelationType compareTo(DateType newDate);
 void incrementDate(); // 현재의 날짜를 하나 증가
 long countDate(DateType newDate); // 현재의 날짜와 newDate와의 날짜를 계산

private:
 int year;
 int month;
 int day;
};

void DateType::setYear(int year)
{
 year=year;
}
void DateType::setMonth(int month)
{
 month=month;
}
void DateType::setDay(int day)
{
  day=day;
}
DateType::DateType()
{
 int year=0;
 int month =0;
 int day =0;
}
void DateType::setDate(int year_, int month_, int day_)
{
 year=year_;
 month= month_;
 day= day_;
}
int DateType::getYear() const
{
 return year;
}
int DateType::getMonth() const
{
 return month;
}
int DateType::getDay() const
{
 return day;
}
RelationType DateType::compareTo(DateType newDate)
{
 if (year < newDate.year)
  return LESS;
 else if (year > newDate.year)
  return GREATER;
 else if (month < newDate.month)
  return LESS;
 else if (month > newDate.month)
  return GREATER;
 else if (day < newDate.day)
  return LESS;
 else if (day > newDate.day)
  return GREATER;
 else
  return EQUAL;
}

void incrementDate();
// 현재의 날짜를 하나 증가

long countDate(DateType newDate);
// 현재의 날짜와 newDate와의 날짜를 계산

void getInputData(istream& infile, DateType d[], int& num);
void printData(istream& infile, DateType d[], int num);
void getline(istream& infile, int num);

int main()
{
 const int Data_num = 22;
 int count=0;


 fstream infile;
 infile.open("input.txt");

 DateType *DateTypes = new DateType[Data_num];

 
 getInputData(infile, DateTypes, count);
 printData(infile, DateTypes, count);
 infile.close();


 return 0;
 delete [] DateTypes;
 
}
void getInputData(istream & infile, DateType d[], int & num)
{
 int i=0;
 int year, month, day;
 while(!infile.eof())
 {
  infile >> year >> month >> day;
  d[i++].setDate(year, month, day);
  num++;
 }
}
void printData(istream& infile, DateType d[], int num)
{cout<<"input data" <<endl;
 for(int i=0; i<num; i++)
 {
  cout<<d[i].getYear() <<"\t"<< d[i].getMonth()<<"\t"<<d[i].getDay()<<endl;
 }cout<<endl<<endl;
}

열거형을 써서 하라는데 어떤식으로 함수를 호출할지 인자를 어떻게 전달할지 감이 안잡힙시다 도와주세요ㅜㅜ


전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호