版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-.z.-----總結(jié)資料C++程序設(shè)計(jì)報(bào)告C++程序設(shè)計(jì)報(bào)告——基于命令Win32命令行應(yīng)用程序的簡(jiǎn)易日程管理系統(tǒng)*益
C++語(yǔ)言程序設(shè)計(jì)
教師:黃鵬宇作者日程管理就是將每天的工作和事務(wù)安排在日期中,并做一個(gè)有效的記錄,方便管理日常的工作和事務(wù),到達(dá)工作備忘的目的。同時(shí)也具有對(duì)員工日常工作進(jìn)展指導(dǎo)、監(jiān)視的作用。電子版的日程管理通常具有定時(shí)提醒和共享等功能。通過(guò)學(xué)習(xí)C++課程以及面向?qū)ο蟮某绦蛟O(shè)計(jì),我發(fā)現(xiàn)日程管理中所需的日期、時(shí)間、記錄等都可以抽象成類,并可以利用函數(shù)實(shí)現(xiàn)簡(jiǎn)單的添加、查詢功能。由于能力的限制,本次"簡(jiǎn)易日程管理系統(tǒng)〞的設(shè)計(jì)依舊基于Win32命令行應(yīng)用程序〔MFC好難啃……〕,主要實(shí)現(xiàn)的功能有:輸入日程;查詢?nèi)咳粘?;查詢單條日程;修改時(shí)間。包括流程圖、類關(guān)系圖、文件關(guān)系圖。1、流程圖2、類關(guān)系圖包含于包含于包含于包含于3、文件關(guān)系圖SimpleScheduleSystem.cpp#include"stdaf*.h"#include<iostream>#include<fstream>#include"record.h"usingnamespacestd;voidmenue();voidaddRecord();voidgetRecord();voidchangeToday();voidgetRecordAll();ofstreamfout(RECORDPATH);Datetoday(2014,12,25);intmain(){while(true){menue();intn;cin>>n;switch(n){case1:{cout<<"\n"<<endl;addRecord();cout<<"\n"<<endl;break;}case2:{cout<<"\n"<<endl;getRecordAll();cout<<"\n"<<endl;break;}case3:{cout<<"\n"<<endl;changeToday();cout<<"\n"<<endl;break;}case4:{cout<<"\n"<<endl;getRecord();cout<<"\n"<<endl;break;}case0:{return0;}default:{cout<<"\n"<<endl;cout<<"輸入錯(cuò)誤"<<endl;cout<<"\n"<<endl;break;}}cout<<"按任意鍵繼續(xù)";getchar();getchar();fout.close();}return0;}voidmenue(){cout<<"**************************************************************"<<endl;cout<<"|************************************************************|"<<endl;cout<<"||"<<endl;cout<<"|簡(jiǎn)易日程管理系統(tǒng)|"<<endl;cout<<"||"<<endl;cout<<"|1:輸入日程|"<<endl;cout<<"||"<<endl;cout<<"|2:全部日程|"<<endl;cout<<"||"<<endl;cout<<"|3:修改當(dāng)前日期|"<<endl;cout<<"||"<<endl;cout<<"|4:查詢?nèi)粘蘾"<<endl;cout<<"||"<<endl;cout<<"|0:退出|"<<endl;cout<<"||"<<endl;cout<<"||"<<endl;cout<<"|************************************************************|"<<endl;cout<<"**************************************************************"<<endl;cout<<""<<endl;cout<<"今天是"<<today.getDate()<<endl;cout<<""<<endl;cout<<""<<endl;cout<<"請(qǐng)選擇:"<<endl;cout<<""<<endl;}voidaddRecord(){stringdate,s_time,e_time,content;charch;intn;cout<<"****************************************************************"<<endl;cout<<"*************************輸入日程*******************************"<<endl;cout<<"****************************************************************"<<endl;cout<<"需輸入的記錄數(shù):"<<endl;cin>>n;for(inti=n;i>0;i--){cout<<"請(qǐng)輸入日期〔格式為****/**/**〕:"<<endl;cin>>date;cout<<"請(qǐng)輸入開(kāi)場(chǎng)時(shí)間〔格式為**:**〕:"<<endl;cin>>s_time;cout<<"請(qǐng)輸入完畢時(shí)間〔格式為**:**〕:"<<endl;cin>>e_time;cout<<"請(qǐng)輸入事件內(nèi)容:"<<endl;cin>>content;Recordrec(date,s_time,e_time,content);cout<<"****************************************************************"<<endl;cout<<rec.getRecord()<<endl;today.earlyDate(rec.getDate());cout<<"****************************************************************"<<endl;cout<<"是否確認(rèn)?〔y/n):"<<endl;cin>>ch;if(ch=='y'){fout<<rec.getRecord()<<endl;cout<<"*************************輸入成功*******************************"<<'\n'<<endl;}elsei++;// rec.~Record();}}voidgetRecord(){stringdate_s;boolisFind=false;cout<<"****************************************************************"<<endl;cout<<"*************************查詢?nèi)粘?******************************"<<endl;cout<<"****************************************************************"<<endl;cout<<"請(qǐng)輸入日期〔格式為****/**/**〕:"<<endl;cin>>date_s;cout<<"**************************************************************"<<endl;Datedate(date_s);ifstreamfin(RECORDPATH);for(stringstr;getline(fin,str);){inty,m,d;charch;istringstreamsin(str);sin>>y;sin>>ch;sin>>m;sin>>ch;sin>>d;if(date.getYear()==y&&date.getMonth()==m&&date.getDay()==d){cout<<str<<endl;today.earlyDate(date);isFind=true;}}if(!isFind)cout<<"沒(méi)有記錄"<<endl;cout<<"**************************************************************"<<endl;}voidgetRecordAll(){cout<<"****************************************************************"<<endl;cout<<"*************************全部日程*******************************"<<endl;cout<<"****************************************************************"<<endl;ifstreamfin(RECORDPATH);for(stringstr;getline(fin,str);){cout<<str<<endl;cout<<"**************************************************************"<<endl;}}voidchangeToday(){stringdate;cout<<"請(qǐng)輸入日期〔格式為****/**/**〕:"<<endl;cin>>date;today.set(date);cout<<"*************************設(shè)置成功*******************************"<<endl;}myDate.h#ifndefMYDATE_H#defineMYDATE_H#include<iostream>#include<iomanip>#include<stdlib.h>usingnamespacestd;classDate{intyear,month,day;public:voidset(inty,intm,intd);voidset(strings);Date(){}Date(inty,intm,intd);Date(strings);intgetYear(){returnyear;}intgetMonth(){returnmonth;}intgetDay(){returnday;}stringgetDate();boolisLeapYear()const;boolisLate(Datedate);voidprint()const;voidaddDay(intn);intearlyDate(Datedate);};Date::Date(inty,intm,intd){year=y;month=m;day=d;}//------------------------------------------------Date::Date(strings){year=atoi(s.substr(0,4).c_str());month=atoi(s.substr(5,2).c_str());day=atoi(s.substr(8,2).c_str());}//------------------------------------------------voidDate::set(inty,intm,intd){year=y;month=m;day=d;}//------------------------------------------------voidDate::set(strings){year=atoi(s.substr(0,4).c_str());month=atoi(s.substr(5,2).c_str());day=atoi(s.substr(8,2).c_str());}//------------------------------------------------inlineboolDate::isLeapYear()const{return(year%4==0&&year%100!=0)||(year%400==0);}//------------------------------------------------inlinevoidDate::print()const{cout<<setfill('0');cout<<setw(4)<<year<<'/'<<setw(2)<<month<<'/'<<setw(2)<<day<<endl;cout<<setfill('');}//------------------------------------------------voidDate::addDay(intn){for(inti=n;i>0;i--){day++;switch(month){case4:;case6:;case9:;case11:if(day>30){day=1;month++;}break;case12:if(day>31){day=1;month=1;year++;}break;case2:if((isLeapYear()&&day>29)||day>28){day=1;month++;}break;default:if(day>31){day=1;month++;}break;}}}//------------------------------------------------stringDate::getDate(){stringstreamss;ss<<setw(4)<<setfill('0')<<year<<"/"<<setw(2)<<setfill('0')<<month<<"/"<<setw(2)<<setfill('0')<<day;stringstr=ss.str();// ss.~stringstream();returnstr;}boolDate::isLate(Datedate){if(year>date.year)returntrue;elseif(year==date.year){if(month>date.month)returntrue;elseif(month=date.month){if(day>date.day)returntrue;}}returnfalse;}intDate::earlyDate(Datedate){if(isLate(date)){cout<<"已過(guò)期"<<endl;return-1;}else{inti=0;Dateda(year,month,day);for(;date.isLate(da);i++)da.addDay(1);cout<<"距今還有"<<i<<"天"<<endl;}}#endifmyTIME.h#ifndefMYTIME_H#defineMYTIME_H#include<iostream>#include<iomanip>#include<stdlib.h>usingnamespacestd;classTime{inthour,minute;public:Time(){}Time(inth,intm);Time(strings);voidset(inth,intm);voidset(strings);voidprint()const;stringgetTime();};Time::Time(inth,intm){hour=h;minute=m;}//------------------------------------------------Time::Time(strings){hour=atoi(s.substr(0,2).c_str());minute=atoi(s.substr(3,2).c_str());}//------------------------------------------------voidTime::set(inth,intm){hour=h;minute=m;}//------------------------------------------------voidTime::set(strings){hour=atoi(s.substr(0,2).c_str());minute=atoi(s.substr(3,2).c_str());}//------------------------------------------------inlinevoidTime::print()const{cout<<setfill('0');cout<<setw(2)<<hour<<':'<<setw(2)<<minute;cout<<setfill('');}//------------------------------------------------stringTime::getTime(){stringstreamss;ss<<setw(2)<<setfill('0')<<hour<<":"<<setw(2)<<setfill('0')<<minute;stringstr=ss.str();// ss.~stringstream();returnstr;}//------------------------------------------------#endifReCord.h#ifndefRECORD_H#defineRECORD_H#include<iostream>#include<iomanip>#include<stdlib.h>#include<string>#include<sstream>#include"myDate.h"#include"myTime.h"#defineRECORDPATH"record.t*t"usi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 批量購(gòu)車協(xié)議模板
- 架子工勞務(wù)分包合同
- 房屋買賣合同范本官方版
- 分期付款購(gòu)房的流程及條件
- 公共衛(wèi)生潔具招標(biāo)采購(gòu)指南
- 改過(guò)自新我承諾不再勒索
- 定金協(xié)議合同范例分析
- 專項(xiàng)法律咨詢
- 實(shí)驗(yàn)室大型設(shè)備采購(gòu)合同
- 油漆工程施工合同書
- 大單品戰(zhàn)略規(guī)劃
- 《有效溝通技巧》課件
- 2023年北京語(yǔ)言大學(xué)新編長(zhǎng)聘人員招聘考試真題
- 食品安全教育培訓(xùn)
- 管道保溫施工方案
- 工藝工程師招聘筆試題與參考答案(某大型集團(tuán)公司)
- 商務(wù)禮儀(通識(shí)課)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 智能工廠梯度培育要素條件
- 2024年人事科工作總結(jié)(五篇)
- 小班小主持課件
- 黑龍江省哈爾濱市2022-2023學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題(含答案)
評(píng)論
0/150
提交評(píng)論