- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库关键路径实验告报
成都信息工程学院计算机系
课
程
实
验
报
告
实验课程: 数据结构 实验项目: 关键路径 指导教师: 李莉丽 学生姓名: 刘英 学生学号: 2012051021 班 级: 计科应用1班 实验地点: 6308 实验时间: 20 13 年 11月 3 日 点~ 点 实验成绩: 评阅老师: 一【上机实验目的】
对有向图的拓扑排序和关键路径更加了解以及更好的应用它
二【实验环境】
PC机每人1台在Visual C++环境下测试
三【上机实验内容】
.给定一图,在其拓朴排序的基础上,求关键路径,要求以图形界面呈现关键路径。
四【上机调试程序流程图】(注:可打印)
五【上机调试中出现的错误信息、错误原因及解决办法】
犯的错误1.在写构建图这个子函数时,初始数据的时候有点问题,本来想用文件的,但是对于文件用的不是很熟悉,然后就利用了二维数组来存放数据。
2.就是在画图形界面的时候,让关键路径以另外的颜色出现时候出现了问题。解决方法是找到个最早时间和最迟时间相等就把顶点和终点赋值给相应的顶点,再进行颜色的改变。
六【上机调试后的源程序及还存在的问题】(注:源程序可打印)
#include graphics.h
#includeiostream
using namespace std;
#define MAX_VEXTEX_NUM 20
#define M 20
#define MaxLen 1000 //最大长度
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OK 1
#define ERROR 0
#define OVERFLOW -1
typedef int SElemType;
typedef int VertexType;
typedef int VRType;
typedef int InfoType;
typedef struct ArcNode
{
int adjvex; // 该弧所指向的顶点的位置
struct ArcNode *nextarc;// 指向下一条弧的指针
InfoType info; // 该弧相关信息的指针
}ArcNode;
typedef struct VNode
{
VertexType data;// 顶点信息
ArcNode *firstarc;// 指向第一条依附该顶点的弧
}VNode,AdjList[MAX_VEXTEX_NUM];
typedef struct
{
AdjList vertices;
int vexnum, arcnum;
}ALGraph;
typedef struct SqStack
{
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
class point //画界面
{
public:
point(int x,int y):m_x(x),m_y(y){}
point(){}
int x(){return m_x;}
int y(){return m_y;}
point operator+(point p)
{
return point(m_x+p.x(),m_y+p.y());
}
point operator/(int i)
{
return point(m_x/i,m_y/i);
}
private:
int m_x;
int m_y;
};
int g_r=25;
int g_height=400;
int g_width=500;
point g_pos[9];
void paintmain(ALGraph G);
void line(point a,point b)
{
line(a.x(),a.y(),b.x(),b.y());
}
void fillcircle(point p,int r)
{
fillellipse(p.x(),p.y(),r,r);
}
void outtext(point p,char* str)
{
outtextxy(p.x(),p.y(),str);
} //界面
void InitStack(SqStack S)//初始化栈
{
S.base=(SElemType *)mal
文档评论(0)