Advertisement
Guest User

Untitled

a guest
May 25th, 2016
1,588
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.38 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <cstdlib>
  4. #include <fstream>
  5. #include <fstream>
  6.  
  7. using namespace std;
  8.  
  9. class DayofYear
  10. {
  11. int day;
  12. string month;
  13. public:
  14. DayofYear(ofstream &outfile)
  15. {
  16. cout << endl;
  17. cout << "Enter Day to Convert to Date:" << endl;
  18. cin >> day;
  19.  
  20. convertDay(outfile);
  21. }
  22.  
  23.  
  24.  
  25. void setDay(int);
  26. void setMonth(string);
  27. string getMonth() const;
  28. int getDay() const;
  29. void monthOverload(int, string);
  30.  
  31.  
  32. DayofYear &operator++();
  33. DayofYear operator++(int);
  34. DayofYear &operator--();
  35. DayofYear operator--(int);
  36.  
  37.  
  38. void convertDay(ofstream&);
  39. };
  40.  
  41. void DayofYear::monthOverload(int d, string m)
  42. {
  43.  
  44. if(m == "January")
  45. {
  46. if(d >= 31)
  47. {
  48. month = "February";
  49. day=1;
  50. }
  51. else
  52. if(d==0)
  53. {
  54. month="December";
  55. day=31;
  56. }
  57. else
  58. return;
  59. }
  60. else
  61. if(m == "February")
  62. {
  63. if(d >= 28)
  64. {
  65. month= "March";
  66. day = 1;
  67. }
  68. else
  69. if(d==0)
  70. {
  71. month="January";
  72. day=31;
  73. }
  74. else
  75. return;
  76. }
  77.  
  78. else
  79. if(m == "March")
  80. {
  81. if (d >= 31)
  82. {
  83. month = "April";
  84. day = 1;
  85. }
  86. else
  87. if(d==0)
  88. {
  89. month="February";
  90. day=28;
  91. }
  92. else
  93. return;
  94. }
  95.  
  96.  
  97. else
  98. if(m == "April")
  99. {
  100. if(d >= 30)
  101. {
  102. month = "May";
  103. day = 1;
  104. }
  105. else
  106. if(d==0)
  107. {
  108. month = "March";
  109. day = 31;
  110. }
  111. else
  112. return;
  113. }
  114. else
  115. if(m == "May")
  116. {
  117. if(d >= 31)
  118. {
  119. month="June";
  120. day =1;
  121. }
  122. else
  123. if(d==0)
  124. {
  125. month="April";
  126. day = 30;
  127. }
  128. else
  129. return;
  130. }
  131. else
  132. if(m == "June")
  133. {
  134. if(d >= 30)
  135. {
  136. month="July";
  137. day =1;
  138. }
  139. else
  140. if(day==0)
  141. {
  142. month = "May";
  143. day = 31;
  144. }
  145. else
  146. return;
  147. }
  148. else
  149. if(m == "July")
  150. {
  151. if(d >= 31)
  152. {
  153. month = "August";
  154. day = 1;
  155. }
  156. else
  157. if(day==0)
  158. {
  159. month="June";
  160. day=30;
  161. }
  162. else
  163. return;
  164. }
  165. else
  166. if(m == "August")
  167. {
  168. if(d >= 31)
  169. {
  170. month = "September";
  171. day = 1;
  172. }
  173. if(d==0)
  174. {
  175. month="July";
  176. day=31;
  177.  
  178. }
  179. else
  180. return;
  181. }
  182. else
  183. if(m == "September")
  184. {
  185. if (d >= 30)
  186. {
  187. month = "October";
  188. day =1;
  189. }
  190. else
  191. if(day==0)
  192. {
  193. month="August";
  194. day= 31;
  195. }
  196. else
  197. return;
  198. }
  199. else
  200. if(m == "October")
  201. {
  202. if(d >= 31)
  203. {
  204. month = "November";
  205. day =1;
  206. }
  207.  
  208. else
  209. if(d==0)
  210. {
  211. month="September";
  212. day=30;
  213. }
  214. else
  215. return;
  216. }
  217. else
  218. if(m == "November")
  219. {
  220. if(d >= 30)
  221. {
  222. month= "December";
  223. day =1;
  224. }
  225. else
  226. if(day==0)
  227. {
  228. month="October";
  229. day= 31;
  230. }
  231. else
  232. return;
  233. }
  234. else
  235. if(m == "December" )
  236. {
  237. if(d >= 31)
  238. {
  239. month = "January";
  240. day =1;
  241. }
  242. else
  243. if(day==0)
  244. {
  245. month="November";
  246. day=30;
  247. }
  248. else
  249. return;
  250. }
  251. else
  252. return;
  253. }
  254.  
  255. DayofYear& DayofYear::operator++()
  256. {
  257.  
  258. this->day++;
  259. monthOverload(day, month);
  260.  
  261. return *this;
  262. }
  263.  
  264. DayofYear DayofYear::operator++(int)
  265. {
  266.  
  267. operator++();
  268.  
  269.  
  270.  
  271. return *this;
  272. }
  273.  
  274. DayofYear& DayofYear::operator--()
  275. {
  276. this->day--;
  277. monthOverload(day, month);
  278. return *this;
  279. }
  280.  
  281. DayofYear DayofYear::operator--(int)
  282. {
  283.  
  284. operator--();
  285.  
  286.  
  287. return *this;
  288. }
  289.  
  290. void DayofYear::setDay(int d)
  291. {
  292. day = d;
  293. return;
  294. }
  295.  
  296. void DayofYear::setMonth(string m)
  297. {
  298. month = m;
  299. return;
  300. }
  301.  
  302. string DayofYear::getMonth() const
  303. {
  304. return month;
  305. }
  306.  
  307. int DayofYear::getDay() const
  308. {
  309. return day;
  310. }
  311.  
  312. void DayofYear::convertDay(ofstream &outfile)
  313. {
  314. if(day > 1 && day <= 31)
  315. {
  316. month="January";
  317. outfile << month << " " << day << endl;
  318. }
  319. else
  320. if(day >31 && day<=59)
  321. {
  322. month="February";
  323. outfile << month << " " << day-31 << endl;
  324. }
  325. else
  326. if(day > 59 && day <= 90)
  327. {
  328. month="March";
  329. outfile << month << " " << day -59 << endl;
  330. }
  331. else
  332. if(day > 90 && day <= 120)
  333. {
  334. month = "April";
  335. outfile << month << " " << day- 90 << endl;
  336. }
  337. else
  338. if(day > 120 && day <= 151)
  339. {
  340. month ="May";
  341. outfile << month << " " << day- 120 << endl;
  342. }
  343. else
  344. if(day > 151 && day <= 181)
  345. {
  346. month ="June";
  347. outfile << month << " " << day - 151 << endl;
  348. }
  349. else
  350. if(day > 181 && day <= 212)
  351. {
  352. month = "July";
  353. outfile << month << " " << day- 181<< endl;
  354. }
  355. else
  356. if(day > 212 && day <= 243)
  357. {
  358. month = "August";
  359. outfile << month << " " << day- 212<< endl;
  360. }
  361. else
  362. if(day > 243 && day <= 273)
  363. {
  364. month="September";
  365. outfile << month << " " << day- 243<< endl;
  366. }
  367. else
  368. if(day > 273 && day <= 304)
  369. {
  370. month = "October";
  371. outfile << month << " " << day- 273<< endl;
  372. }
  373. else
  374. if(day > 304 && day <= 334)
  375. {
  376. month = "November";
  377. outfile << month << " " << day- 304<< endl;
  378. }
  379. else
  380. if(day > 334 && day<= 365)
  381. {
  382. month="December";
  383. outfile << month << " " << day-334<< endl;
  384. }
  385. else
  386. {
  387. outfile << "Entry does not correspond to Month and Day" << endl;
  388. }
  389.  
  390. return;
  391. }
  392.  
  393.  
  394.  
  395. int main()
  396. {
  397. ofstream outfile("c:\\USERS\\student\\desktop\\outfile.txt");
  398. DayofYear dayYear(outfile);
  399. int d;
  400. string m;
  401.  
  402. dayYear= DayofYear(outfile);
  403.  
  404.  
  405. cout << "Enter:" << endl;
  406. cout << "month: " ;
  407. cin >> m;
  408. cout << "day: " ;
  409. cin >> d;
  410. cout << endl;
  411.  
  412.  
  413. dayYear.setDay(d);
  414. dayYear.setMonth(m);
  415.  
  416. outfile << endl;
  417.  
  418. outfile << "Before Overloading" << endl;
  419. outfile << dayYear.getMonth() << " " << dayYear.getDay() << endl;
  420.  
  421. dayYear++;
  422.  
  423.  
  424.  
  425. outfile << endl;
  426. outfile<< "After Overloading Operator++" << endl;
  427. outfile<< dayYear.getMonth() << " " << dayYear.getDay() << endl;
  428.  
  429. dayYear--;
  430.  
  431.  
  432.  
  433. outfile << endl;
  434. outfile << "After Overloading Operator--" << endl;
  435. outfile << dayYear.getMonth() << " " << dayYear.getDay() << endl;
  436.  
  437.  
  438. return 0;
  439. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement