共包含一个.h文件,两个.cpp文件。
1.Todo.h文件存放Todo类的声明
一个Todo对象是todolist的一条待做事项。
#ifndef TODO_H
#define TODO_H
#include<bits/stdc++.h>
using namespace std;
class Todo
{
public:
Todo();
Todo(int alarm_time, bool cycle_alarm, int build_time, string content, bool if_done);
/*--------查看Todolist一项的内容-------*/
string show_content();
int show_alarm_time();
bool show_cycle_alarm();
int show_build_time();
bool show_if_done();
/*--------修改Todolist一项的内容-------*/
void modify_content(string content);
void modify_alarm_time(int alarm_time);
void modify_cycle_alarm(bool cycle_alarm);
//void modify_build_time(int build_time);
void modify_if_done(bool if_done);
/*--------不需要删除单个项的方法---------*/
private:
//提醒时间 (选填
int alarm_time; //随意设的类型
//是否周期性提醒(需要有创建时间)
bool cycle_alarm;
int build_time; //随意设置的类型
//内容 (必填
string content;
//是否完成
bool if_done;
};
#endif
2.Todo.cpp文件是类方法的实现。
具体就是对TodoList的某一项进行增删改查。
#include "Todo.h"
Todo::Todo(){
}
Todo::Todo(int alarm_time, bool cycle_alarm, int build_time, string content, bool if_done)
{
this->alarm_time=alarm_time;
this->cycle_alarm = cycle_alarm;
this->build_time=build_time;
this->content=content;
this->if_done=if_done;
}
/*--------查看Todolist一项的内容-------*/
string Todo::show_content(){
return this->content;
}
int Todo::show_alarm_time(){
return this->alarm_time;
}
bool Todo::show_cycle_alarm(){
return this->cycle_alarm;
}
int Todo::show_build_time(){
return this->build_time;
}
bool Todo::show_if_done(){
return this->if_done;
}
/*--------修改Todolist一项的内容-------*/
void Todo::modify_content(string content){
this->content=content;
}
void Todo::modify_alarm_time(int alarm_time){
this->alarm_time=alarm_time;
}
void Todo::modify_cycle_alarm(bool cycle_alarm){
this->cycle_alarm=cycle_alarm;
}
//void Todo::modify_build_time(int build_time){
// this->build_time=build_time;
//}
void Todo::modify_if_done(bool if_done){
this->if_done=if_done;
}
/*--------不需要删除单个项的方法---------*/
3.main.cpp。
用对象数组的形式建立TodoList。实现按条件批量增删改查。
#include<bits/stdc++.h>
#include<iostream>
#include"Todo.h"
using namespace std;
#define NOW 1
int todo_num=0; //设为全局变量
void print_todolist(Todo (&todolist)[100]);
void query(Todo (&todolist)[100]);
void modify(Todo (&todolist)[100]);
void delete_all(Todo (&todolist)[100]);
void delete_item(Todo (&todolist)[100]);
void new_item(Todo (&todolist)[100]);
int main(){
/*------测试Todolist类的各个方法---------*/
Todo todolist[100]; //大小为100的数组
todo_num=3; //这里记录todolist里面的项目的个数
/*----创建几个todo进去----*/
Todo todo0 = Todo(2,false,NOW,"go to shopping",false);
Todo todo1 = Todo(3,true,NOW,"submmit homework",false);
Todo todo2 = Todo(4,false,NOW,"have dinner",false);
todolist[0]=todo0;
todolist[1]=todo1;
todolist[2]=todo2;
/*--------测试--------*/
while(true){
int choice;
co