1、山东科技大学学生课程设计 目录 一 设计目的……………………………………………………………..(3) 二 设计要求……………………………………………………………..(4) 三 设计说明……………………………………………………………..(5) 四 运算结果与分析……………………………………………………...(11) 五 总结…………………………………………………………………..(16) 摘要 为了实现判别一个分解的无损连接分解
2、而编写的程序,此文档为解说此程序而编写。主要有设计目的,设计要求,设计说明,运行结果分析,和总结。以便更好的了解此程序,内容、作用、使用方法和不足。 此程序因时间关系,写得较短,只在一定程度上完成了这种功能,应有不足和缺陷。只要严格按照说明使用,此程序已达到要求。为求精简,是程序不会过于复杂,对错误输入不作处理,请谨慎使用。 为了节省存储空间,减少计算量,提高运算按速率,对关系的内容要求精简,属性名只许一个字母。 此程序完成粗略,但至今未出现问题,关于设计,内容很容易理解。 此文档对程序做了尽可能的解说。有例子说明,更易懂。 关键词:无损连接分解 数据存
3、储 函数设计 功能测试 设计总结 一、 设计目的 a) 用一种高级语言实现判别一个分解的无损连接性: 二、 设计要求 a) 按算法5.2和定理5.4实现(P190); b) 能给出根据模式的分解形成初始表格; c) 给出根据每一个函数依赖表格的变化情况;
4、 三、 设计说明 a) 数据结构设计 typedef struct Date//用于存储表格内的数据 { char name;//存储a或b int num;//存储下标,若下表为01、02等均省略0记为1、2 }; typedef struct Function//用于存储函数依赖 { char x[5],y[5]; struct Function *next; }; typedef struct Relation//用于存储关系 { char U[11];//用于存储属性组,属性名称必
5、须为单个字母,属性组内不超过10个属性 Function F; }; Date d[10][10],d1[10][10];//用于存储n列k行的表 b) 函数设计 void showR();显示关系R的内容 void InitR();建立关系R void Initd(int n,int k);建立一张n列k行的表 int locate(char s[11],char m);查询字母m在字符串s中的位置 void showd(int n,int k);显示表中的内容 void dof(char x[5],char y[5],int k);函数依赖对表的操
6、作
void copy(int n,int k);表的复制
int compare(int n,int k);表的比较
void InitR()
{
cout<<"输入U(例如'ABCDEF')"<
7、 cin>>q->x;
cin>>a>>a;
cin>>q->y;
cin>>a;
if(a==')')break;
Function *p;
p=new Function;
q->next=p;
q=q->next;
}
q->next=NULL;
}
void Initd(int n,int k)
{
cout<<"输入分解组(AB,AC,DEF,)"< 8、个‘,’不能省
int i,j;
for(i=0;i
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818