数据结构_章节调试模板

一个好使不贵的模板

最近对数据结构程序不断进行调试,却苦于知识点过于琐碎,没有一把合适的神器辅助一下,那么神器来了,利用下边模板你可以把每个知识点都放进“具体子类”中去,当你把每章知识都概括进去时,恭喜你,期末考试百分在望。

一、这里我先奉上我这个模板的结构图(不要用HTML的眼光来审视,我随便画的,日后再学建模语言)
在这里插入图片描述
简单来说,就是主函数调用三个头文件,对于使用者来说最重要的一个头文件是ConcreteClass.h, 因为只需把零散程序放在这里就可以了,至于工作原理,嗯……,不提也罢,我们直接来看程序。
二、各个部分源代码(C++)

  1. TemplateMethodPattem.c(客户类)
#include"AbstractClass.h"
int main()
{
	startUsing();		//初始界面
	chooseList();		//服务指南
	serviceChoose(choose);	//服务入口
	offUsing();		//结束界面
	return 0;
}
  1. AbstractClass.h(抽象类-各类函数的接口)
#pragma once
#include"TemplateMethod.h"
#include"ConcreteClass.h"

int choose = -1;

void startUsing(void)		//系统初始界面
{
	cout << "——您好,欢迎来到" << BI << "服务平台!" << endl<< endl;
}

void offUsing(void)		//系统结束界面
{
	cout << "——感谢您对" << BI << "服务平台的使用,再见!" << endl;
}

void chooseList(void)		//信息服务列表
{
	cout << "——本次提供以下几项服务,请选择:" << endl;
	cout << "1. XXXXXX" << endl;
	cout << "2. XXXXXX" << endl;
	cout << "3. XXXXXX" << endl;
	cout << "4. XXXXXX" << endl;
	cout << "5. XXXXXX" << endl;
	cout << "0. 退出" << endl << endl;
}

void serviceChoose(int choose)
{
	while (choose != 0)
	{
		chooseLegality(choose);
		switch (choose) {
		case 1:		

			cout << "请继续您的选择:" << endl;
			break;
		case 2:		

			cout << "请继续您的选择:" << endl;
			break;
		case 3:		

			cout << "请继续您的选择:" << endl;
			break;
		case 4:		

			cout << "请继续您的选择:" << endl;
			break;
		case 5:		

			cout << "请继续您的选择:" << endl;
			break;
		default:break;
		}
	}
	cout << endl<< endl;
}
  1. TemplateMethod.h(模板方法)
#pragma once
#include"BasicHeadfile.h"

void chooseLegality(int& choose)		//choose值合法性判断
{
	do {		//对choose的值进行判断
		cin >> choose;
		if (choose < 0 || choose>5)
			cout << "您输入的数据不再本次服务之内,请重新输入:" << endl;
	} while (choose < 0 || choose>5);
}

void systemPrompt(int choose)
{
	switch (choose) {
	case 1:cout << "请依次输入姓名和学号,中间以Tab键分隔" << endl; break;
	case 2:cout << "XXXXXXXX" << endl; break;
	case 3:cout << "XXXXXXXX" << endl; break;
	case 4:cout << "XXXXXXXX" << endl; break;
	case 5:cout << "XXXXXXXX" << endl; break;
	case 6:cout << "XXXXXXXX" << endl; break;
	case 7:cout << "XXXXXXXX" << endl; break;
	case 8:cout << "XXXXXXXX" << endl; break;
	case 9:cout << "XXXXXXXX" << endl; break;
	default:break;
	}
}
  1. ConcreteClass.h(具体子类)
#pragma once

#include"BasicHeadfile.h"

typedef struct TElemType	//定义一个结构体
{
	char name[30]="名字";
	char number[30]="学号";
}TElemType;
  1. BasicHeadfile.h(基础文件)
#pragma once
#include<iostream>
using namespace std;
#define OK 1
#define ERROE 0

#ifndef OVERFLOR
#define OVERFLOW -2
#endif // !OVERFLOR

typedef int Status;
#define BI "“XXX”"

三、初始情况下模板运行情况
在这里插入图片描述
四、注意事项
本模板奉行一切都是模块化,请不要随意修改模块的分布,以免影响后续超大工程的构建。
好了,搞起来~
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值