《数据结构》实验二:线性表的实验 【顺序表】

前端之家收集整理的这篇文章主要介绍了《数据结构》实验二:线性表的实验 【顺序表】前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
老师,我觉得我没有用到顺序表的那个思想!

我写着写着就变成这样了!

我想知道我的逻辑是不是死了!

用这个方法可以吗……

有大神来打救我吗


SXclass.h

#include <iostream>
#include <string.h>
using namespace std;
const int Max=100;
template <class T>

class Student
{
	private:
		int score;
		T name[Max];
		int length;//表长
	
	public:
		Student();
		Student(T a[],int n);
		void Add();//添加
		void Print();//显示
		void Delete(int y);//删除
		void Search(int z);//查询
		friend int main();
		
};

SX.cpp
#include "SXclass.h"
template <class T>
Student<T>::Student()
{
 
}


template <class T>
Student<T>::Student(T a[],int n)
{
	
}


template <class T>
void Student<T>::Add()
{
	static length=0;
	cout<<"添加学生姓名:";
	cin>>name;
	cout<<endl;
	cout<<"添加生成绩:";
	cin>>score;
	cout<<endl;
	system("pause");
	length=length+1;
}



template <class T>
void Student<T>::Search(int z)
{
	cout<<"编号:"<<z<<endl;
	cout<<"姓名:"<<name<<endl;
	cout<<"成绩:"<<score<<endl;
	cout<<"------------------------------"<<endl;
}


template <class T>
void Student<T>::Delete(int y)
{

}



顺序表.cpp

#include <iostream>
using namespace std;

#include "SX.cpp"

int main()
{
	
	Student<char>student[Max];
	for(int i=0;i<1;)
	{
	cout<<"选择操作:"<<endl;
	cout<<"1、添加生成绩"<<endl;
	cout<<"2、删除生成绩"<<endl;
	cout<<"3、查询生成绩"<<endl;
	int start;
	cin>>start;
	static int a=0;
	int b;
	switch(start)
	{
	case 1:{
		student[a].Add();
		a=a++;
	
		
		   }	i=0;break;
	case 2:{
		cout<<"输入要删除的学生的编号:";
		cin>>b;
		if(b>a)
		{
			cout<<"没有此编号的学生!"<<endl;
			i=0;
			system("pause");
		}

if(b<a)
{
	for(int x=b;x<a-1;x++)
	{
			for(int k=0;k<100;k++)
			student[x].name[k]=student[x+1].name[k];
			student[x].score=student[x+1].score;
	}
	        a=a--;
			cout<<"已删除。"<<endl;
			system("pause");
}
		   }i=0;break;
	case 3:{
		
		for(int j=0;j<a;j++)
		{
		student[j].Search(j);
		
		}

		   }
		system("pause");i=0;break;
	default:cout<<"输入错误!"<<endl;system("pause");i=0;

	}
	system("cls");
	}
	return 0;
}	

猜你在找的数据结构相关文章