我写着写着就变成这样了!
我想知道我的逻辑是不是死了!
用这个方法可以吗……
有大神来打救我吗
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; }