数据结构课程设计C/C++版--植物百科数据的管理与分析

这篇具有很好参考价值的文章主要介绍了数据结构课程设计C/C++版--植物百科数据的管理与分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

注意:评测不通过请重置代码仓库,重新评测

第1关:增加植物信息


任务描述

本关任务:已知plant.txt的路径为"data_edit/plant.txt",从plant.txt中读取植物的基本信息,创建一个植物信息的链表,基于该链表,实现植物基本信息的增加功能。

编程要求

根据提示,在右侧编辑器补充代码,输入植物的名称、学名、分布地和详情描述信息,将该植物的基本信息添加到plant.txt中的最后。(注:由于植物名称是唯一的,因此在增加时需要判断该植物名称是否存在于plant.txt中,若存在,则输出“增加失败”;输入分布地时,先输入分布地个数,再依次输入分布地)

测试说明

平台会对你编写的代码进行测试:

测试输入: 蒲公英 Taraxacum mongolicum 2 黑龙江 吉林 多年生草本。根略呈圆锥状,弯曲,长4~10厘米,表面棕褐色,皱缩,根头部有棕色或黄白色的毛茸。叶成倒卵状披针形、倒披针形或长圆状披针形,长4~20厘米,宽1-5厘米,先端钝或急尖,边缘有时具波状齿或羽状深裂,有时倒向羽状深裂或大头羽状深裂,顶端裂片较大,三角形或三角状戟形,全缘或具齿,每侧裂片3~5片,裂片三角形或三角状披针形,通常具齿,平展或倒向,裂片间常夹生小齿,基部渐狭成叶柄,叶柄及主脉常带红紫色,疏被蛛丝状白色柔毛或几无毛。

测试输出: 蒲公英#Taraxacum mongolicum#黑龙江@吉林#多年生草本。根略呈圆锥状,弯曲,长4~10厘米,表面棕褐色,皱缩,根头部有棕色或黄白色的毛茸。叶成倒卵状披针形、倒披针形或长圆状披针形,长4~20厘米,宽1-5厘米,先端钝或急尖,边缘有时具波状齿或羽状深裂,有时倒向羽状深裂或大头羽状深裂,顶端裂片较大,三角形或三角状戟形,全缘或具齿,每侧裂片3~5片,裂片三角形或三角状披针形,通常具齿,平展或倒向,裂片间常夹生小齿,基部渐狭成叶柄,叶柄及主脉常带红紫色,疏被蛛丝状白色柔毛或几无毛。

测试输入: 钝裂银莲花 Anemone obtusiloba 2 西藏 四川 植株高10-30厘米。基生叶7-15,有长柄,多少密被短柔毛;叶片肾状五角形或宽卵形,长1.2-3厘米,宽1.7-5.5厘米,基部心形,三全裂或偶而三裂近基部,中全裂片菱状倒卵形,二回浅裂,侧全裂片与中全裂片近等大或稍小,各回裂片互相多少邻接或稍覆压,脉近平;叶柄3-18厘米。花葶2-5,有开展的柔毛;苞片3,无柄,稍不等大,宽菱形或楔形,常三深裂,长1-2厘米,多少密被柔毛;花梗1-2,长1.5-8厘米;萼片5(-8),白色,蓝色或黄色,倒卵形或狭倒卵形,长0.8-1.2厘米,宽5-8毫米,外面有疏毛,雄蕊长约4毫米,花药椭圆形;心皮约8,子房密被柔毛。5月至7月开花。

测试输出: 增加失败


开始你的任务吧,祝你成功!

#include<bits/stdc++.h>
using namespace std;
struct Plant
{
    //植物信息定义 
    string name;                                        //植物名称 
    string sname;                                        //学名
    string place[100];                                    //分布地 
    string detail;                                        //详情描述 
};
typedef struct LNode
{
    Plant data;           //结点的数据域   
    struct LNode *next; //指针域
}LNode,*LinkList;
vector<string> split(const string& str, const string& delim) {//对字符串进行分割,用delim进行分割
    vector<string> res;
    if("" == str) return res;
    //先将要切割的字符串从string类型转换为char*类型
    char * strs = new char[str.length() + 1] ; //不要忘了
    strcpy(strs, str.c_str()); 
 
    char * d = new char[delim.length() + 1];
    strcpy(d, delim.c_str());
 
    char *p = strtok(strs, d);//按照一定的分隔符将一个长的字符串分割成一个个短的字符串
    while(p) {
        string s = p; //分割得到的字符串转换为string类型
        res.push_back(s); //存入结果数组
        p = strtok(NULL, d);
    }
 
    return res;
}
LNode* createNode(string& line) {
    LNode* node = new LNode();//创建node,把四个成员变量填充进去
    node->next = NULL;
    vector<string> infos = split(line, "#");
    node->data.name = infos[0];
    node->data.sname = infos[1];
    
    string places = infos[2];
    vector<string> vp = split(places, "@");
    for(int i = 0; i < vp.size(); i++) {
        node->data.place[i] = vp[i];
    }
    node->data.detail = infos[3];
    return node;
}
void ReadFile(LinkList &L, string filename)
{//从文件中读取数据,存入链表L中
    ifstream infile;
    infile.open(filename.c_str());                            //打开文件
    assert(infile.is_open());   //  条件返回错误,终止程序
    string line, last_line;
    while (getline(infile, line))
    {
        LNode* newNode = createNode(line);//形成一个链表
        newNode->next = L->next;//头插法创建链表
        L->next = newNode;
    }
    infile.close();
}
int InPlant(LinkList L,string name)
{//判断该植物名称name是否存在于链表中
    LinkList p=L->next;
    while(p) {
        if(name == p->data.name)  //遍历链表
            return 1;
        p=p->next;
    }
    return 0;
}
bool InsertPlant(LinkList &L, string filename)
{//增加植物信息,输入植物的名称、学名、分布地和详情描述信息,将该植物的基本信息添加到plant.txt中的最后
 //如果该植物名称存在于plant.txt中,返回false,否则,返回true
    
    Plant t;
    getline(cin,t.name);
    getline(cin,t.sname);
    int pnum;
    cin>>pnum;
    for(int i=0;i<pnum;i++){
        cin>>t.place[i];
    }
    cin>>t.detail;
    if(InPlant(L,t.name)){
        return false;
    }
    else{
        ofstream ofile;
        ofile.open(filename.c_str());
        ofile<<t.name<<'#'<<t.sname<<'#';
        for(int i=0;i<pnum;i++){
            if(i==pnum-1)
                ofile<<t.place[i]<<'#';
            else
                ofile<<t.place[i]<<'@';
        }
        ofile<<t.detail;
        ofile.close();
    }
}

第2关:删除植物信息

任务描述

本关任务:已知plant.txt的路径为"data_edit/plant.txt",从plant.txt中读取植物的基本信息,创建一个植物信息的链表,基于该链表,实现植物基本信息的删除功能。

编程要求

根据提示,在右侧编辑器补充代码,删除植物信息,输入要删除的植物名称,将该植物的全部信息从plant.txt中删除。(注:需要判断该植物名称是否存在于plant.txt中,若存在,则执行删除操作,否则,输出“删除失败”。)

测试说明

平台会对你编写的代码进行测试:

测试输入: 秋分草; 预期输出: 秋分草#Rhynchospermum verticillatum#湖南@台湾@西藏@广东@福建@贵州@云南@湖北@江西@四川#多年生草本,高25-100厘米。茎坚硬,单生,或少数簇生,直立,基部直径可达8毫米,通常中部以上有叉状分枝,或有时有总状式花序分枝,被尘状微柔毛。叶两面被稍稀疏的贴伏短柔毛,基部叶花期脱落稀生存。下部的茎叶倒披针形、长椭圆状倒披针形,或长椭圆形,稀匙形,长4.5-14厘米,宽2.5-9厘米,顶端急尖,有小尖头,基部楔形渐狭,有长的具冀叶柄,边缘自中部以上有波状的锯齿,中部茎叶稠密,节间长1.5-2厘米,披针形,有短叶柄,全缘或有波状圆锯齿或尖齿;上部叶渐小,全缘或有尖齿。头状花序单生叉状分枝顶端或单生叶腋或近总状排列,直径4-5毫米,果期增大,有短花序梗,花序梗密被锈色尘状短柔毛。总苞宽钟状或果期半球状,宽3-4毫米,总苞片稍不等长,顶端钝,边缘膜质,撕裂,外层卵状长椭圆形,中层长椭圆形,内层狭长椭圆形。雌花2-3层,花冠长1.2毫米,管部极短,外面被腺点;两性花花冠长2毫米,外面被腺点。雌花瘦果压扁,长椭圆形,长4毫米,宽1毫米,嚎较长,有脉状加厚的边缘,被棕黄色小腺点;两性花瘦果咏短或无嚎。冠毛纤细,易脱落。花果期8-11月。

测试输入: 玫瑰; 预期输出: 删除失败


开始你的任务吧,祝你成功!

#include<bits/stdc++.h>
using namespace std;
struct Plant
{
	//植物信息定义 
	string name;										//植物名称 
	string sname;										//学名
	string place[100];									//分布地 
	string detail;										//详情描述 
};

typedef struct LNode
{
    Plant data;    	   //结点的数据域   
    struct LNode *next; //指针域
}LNode,*LinkList;

void ReadFile(LinkList& L, string filename)
{//从文件中读取数据,存入链表L中
	ifstream infile;
	infile.open(filename.c_str());
	string line;
	LinkList r = L;
	while (getline(infile, line)) {
		LinkList p = new LNode;
		Plant temp;
		stringstream data(line);
		string s;
		int flag = 0;
		while (getline(data, s, '#')) {
			if (flag == 0) temp.name = s;
			if (flag == 1) temp.sname = s;
			if (flag == 2) {
				stringstream ssplace(s);
				string place;
				int placenum = 0;
				while (getline(ssplace, place, '@')) {
					temp.place[placenum] = place;
					placenum++;
				}
			}
			if (flag == 3) temp.detail = s;
			flag++;
		}
		p->data = temp;
		p->next = r->next;
		r->next = p;
		r = p;
	}
	infile.close();
	return;
}

void DeletePlant(LinkList &L,string name,string filename)
{//删除指定植物信息
	LNode* p = new LNode;
	p = L;
	while (p->next) {
		if (p->next->data.name == name) {
			LNode* q = new LNode;
			q = p->next;
			p->next = q->next;
			delete(q);
		}
		else {
			p = p->next;
		}
	}
	p = L->next;
	fstream file;
	file.open(filename, ios::out);
	while (p) {
		int n = 0;
		while (p->data.place[n]!="") {
			n++;
		}
		file << p->data.name << "#" << p->data.sname << "#";
		for (int i = 0; i < n - 1; i++) {
			file << p->data.place[i] << "@";
		}
		file << p->data.place[n - 1] << "#" << p->data.detail << endl;
		p = p->next;
	}
	file.close();
}

第3关:修改植物信息


任务描述

本关任务:已知plant.txt的路径为"data_edit/plant.txt",从plant.txt中读取植物的基本信息,创建一个植物信息的链表,基于该链表,实现植物基本信息的修改功能。

编程要求

根据提示,在右侧编辑器补充代码,输入植物名称和修改后的详情描述信息,将修改后的信息存储到plant.txt中。(注:需要判断该植物名称是否存在于plant.txt中,若存在,则执行修改操作,否则,输出“修改失败”。)

测试说明

平台会对你编写的代码进行测试:

测试输入: 罗蒙常山 落叶亚灌木,高达1-2米,下部通常平卧,上部直立;茎、叶柄、叶、花序都有绢状长毛及伏贴、弯曲短柔毛。叶对生,椭圆形,长5-10厘米,宽2.5-5厘米,边缘有锯齿;叶柄长1-2厘米。伞房状聚伞花序顶生,直径通常2-3厘米,具多数而密集的花,无总花梗;花两性,一型,蓝色,花芽时倒卵形,盛开时直径约8毫米,无放射花; 预期输出: 罗蒙常山#Dichroa yaoshanensis#湖南@广西@广东@云南#落叶亚灌木,高达1-2米,下部通常平卧,上部直立;茎、叶柄、叶、花序都有绢状长毛及伏贴、弯曲短柔毛。叶对生,椭圆形,长5-10厘米,宽2.5-5厘米,边缘有锯齿;叶柄长1-2厘米。伞房状聚伞花序顶生,直径通常2-3厘米,具多数而密集的花,无总花梗;花两性,一型,蓝色,花芽时倒卵形,盛开时直径约8毫米,无放射花 测试输入: 茉莉 常绿小灌木或藤本状灌木,性喜温暖,不耐霜冻。高可达1米。小枝有棱角,有时有毛。单叶对生,宽卵形或椭圆形,叶脉明显,叶面微皱,叶柄短而向上弯曲,有短柔毛。初夏由叶腋抽出新梢。 预期输出: 修改失败


开始你的任务吧,祝你成功!

#include<bits/stdc++.h>
using namespace std;
struct Plant
{
	//植物信息定义 
	string name;										//植物名称 
	string sname;										//学名
	string place[100];									//分布地 
	string detail;										//详情描述 
};


typedef struct LNode
{
    Plant data;    	   //结点的数据域   
    struct LNode *next; //指针域
}LNode,*LinkList;

void ReadFile(LinkList& L, string filename)
{//从文件中读取数据,存入链表L中
	ifstream infile;
	infile.open(filename.c_str());
	string line;
	LinkList r = L;
	while (getline(infile, line)) {
		LinkList p = new LNode;
		Plant temp;
		stringstream data(line);
		string s;
		int flag = 0;
		while (getline(data, s, '#')) {
			if (flag == 0) temp.name = s;
			if (flag == 1) temp.sname = s;
			if (flag == 2) {
				stringstream ssplace(s);
				string place;
				int placenum = 0;
				while (getline(ssplace, place, '@')) {
					temp.place[placenum] = place;
					placenum++;
				}
			}
			if (flag == 3) temp.detail = s;
			flag++;
		}
		p->data = temp;
		p->next = r->next;
		r->next = p;
		r = p;
	}
	infile.close();
	return;
}

bool ChangePlant(LinkList &L,string name,string details,string filename)
{//修改植物信息
 //若该植物名称存在于plant.txt中,返回true,否则,返回false
	LNode* p = new LNode;
	p = L->next;
	int flag = 0;
	while (p) {
		if (p->data.name == name) {
			p->data.detail = details;
			flag++;
		}
		p = p->next;
	}
	if (flag > 0) {
		p = L->next;
		fstream file;
		file.open(filename, ios::out);
		while (p) {
			int n = 0;
			while (p->data.place[n] != "") {
				n++;
			}
			file << p->data.name << "#" << p->data.sname << "#";
			for (int i = 0; i < n - 1; i++) {
				file << p->data.place[i] << "@";
			}
			file << p->data.place[n - 1] << "#" << p->data.detail << endl;
			p = p->next;
		}
		return true;
	}
	else {
		return false;
	}

}

第4关:基于顺序表的顺序查找


任务描述

从plant.txt中读取植物的基本信息,实现基于顺序表的顺序查找。

编程要求

根据提示,在右侧编辑器补充代码,输入植物学名,若查找成功,输出该植物对应的基本信息(名称、分布地、详情描述),同时,输出查找成功时的平均查找长度ASL;否则,输出“查找失败!”。

测试说明

平台会对你编写的代码进行测试:

测试输入: Gentiana omeiensis 预期输出: 查找成功! 名称:峨眉龙胆 分布地:四川 详情描述:多年生草本,高30-40厘米,基部被黑褐色枯老膜质叶鞘包围。根茎短缩或伸长,平卧或斜伸,具多数略肉质的须根。枝2-4个丛生,其中有1-3个营养枝和1个花枝;花枝直立,黄绿色或有时紫红色,中空,近圆形,光滑。叶大部分基生,狭椭圆形或椭圆状披针形,长5.5-12厘米,宽1-1.5厘米,先端钝,基部渐狭,叶脉3条,在两面均明显,并在下面稍突起,叶柄膜质,长4-8厘米;茎生叶少,2-4对,匙形,稀狭椭圆形,长4-6厘米,宽1.5-2厘米,先端钝,基部渐狭,叶脉1-3条,在两面均明显,并在下面突起,叶柄长1-4.5厘米,愈向茎上部叶愈小,柄愈短。花多数,顶生和生上部叶腋中呈轮伞状,稀花序下部分枝,有长总花梗,无小花梗;花萼狭钟形,长11-13毫米,外面常带紫色,萼筒草质,一侧开裂,呈佛焰苞状,边缘膜质,萼齿极小,钻形,长1-1.5毫米,弯缺狭,截形;花冠蓝色,无深色条纹和斑点,筒状钟形,长3.5-4厘米,裂片卵形,长4.5-5.5毫米,先端圆形或钝,上半部全缘,下半部有不整齐细齿,褶偏斜,截形或三角形,长1-1.5毫米,先端急尖,边缘有不整齐细齿;雄蕊着生于冠筒下部,整齐,花丝线状钻形,长13-16毫米,花药狭矩圆形,长3-3.5毫米;子房线状披针形,长10-13毫米,两端渐狭,柄长10-13毫米,花柱短而粗,长2-2.5毫米,柱头小,2裂,裂片半圆形。蒴果内藏,狭椭圆形,长1.3-1.5厘米,两端钝,柄长至1-2厘米;种子黄褐色,有光泽,矩圆形,长1-1.2毫米,表面具海绵状网隙。花果期7-9月。 平均查找长度ASL为:3245.50

测试输入: Pelargonium hortorum 预期输出: 查找失败!

#include<bits/stdc++.h>
using namespace std;
struct Plant{											//植物信息定义 
	string name;										//名称 
	string sname;										//学名
	string place[100];									//分布地 
	string detail;										//详情描述 
};
typedef struct{            								//顺序表
	Plant *plant;
	int length; 
}SqList;
void InitList(SqList& L) {
	//顺序表初始化 
	L.plant = new Plant[9999];
	if (!L.plant) exit(0);
	L.length = 0;
	return;
}
void ListInsert(SqList& L, int i, Plant p) {
	L.plant[i] = p;
}
void ReadFile(SqList& L, string filename) {
	//读取plant.txt文件,调用ListInsert函数将每条植物数据插入顺序表 
	ifstream infile;
	infile.open(filename.c_str());
	string line;
	int i = 0;
	while (getline(infile, line)) {
		Plant temp;
		stringstream data(line);
		string s;
		int flag = 0;

		while (getline(data, s, '#')) {
			if (flag == 0) temp.name = s;
			if (flag == 1) temp.sname = s;
			if (flag == 2) {
				stringstream ssplace(s);
				string place;
				int placenum = 0;
				while (getline(ssplace, place, '@')) {
					temp.place[placenum] = place;
					placenum++;
				}
			}
			if (flag == 3) temp.detail = s;
			flag++;
			
		}
		ListInsert(L, i, temp);
		L.length++;
		i++;
	}
	infile.close();
	return;
}
int Search_Seq(SqList L, string key) {
	//在顺序表L中顺序查找植物学名等于key的数据元素
	//若找到,则返回该元素在表中的下标,否则返回-1
	int i = 0;
	for (i = 0; i < L.length; i++) {
		if (L.plant[i].sname == key) {
			return i;
		}
	}
	return -1;
}
double ASL_Seq(SqList L) {
	//返回基于顺序表的顺序查找的ASL 
	double asl = (L.length + 1)*1.0 / 2;
	return asl;
}

第5关:基于链表的顺序查找


任务描述

从plant.txt中读取植物的基本信息,实现基于链表的顺序查找。

编程要求

根据提示,在右侧编辑器补充代码,输入植物学名,若查找成功,输出该植物对应的基本信息(名称、分布地、详情描述),同时,输出查找成功时的平均查找长度ASL;否则,输出“查找失败!”。

测试说明

平台会对你编写的代码进行测试:

测试输入: Gentiana omeiensis 预期输出: 查找成功! 名称:峨眉龙胆 分布地:四川 详情描述:多年生草本,高30-40厘米,基部被黑褐色枯老膜质叶鞘包围。根茎短缩或伸长,平卧或斜伸,具多数略肉质的须根。枝2-4个丛生,其中有1-3个营养枝和1个花枝;花枝直立,黄绿色或有时紫红色,中空,近圆形,光滑。叶大部分基生,狭椭圆形或椭圆状披针形,长5.5-12厘米,宽1-1.5厘米,先端钝,基部渐狭,叶脉3条,在两面均明显,并在下面稍突起,叶柄膜质,长4-8厘米;茎生叶少,2-4对,匙形,稀狭椭圆形,长4-6厘米,宽1.5-2厘米,先端钝,基部渐狭,叶脉1-3条,在两面均明显,并在下面突起,叶柄长1-4.5厘米,愈向茎上部叶愈小,柄愈短。花多数,顶生和生上部叶腋中呈轮伞状,稀花序下部分枝,有长总花梗,无小花梗;花萼狭钟形,长11-13毫米,外面常带紫色,萼筒草质,一侧开裂,呈佛焰苞状,边缘膜质,萼齿极小,钻形,长1-1.5毫米,弯缺狭,截形;花冠蓝色,无深色条纹和斑点,筒状钟形,长3.5-4厘米,裂片卵形,长4.5-5.5毫米,先端圆形或钝,上半部全缘,下半部有不整齐细齿,褶偏斜,截形或三角形,长1-1.5毫米,先端急尖,边缘有不整齐细齿;雄蕊着生于冠筒下部,整齐,花丝线状钻形,长13-16毫米,花药狭矩圆形,长3-3.5毫米;子房线状披针形,长10-13毫米,两端渐狭,柄长10-13毫米,花柱短而粗,长2-2.5毫米,柱头小,2裂,裂片半圆形。蒴果内藏,狭椭圆形,长1.3-1.5厘米,两端钝,柄长至1-2厘米;种子黄褐色,有光泽,矩圆形,长1-1.2毫米,表面具海绵状网隙。花果期7-9月。 平均查找长度ASL为:3245.50

测试输入: Pelargonium hortorum 预期输出: 查找失败!

#include<bits/stdc++.h>
using namespace std;
struct Plant{											//植物信息定义 
	string name;										//名称 
	string sname;										//学名
	string place[100];									//分布地 
	string detail;										//详情描述 
};
typedef struct LNode{          							//单链表 
	Plant data;
	struct LNode *next;
}LNode,*LinkList; 
void InitList(LinkList& L)
{//构造一个空的单链表L
	L = new LNode;
	L->next = NULL;
}
void ListInsert(LinkList& L, int i, Plant temp) {
	//在带头结点的单链表L中第i个位置插入新结点
	LNode* p = new LNode;
	LNode* q = new LNode;
	p->data = temp;
	q = L;
	while (i > 1) {
		q = q->next;
		i--;
	}
	p->next = q->next;
	q->next = p;
}
int ReadFile(LinkList& L, string filename) {
	//读取plant.txt文件,调用ListInsert函数将每条植物数据插入链表
	//返回树木数据的条数 
	ifstream infile;
	infile.open(filename.c_str());
	string line;
	int i = 1;
	while (getline(infile, line)) {
		Plant temp;
		stringstream data(line);
		string s;
		int flag = 0;
		while (getline(data, s, '#')) {
			if (flag == 0) temp.name = s;
			if (flag == 1) temp.sname = s;
			if (flag == 2) {
				stringstream ssplace(s);
				string place;
				int placenum = 0;
				while (getline(ssplace, place, '@')) {
					temp.place[placenum] = place;
					placenum++;
				}
			}
			if (flag == 3) temp.detail = s;
			flag++;

		}
		ListInsert(L, i, temp);
		i++;
	}
	infile.close();
	return i - 1;
}
LNode* LocateElem(LinkList L, string key) {
	//在带头结点的单链表L中查找植物学名为key的元素 
	LNode* p = new LNode;
	p = L->next;
	while (p) {
		if (p->data.sname == key) {
			return p;
		}
		p = p->next;
	}
	return NULL;
}
double ASL_LinkList(LinkList L, int count) {
	//返回基于链表的顺序查找的ASL 
	LNode *p = new LNode;
	p = L->next;
	int i = 0;
	while (p) {
		p = p->next;
		i++;
	}
	double asl = (i + 1)*1.0 / 2;
	return asl;
}

后续更新剩下关卡文章来源地址https://www.toymoban.com/news/detail-847717.html

到了这里,关于数据结构课程设计C/C++版--植物百科数据的管理与分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于C语言的数据结构课程设计(学生管理系统、停车场管理、家谱管理、校园导航系统)

    一、设计目的 本课程设计是软件工程学生的必修课程,数据结构与算法课程设计既是一门基础课程,又是一门实践性课程。 通过本实训课程的学习和训练,使同学学会分析研究数据对象的特性,学会数据的组织方法,以便选择合适的数据逻辑结构和存储结构,以及相应的运

    2024年02月09日
    浏览(58)
  • C语言版数据结构-课程设计-航空客运订票系统 V2.0 附源码(增加管理员功能)

    相信很多粉丝看过看过我的主页,有一个航空订票系统: 数据结构航空订票系统(附源码) 但是最近后台收到很多粉丝的要求,在上一个航空订票系统中要加上管理员的功能块,于是对上面那个课设进行了改进,新的功能流程如下: (航班信息由管理员添加和删除、顾客可

    2024年02月03日
    浏览(53)
  • 数据结构课程设计

    编制一个能演示执行集合的交、并和差运算的程序。 要求: 集合元素用小写英文字母,执行各种操作应以对话方式执行。 算法要点:利用单链表表示集合;理解好三种运算的含义 分析 : 输入:输入应该具有判断是否为小写字母的功能,如果不是小写字母,应该舍去,同时

    2024年02月02日
    浏览(47)
  • 【数据结构课程设计】关键路径问题

    1 问题描述与功能需求分析 1.1问题描述 1) 任务:设计一个程序求出完成整项工程至少需要多少时间以及整项工程中的关键活动。 2)基本要求: (1)对一个描述工程的 AOE 网,应判断其是否能够顺利进行。 (2)若该工程能顺利进行,输出完成整项工程至少需要多少时间,以及

    2024年02月10日
    浏览(44)
  • 数据结构课程设计1: 区块链

    1.任务: [问题描述] 使用链表设计一个保存信息的系统,该系统拥有类似区块链的设计以防止信息被轻易篡改。 该题目使用一个链表。信息保存在链表的每一个节点中,每个节点需要包含该节点的编号、信息和校验码。其中: + 每个节点的编号按照顺序递增,从0开始。 + 节

    2023年04月16日
    浏览(114)
  • 数据结构课程设计 ——考试报名系统

    数据结构课程设计 ——考试报名系统 一、项目功能要求 完成对考生信息的建立,查找,插入,修改,删除等功能。其中考生信息包括准考证号,姓名,性别,年龄和报考类别等信息。项目在设计时应首先确定系统的数据结构,定义类的成员变量和成员函数;然后实现各成员

    2024年02月04日
    浏览(51)
  • 一、课程设计目的与任务《数据结构》课程设计是为训练学生的数据组织能力和提高程序设计能力而设置的增强实践能力的课程。目的:学习数据结构课程,旨在使学生学会分析研究数据对象的特性,学会数据的组织方法,以

    一、课程设计目的与任务 《数据结构》课程设计是为训练学生的数据组织能力和提高程序设计能力而设置的增强实践能力的课程。目的:学习数据结构课程,旨在使学生学会分析研究数据对象的特性,学会数据的组织方法,以便选择合适的数据的逻辑结构和存储结构以及相应

    2024年02月21日
    浏览(66)
  • 《数据结构与算法分析》课程设计——迷宫问题

    中国矿业大学信控学院   补一下我之前在博客园发布的内容  懒得调了, 想复制完整代码直接复制最下面的 ,想复制分布代码去看我博客园链接吧 《数据结构与算法分析》课程设计——迷宫问题 - 刷子zz - 博客园 一、  问题描述 问题中迷宫可用方阵[m,n]表示,0表示能通过

    2024年02月10日
    浏览(49)
  • 【数据结构课程设计】简单搜索引擎系统

    该程序使用python语言实现利用爬虫代码爬取网站链接信息,将网站中文词语通过结巴分词进行分割,并存储爬取的数据信息,利用结巴分词库处理输入框用户输入的词语,进行搜索,通过链接评价函数,优先显示评分较高的链接;设计简单的html页面,实现可视化搜索功能。

    2024年01月23日
    浏览(58)
  • 数据结构课程设计——项目2:校园导游咨询

    【问题描述】 设计一个校园导游程序,为来访的客人提供各种信息查询服务。 【基本要求】 设计你所在学校的校园平面图,所含景点不少于10个.以图中顶点表示校 内各景点,存放景点名称、代号、简介 等信息;以边表示路径,存放路径长度等相关信息。 为来访客人提供图中任

    2024年02月02日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包