学习不久的c++,想要用类做这个作业,自己写的一部分,但总是出错,很苦恼,有没有大佬写出来参考一下。

本课程设计将通过设计和实现一个任务清单(To Do List)应用,对C语言程序设计课程中学习
的选择结构、循环结构、数组等知识点进行综合运用;同时通过该应用的开发,对C语言程序
的设计与开发过程等做简要介绍。
课程设计
前言
本课程设计将通过设计和实现一个任务清单(To Do List)应用,对C语言程序设计课程中学习
的选择结构、循环结构、数组等知识点进行综合运用;同时通过该应用的开发,对C语言程序
的设计与开发过程等做简要介绍。
背景
任务清单通过将待做事项变成可以具体执行的行动,从而帮助你更好的管理、安排和执行你的
生活。简单来说,使用任务清单,就是写下你需要做的一切。但是对于那些虚无缥缈的想法或
项目,要把它们拆解成可执行的行动。例如你要完成一个宣传“时间管理”的演讲,这个项目本
身不可执行,因为你需要前期的准备才能宣传。所以你要写“1.收集演讲内容”、“2.完成演讲稿
和PPT文件”和“3.选定地点和演讲时间”。
1.显示菜单
我们使用命令行界面与应用的使用者(以下简称“用户”)进行交互,当应用运行时,系统应显
示出菜单,同时等待用户的输入,用户输入相应的指令后,应用根据用户输入的指令,执行相
应的操作。例如一个简单的菜单如下:
请输⼊指令:
1 添加新任务
2 查看现有任务列表
0 退出程序
提示:
菜单显示可以通过循环方式显示,用户输入退出程序的指令后,跳出循环。
较好的实现方法是定义一个单独的函数例如menu( )实现显示菜单的功能,主函数里调
用menu( )函数显示菜单。
2.定义数据结构
一个任务应该至少包括任务标题,任务具体的描述,任务的截止日期,任务的完成状态等信
息,我们采用类定义任务,使用字符串定义任务标题和任务的描述,使用整型定义任务截
止日期的年、月和日以及任务的完成状态。
我们使用数组表示任务列表,系统初始运行时,数组为空,用户输入一个新任务时,则在数组
中插入相应的元素,假设用户输入的任务数量总数不会超过100。
3.任务输入
用户在菜单选择页面输入相应的指令(例如输入1)后,应用输出提示信息,提示用户依次输
入新任务的标题、描述、以及截止日期等信息,并保存用户输入的信息(将用户输入的信息保
存在数组中)。
提示:
可以使用全局变量记录用户已经输入的任务个数(即数组中已经有内容的元素个数)。
可以使用switch语句实现用户输入相应指令后,执行不同的操作(例如输入1后,提示
用户进行输入;输入0后,退出程序)。
较好的实现方式是定义一个单数的函数例如add_task( )实现用户输入任务的功能,
menu( )函数中调用add_task( )。
4.显示任务列表
用户在菜单选择页面输入相应的指令后,应用输出现有任务列表。
提示:
输出时,应不仅输出数据信息(例如任务a等),还应输出这一列数据代表的含义(例
如任务标题等)。
较好的实现方式是定义一个单数的函数例如list_task( )实现显示任务列表的功能,menu(
)函数中调list_task( )。
5.完成任务
用户在菜单选择页面输入相应的指令后,应用输出现有任务列表,应用输出提示信息提示用户
输入要完成的任务编号,应用将该任务的任务完成状态改为已完成。
提示:
任务的完成状态数据类型为整型,可以用不同的数字代表不同的任务完成状态。例如0
表示项目未完成,1表示项目已完成等。
较好的实现方式是定义一个单数的函数例如finish_task( )实现完成任务的功能,menu( )
函数中调finish_task( )。
6.保存到文件
用户在菜单选择页面输入相应的指令后,应用将现有的项目列表的内容按照一定的格式输出到
文本文件(.txt)中。

以下是我自己写的一部分
// TO DO A LIST
#include
#include
class Date //日期
{
int year,month,day;
public:
Date(int i=2000,int j=1 ,int k=1)
{
year=i;month=j;day=k;
}
void Dprint()
{
cout<<"截止日期:"<<year<<"."<<month<<"."<<day;
}
};
class Time //时间
{
int hour,min;
public:
Time(int i=0,int j=0)
{
hour=i;min=j;
}
void Tprint()
{
cout<<"截止时间:"<<hour<<":"<<min;
}
};

class List:public Date,public Time //继承日期和时间
{
char List_name[100]; //任务标题
char List_dis[100]; //任务描述
public:
List (int a,int b,int c,int d,int e,char *name,char *dis):Date(a,b,c),Time(d,e)
{
strcpy(List_name,name);
strcpy(List_dis,dis);
}
List()
{

 }
void Lprint()
{
    cout<<"任务标题:"<<List_name<<endl;
    cout<<"任务描述:"<<List_dis<<endl;
}

};
void menu() //菜单显示
{
cout<<"按1添加新任务"<<'\n'<<"按2查看现有任务"<<'\n';
}
List Add_task(List A)
{

int a,b,c,d,e;
char name[100],dis[100];
cout<<"请输入任务名称";
cin>>name;cout< cout cin>>dis;cout< cout cin>>a>>b>>c;cout< cout cin>>d>>e;
return A(a,b,c,d,e,*name,*dis);

}
void Print(List A)
{

A.Dprint;cout<<endl;
A.Tprint;cout<<endl;
A.Lprint;
}
void main()
{

}

1个回答

帮你实现了
// TO DO A LIST
#include
#include
using namespace std;

class Date //日期
{
int year,month,day;
public:
Date(int i=2000,int j=1 ,int k=1)
{
year=i;month=j;day=k;
};
void Dprint()
{
cout<<"截止日期:"<<year<<"."<<month<<"."<<day;
}
};
class Time //时间
{
int hour,min;
public:
Time(int i=0,int j=0)
{
hour=i;min=j;
}
void Tprint()
{
cout<<"截止时间:"<<hour<<":"<<min;
}
};

class List:public Date,public Time //继承日期和时间
{
char List_name[100]; //任务标题
char List_dis[100]; //任务描述
public:
List (int a=2000,int b=1,int c=1,int d=0,int e=0,char *name=" ",char *dis=" "):Date(a,b,c),Time(d,e)
{
strcpy(List_name,name);
strcpy(List_dis,dis);
}
void Lprint()
{
cout<<"任务标题:"<<List_name<<endl;
cout<<"任务描述:"<<List_dis<<endl;
}
};
void menu() //菜单显示
{
cout<<"按1添加新任务"<<'\n'<<"按2查看现有任务"<<'\n';
}
List Add_task()
{

int a,b,c,d,e;
char name[100],dis[100];
cout<<"请输入任务名称";
cin>>name;
cout<<"描述:";
cin>>dis;
cout<<"日期:";
cin>>a>>b>>c;
cout<<"时间:";
cin>>d>>e;
List A(a,b,c,d,e,name,dis);
return A;
}
void Print(List A)
{

A.Dprint();cout<<endl;
A.Tprint();cout<<endl;
A.Lprint();
}
int main()
{
List A=Add_task();
Print(A);
return 0;
}

play_841266670
diskings 头文件包含<iostream>和<cstring>
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问