manage.h

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
//学生
template <class T>
class Student {template <class T>friend class StudentManage;
public:Student() {next = NULL;}
private:int Sid;//学生编号string Sname;//学生姓名string Ssex;//学生性别int Sage;//学生年龄int Sscore;//学生成绩Student<T>* next;//指向下一结点的指针
};
template <class T>
class StudentManage {public:StudentManage();~StudentManage();StudentManage<T>& SInsert(int k, const T& sid, const string& sname, const string& ssex, const T& sage, const T& sscore);//插入bool SIsEmpty() const;//判空int SGetLength() const;//获取长度bool SGetData(int k, T& sid, string& sname, string& ssex, T& sage, T& sscore);//获取数据bool SModifyData(int k, const T& sid, const string& sname, const string& ssex, const T& sage, const T& sscore);//修改int SFind(const int& sid);//根据id查找StudentManage<T>& SDelete(int k, T& sid, string& sname, string& ssex, T& sage, T& sscore);//删除void Sort(T a[]);void SOutPut(ostream& sout) const;//打印
private:Student<T>* shead;
};//班级
template <class T>
class Class {template <class T>friend class ClassManage;
public:Class() {next = NULL;}
private:int Cid;//班级编号string CName;//班级名称string CBzrName;//班主任名称string CXsName;//学生名称Class<T>* next;
};
template <class T>
class ClassManage {public:ClassManage();~ClassManage();ClassManage<T>& CInsert(int k, const T& cid, const string& cname, const string& cbzrname, const string& cxsname);//插入bool CIsEmpty() const;//判空int CGetLength() const;//获取长度bool CGetData(int k, T& cid, string& cname, string& cbzrname, string& cxsname);//获取数据bool CModifyData(int k, const T& cid, const string& cname, const string& cbzrname, const string& cxsname);//修改int CFind(const int& cid);//根据id查找ClassManage<T>& CDelete(int k,  T& cid, string& cname, string& cbzrname, string& cxsname);//删除void COutPut(ostream& cout) const;//打印
private:Class<T>* chead;
};//成绩
template <class T>
class Grade {template <class T>friend class GradeManage;
public:Grade() {next = NULL;}
private:string Gname;int Gscore;Grade<T>* next;
};
template <class T>
class GradeManage {public:GradeManage();~GradeManage();GradeManage<T>& GInsert(int k, const string& gname, const T& gscore);//插入bool GIsEmpty() const;//判空int GGetLength() const;//获取长度bool GGetData(int k, string& gname, T& gscore);//获取数据bool GModifyData(int k, const string& gname, const T& gscore);//修改int GFind(const string& gname);//根据课程名称查找GradeManage<T>& GDelete(int k, string& gname, T& gscore);//删除void GOutPut(ostream& gout) const;//打印private:Grade<T>* ghead;
};

manage.cpp

#include "manage.h"
//学生
template<class T>
inline StudentManage<T>::StudentManage()
{shead = new Student<T>();
}
template<class T>
StudentManage<T>::~StudentManage()
{delete shead;
}
template<class T>
StudentManage<T>& StudentManage<T>::SInsert(int k, const T& sid, const string& sname, const string& ssex, const T& sage, const T& sscore)
{Student<T>* p = shead;Student<T>* newNode = new Student<T>;newNode->Sid = sid;newNode->Sname = sname;newNode->Ssex = ssex;newNode->Sage = sage;newNode->Sscore = sscore;int len = SGetLength();if (k<1 || k>len + 1)cout << "失败";else {for (int i = 1; i < k; i++)p = p->next;newNode->next = p->next;p->next = newNode;}return *this;}
template<class T>
bool StudentManage<T>::SIsEmpty() const
{return shead->next == NULL;
}
template<class T>
int StudentManage<T>::SGetLength() const
{int length = 0;Student<T>* p = shead->next;while (p) {length++;p = p->next;}return length;
}
template<class T>
bool StudentManage<T>::SGetData(int k, T& sid, string& sname, string& ssex, T& sage, T& sscore)
{Student<T>* p = shead->next;int index = 1;if (k<1 || k>SGetLength())return false;while (p != NULL && index < k) {index++;p = p->next;}if (p == NULL)return false;else {sid = p->Sid;sname = p->Sname;ssex = p->Ssex;sage = p->Sage;sscore = p->Sscore;return true;}
}
template<class T>
bool StudentManage<T>::SModifyData(int k, const T& sid, const string& sname, const string& ssex, const T& sage, const T& sscore)
{Student<T>* p = shead->next;int index = 1;if (k<1 || k>SGetLength())return false;while (p != NULL && index < k) {index++;p = p->next;}if (p == NULL)return false;else {p->Sid = sid;p->Sname = sname;p->Ssex = ssex;p->Sage = sage;p->Sscore = sscore;return true;}
}
template<class T>
int StudentManage<T>::SFind(const int& sid)
{Student<T>* p = shead->next;int index = 1;while (p != NULL && p->Sid != sid) {p = p->next;index++;}if (p != NULL)return index;elsereturn 0;
}
template<class T>
StudentManage<T>& StudentManage<T>::SDelete(int k, T& sid, string& sname, string& ssex, T& sage, T& sscore)
{if (SGetData(k, sid, sname, ssex, sage, sscore)) {Student<T>* p = shead;Student<T>* q = NULL;for (int i = 1; i < k; i++)p = p->next;q = p->next;p->next = q->next;delete q;}elsecout << "失败";return *this;
}
template<class T>
void StudentManage<T>::Sort(T a[])
{int n = SGetLength();T  i, j, temp;for (i = 1; i < n; i++) {if (a[i] < a[i - 1]) {temp = a[i];for (j = i - 1; j >= 0 && a[j] > temp; --j)a[j + 1] = a[j];a[j + 1] = temp;}}
}
template<class T>
void StudentManage<T>::SOutPut(ostream& sout) const
{Student<T>* p = shead->next;while (p != NULL) {sout << "学生编号:" << p->Sid << "学生姓名:" << p->Sname << "学生性别:" << p->Ssex << "学生年龄:" << p->Sage << "学生总分:" << p->Sscore <<" " << endl;p = p->next;}
}
template <class T>
ostream& operator<<(ostream& sout, StudentManage<T>& x) {x.SOutPut(sout);return sout;
}
//班级
template<class T>
inline ClassManage<T>::ClassManage()
{chead = new Class<T>();
}
template<class T>
ClassManage<T>::~ClassManage()
{delete chead;
}
template<class T>
ClassManage<T>& ClassManage<T>::CInsert(int k, const T& cid, const string& cname, const string& cbzrname, const string& cxsname)
{Class<T>* p = chead;Class<T>* newNode = new Class<T>;newNode->Cid = cid;newNode->CName = cname;newNode->CBzrName = cbzrname;newNode->CXsName = cxsname;int len = CGetLength();if (k<1 || k>len + 1)cout << "失败";else {for (int i = 1; i < k; i++)p = p->next;newNode->next = p->next;p->next = newNode;}return *this;
}
template<class T>
bool ClassManage<T>::CIsEmpty() const
{return chead->next == NULL;
}
template<class T>
int ClassManage<T>::CGetLength() const
{int length = 0;Class<T>* p = chead->next;while (p) {length++;p = p->next;}return length;
}
template<class T>
bool ClassManage<T>::CGetData(int k, T& cid, string& cname, string& cbzrname, string& cxsname)
{Class<T>* p = chead->next;int index = 1;if (k<1 || k>CGetLength())return false;while (p != NULL && index < k) {index++;p = p->next;}if (p == NULL)return false;else {cid = p->Cid;cname = p->CName;cbzrname = p->CBzrName;cxsname = p->CXsName;return true;}
}
template<class T>
bool ClassManage<T>::CModifyData(int k, const T& cid, const string& cname, const string& cbzrname, const string& cxsname)
{Class<T>* p = chead->next;int index = 1;if (k<1 || k>CGetLength())return false;while (p != NULL && index < k) {index++;p = p->next;}if (p == NULL)return false;else {p->Cid = cid;p->CName = cname;p->CBzrName = cbzrname;p->CXsName = cxsname;return true;}
}
template<class T>
int ClassManage<T>::CFind(const int& cid)
{Class<T>* p = chead->next;int index = 1;while (p != NULL && p->Cid != cid) {p = p->next;index++;}if (p != NULL)return index;elsereturn 0;
}
template<class T>
ClassManage<T>& ClassManage<T>::CDelete(int k,  T& cid, string& cname, string& cbzrname, string& cxsname)
{if (CGetData(k, cid, cname, cbzrname, cxsname)) {Class<T>* p = chead;Class<T>* q = NULL;for (int i = 1; i < k; i++)p = p->next;q = p->next;p->next = q->next;delete q;}elsecout << "失败";return *this;
}
template<class T>
void ClassManage<T>::COutPut(ostream& cout) const
{Class<T>* p = chead->next;while (p != NULL) {cout << "班级编号:" << p->Cid << "班级:" << p->CName << "班主任姓名:" << p->CBzrName << "学生姓名:" << p->CXsName <<" " << endl;p = p->next;}
}
template <class T>
ostream& operator<<(ostream& cout, ClassManage<T>& x) {x.COutPut(cout);return cout;
}
//成绩
template<class T>
inline GradeManage<T>::GradeManage()
{ghead = new Grade<T>();
}
template<class T>
GradeManage<T>::~GradeManage()
{delete ghead;
}
template<class T>
GradeManage<T>& GradeManage<T>::GInsert(int k, const string& gname, const T& gscore)
{Grade<T>* p = ghead;Grade<T>* newNode = new Grade<T>;newNode->Gname = gname;newNode->Gscore = gscore;int len = GGetLength();if (k<1 || k>len + 1)cout << "失败";else {for (int i = 1; i < k; i++)p = p->next;newNode->next = p->next;p->next = newNode;}return *this;
}
template<class T>
bool GradeManage<T>::GIsEmpty() const
{return ghead->next == NULL;
}
template<class T>
int GradeManage<T>::GGetLength() const
{int length = 0;Grade<T>* p = ghead->next;while (p) {length++;p = p->next;}return length;
}
template<class T>
bool GradeManage<T>::GGetData(int k, string& gname, T& gscore)
{Grade<T>* p = ghead->next;int index = 1;if (k<1 || k>GGetLength())return false;while (p != NULL && index < k) {index++;p = p->next;}if (p == NULL)return false;else {gname = p->Gname;gscore = p->Gscore;return true;}
}
template<class T>
bool GradeManage<T>::GModifyData(int k, const string& gname, const T& gscore)
{Grade<T>* p = ghead->next;int index = 1;if (k<1 || k>GGetLength())return false;while (p != NULL && index < k) {index++;p = p->next;}if (p == NULL)return false;else {p->Gname = gname;p->Gscore = gscore;return true;}
}
template<class T>
int GradeManage<T>::GFind(const string& gname)
{Grade<T>* p = ghead->next;int index = 1;while (p != NULL && p->Gname != gname) {p = p->next;index++;}if (p != NULL)return index;elsereturn 0;
}
template<class T>
GradeManage<T>& GradeManage<T>::GDelete(int k, string& gname, T& gscore)
{if (GGetData(k, gname, gscore)) {Grade<T>* p = ghead;Grade<T>* q = NULL;for (int i = 1; i < k; i++)p = p->next;q = p->next;p->next = q->next;delete q;}elsecout << "失败";return *this;
}
template<class T>
void GradeManage<T>::GOutPut(ostream& gout) const
{Grade<T>* p = ghead->next;while (p != NULL) {gout << "课程名称:" << p->Gname << "课程成绩:" << p->Gscore<<" " << endl;p = p->next;}
}
template <class T>
ostream& operator<<(ostream& gout, GradeManage<T>& x) {x.GOutPut(gout);return gout;
}/*
int main() {//学生StudentManage<int> s;s.SInsert(1, 1, "小明", "男",23 , 290);s.SInsert(2, 2, "张三", "男", 22, 280);s.SInsert(3, 3, "小红", "女", 21, 270);s.SInsert(4, 4, "李四", "男", 24, 260);cout << s;int n = s.SGetLength();cout << "共有" << n << "条数据" << endl;s.SModifyData(3, 3, "小丽", "女", 21, 270);cout << s;int sid, sage, sscore; string sname, ssex;int sid1, sage1, sscore1; string sname1, ssex1;s.SGetData(1, sid,  sname,ssex, sage, sscore);cout << "学生编号:" << sid << " 学生姓名:" << sname << " 学生性别:" << ssex << " 学生年龄:" << sage << " 学生总分:" << sscore << endl;s.SDelete(2, sid1, sname1, ssex1, sage1, sscore1);cout << "删除学生编号:" << sid1 << " 学生姓名:" << sname1 << " 学生性别:" << ssex1 << " 学生年龄:" << sage1 << " 学生总分:" << sscore1 << endl;cout << s;//班级ClassManage<int> c;c.CInsert(1,1,"一班","李主任","王麻子");c.CInsert(2, 2,"一班", "李主任", "十大");c.CInsert(3, 3,"一班", "李主任", "的撒");cout << c;int x = c.CGetLength();cout << "共有" << x << "条数据" << endl;c.CModifyData(3, 3, "一班", "张主任", "的撒");cout << c;int cid; string cname, cbzrname,cxsname;c.CGetData(1, cid, cname, cbzrname, cxsname);cout << "班级编号:" << cid << " 班级:" <<cname << " 班主任姓名:" << cbzrname << " 学生姓名:" << cxsname << endl;//成绩GradeManage<int> g;g.GInsert(1, "c++", 90);g.GInsert(1, "java", 90);cout << g;int t = g.GGetLength();cout << "共有" << t << "条数据" << endl;g.GModifyData(2,  "python", 92);cout << g;string gname;int gscore;g.GGetData(1, gname, gscore);cout << "课程名称:" << gname << " 课程成绩:" << gscore << endl;return 0;
}
*/int main() {ofstream outfile;//终端输入--内存--文本//学生StudentManage<int> stud;stud.SInsert(1, 1, "小明", "男", 23, 290);stud.SInsert(2, 2, "张三", "男", 22, 280);stud.SInsert(3, 3, "小红", "女", 21, 270);stud.SInsert(4, 4, "李四", "男", 24, 260);int sid; string sname; string ssex; int sage; int sscore;int sid1; string sname1; string ssex1; int sage1; int sscore1;int sid2; string sname2; string ssex2; int sage2; int sscore2;//班级ClassManage<int> cla;cla.CInsert(1, 1, "一班", "李主任", "王麻子");cla.CInsert(2, 2, "一班", "李主任", "王五");cla.CInsert(3, 3, "二班", "李主任", "达摩");int cid; string cname, cbzrname, cxsname;int cid1; string cname1, cbzrname1, cxsname1;int cid2; string cname2, cbzrname2, cxsname2;//成绩GradeManage<int> gra;gra.GInsert(1, "c++", 90);gra.GInsert(1, "java", 90);string gname; int gscore;string gname1; int gscore1;string gname2; int gscore2;//主界面cout << "欢迎来到学生成绩管理系统!" << endl;cout << "选择1,进入学生信息管理"<<endl;cout << "选择2,进入班级信息管理" << endl;cout << "选择3,进入成绩信息管理" << endl;cout <<"输入999退出" << endl;int n; cout << "请输入选项:"; cin >> n;while (n != 999) {switch (n){case 1:cout << "欢迎来到学生信息管理,输入999退出" << endl;cout << "1、查看学生信息\n2、增加学生信息\n3、修改学生信息\n4、删除学生信息\n5、保存学生信息\n6、读取学生信息\n7、学生按总成绩排序*" << endl;int s; cout << "请输入选项:"; cin >> s;while(s!=999){switch (s){case 1:cout << "查看学生信息" << endl;cout << stud << endl;break;case 2:cout << "增加学生信息" << endl;int k;cout << "请输入学生位置" << endl; cin >> k;cout << "请输入编号:"; cin >> sid;cout << "请输入姓名:"; cin >> sname;cout << "请输入性别:"; cin >> ssex;cout << "请输入年龄:"; cin >> sage;cout << "请输入总分:"; cin >> sscore;stud.SInsert(k, sid, sname, ssex, sage, sscore);break;case 3:cout << "修改学生信息" << endl;int k1;cout << "请输入要修改的学生位置" << endl; cin >> k1;cout << "请输入要修改的编号:"; cin >> sid1;cout << "请输入要修改的姓名:"; cin >> sname1;cout << "请输入要修改的性别:"; cin >> ssex1;cout << "请输入要修改的年龄:"; cin >> sage1;cout << "请输入要修改的总分:"; cin >> sscore1;stud.SModifyData(k1, sid1, sname1, ssex1, sage1, sscore1);break;case 4:cout << "删除学生信息" << endl;int k2;cout << "请输入要删除的学生位置" << endl; cin >> k2;cout << "请输入要删除的编号:"; cin >> sid2;cout << "请输入要删除的姓名:"; cin >> sname2;cout << "请输入要删除的性别:"; cin >> ssex2;cout << "请输入要删除的年龄:"; cin >> sage2;cout << "请输入要删除的总分:"; cin >> sscore2;stud.SDelete(k2, sid2, sname2, ssex2, sage2, sscore2);break;case 5:cout << "保存学生信息" << endl;outfile.open("F:\student.txt");outfile << stud << endl;outfile.close();break;case 6:cout << "读取学生信息" << endl;{ifstream in("F:\student.txt", ios::in);if (!in.fail()){while (!in.eof()){string str5;in >> str5;cout << str5 << endl;}}}break;case 7:cout << "学生按总成绩排序" << endl;break;default:break;}cout << "请输入选项:"; cin >> s;}break;case 2:cout << "欢迎来到班级信息管理,输入999退出" << endl;cout << "1、查看班级信息\n2、增加班级信息\n3、修改班级信息\n4、删除班级信息\n5、保存班级信息\n6、读取班级信息" << endl;int c; cout << "请输入选项:"; cin >> c;while (c != 999) {switch (c){case 1:cout << "查看班级信息" << endl;cout << cla << endl;break;case 2:cout << "增加班级信息" << endl;int k;cout << "请输入班级位置" << endl; cin >> k;cout << "请输入班级编号:"; cin >> cid;cout << "请输入班级名称:"; cin >> cname;cout << "请输入班主任名称:"; cin >> cbzrname;cout << "请输入学生名字:"; cin >> cxsname;cla.CInsert(k, cid, cname, cbzrname, cxsname);break;case 3:cout << "修改班级信息" << endl;int k1;cout << "请输入班级位置" << endl; cin >> k1;cout << "请输入班级编号:"; cin >> cid1;cout << "请输入班级名称:"; cin >> cname1;cout << "请输入班主任名称:"; cin >> cbzrname1;cout << "请输入学生名字:"; cin >> cxsname1;cla.CModifyData(k1, cid1, cname1, cbzrname1, cxsname1);break;case 4:cout << "删除班级信息" << endl;int k2;cout << "请输入班级位置" << endl; cin >> k2;cout << "请输入班级编号:"; cin >> cid2;cout << "请输入班级名称:"; cin >> cname2;cout << "请输入班主任名称:"; cin >> cbzrname2;cout << "请输入学生名字:"; cin >> cxsname2;cla.CDelete(k2, cid2, cname2, cbzrname2, cxsname2);break;case 5:cout << "保存班级信息" << endl;outfile.open("F:\class.txt");outfile << cla << endl;outfile.close();break;case 6:cout << "读取班级信息" << endl;{ifstream in("F:\class.txt", ios::in);if (!in.fail()){while (!in.eof()){string str5;in >> str5;cout << str5 << endl;}}}break;default:break;}cout << "请输入选项:"; cin >> c;}break;case 3:cout << "欢迎来到成绩信息管理,输入999退出" << endl;cout << "1、查看成绩信息\n2、增加成绩信息\n3、修改成绩信息\n4、删除成绩信息\n5、保存成绩信息\n6、读取成绩信息" << endl;int g; cout << "请输入选项:"; cin >> g;while (g != 999) {switch (g){case 1:cout << "查看成绩信息" << endl;cout << gra << endl;break;case 2:cout << "增加成绩信息" << endl;int k;cout << "请输入成绩位置" << endl; cin >> k;cout << "请输入课程名称:"; cin >> gname;cout << "请输入课程成绩:"; cin >> gscore;gra.GInsert(k, gname, gscore);break;case 3:cout << "修改成绩信息" << endl;int k1;cout << "请输入成绩位置" << endl; cin >> k1;cout << "请输入课程名称:"; cin >> gname1;cout << "请输入课程成绩:"; cin >> gscore1;gra.GModifyData(k1, gname1, gscore1);break;case 4:cout << "删除成绩信息" << endl;int k2;cout << "请输入成绩位置" << endl; cin >> k2;cout << "请输入课程名称:"; cin >> gname2;cout << "请输入课程成绩:"; cin >> gscore2;gra.GDelete(k2, gname2, gscore2);break;case 5:cout << "保存成绩信息" << endl;outfile.open("F:\grade.txt");outfile << gra << endl;outfile.close();break;case 6:cout << "读取成绩信息" << endl;{ifstream in("F:\grade.txt", ios::in);if (!in.fail()){while (!in.eof()){string str5;in >> str5;cout << str5 << endl;}}}break;default:break;}cout << "请输入选项:"; cin >> g;}break;default:break;}cout << "请输入选项:"; cin >> n;}/*ofstream outfile;//终端输入--内存--文本outfile.open("F:\student.txt", ios::binary | ios::app | ios::in | ios::out);//注意,里面有iOS::app,表示打开文件后,在写入的文件不会覆盖原文件中的内容,也就是原来文件中的数据会得到保存。//outfile << "学生编号:" << sid << "  学生姓名: " << sname << "  学生性别:" << ssex << "  学生年龄:" << sage << "  学生总分:" << sscore << endl;outfile << stud << endl;outfile.close();
*/return 0;
}

C++之学生成绩管理系统相关推荐

  1. c语言输入学生成绩q退出,哭诉、拜求C语言学生成绩管理系统

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* Note:Your choice is C IDE */ #include "stdio.h" #include "s ...

  2. java开发的简易学生成绩管理系统

    经过1个月的紧张学习和应用,终于做出了这个简易的学生成绩管理系统. 代码如下(仅供参考学习) view包下的菜单 package com.xujulong.www.view: import java. ...

  3. 基于SSH实现的学生成绩管理系统

    开发语言:JAVA 开发技术:spring+springmvvc+hibernate+easyui 数据库:MYSQL 开发工具:IDEA / Eclipse 该学生成绩管理系统主要包括前台用户界面的 ...

  4. KS006基于SSM实现学生成绩管理系统

    项目简介 本系统是基于JSP+SSM+Mysql实现的学生成绩管理系统.主要实现的功能有教师管理.学生管理.课程管理.学生成绩管理. 难度等级:中等 技术栈 编辑器 Eclipse Version: ...

  5. php成绩管理前段模板,php学生成绩管理系统(模板).doc

    . .. 计算机与通信学院 2013年春季学期 题 目:学生成绩管理系统 专业班级:软件工程基地班 姓 名:陶婷婷 学 号 目录 TOC \o "1-2" \h \u HYPERL ...

  6. 用链表c语言程序设计,C语言程序设计-基于链表的学生成绩管理系统

    <C语言程序设计-基于链表的学生成绩管理系统>由会员分享,可在线阅读,更多相关<C语言程序设计-基于链表的学生成绩管理系统(18页珍藏版)>请在人人文库网上搜索. 1.华北科技 ...

  7. c语言用链表实现成绩管理系统,C语言基于单链表得学生成绩管理系统

    前言 传说中讲课通俗而不庸俗,说话风流而不下流的小编又来了哦,今天的主要内容是:C语言基于单链表得学生成绩管理系统.首先给年夜家总结下为什么你们学习C语言会觉得难,尤其是对单链表这块,主要原因得是因为 ...

  8. python成绩管理系统界面-python实现简易版学生成绩管理系统

    300来行python代码实现简易版学生成绩管理系统,供大家参考,具体内容如下 使用链表来实现 class Node(object): def __init__(self, data, pointer ...

  9. python学生管理系统-python实现学生成绩管理系统

    本文实例为大家分享了Python实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 基本功能: 输入并存储学生的信息:通过输入学生的学号.姓名.和分数,然后就可以把数据保存在建立的student ...

  10. 【转】 [C/OC的那点事儿]NSMutableArray排序的三种实现(依赖学生成绩管理系统).

    原文网址:http://blog.csdn.net/ministarler/article/details/17018839 c语言实现的学生成绩管理系统是面向过程的,而OC实现的学生成绩管理系统则是 ...

最新文章

  1. python矩阵处理库_用于处理非常大的矩阵的Python库
  2. java web项目目录报错_netdevgirl.通过maven创建javaweb项目
  3. 腾讯天衍实验室主任郑冶枫
  4. 计算机的病毒防治教案,计算机病毒及其防治教案.doc
  5. Redis的session管理和Memcached的session管理不同
  6. pythonnamedtuple定义类型_python-自定义type.NamedTuple
  7. PureMVC(AS3)剖析:吐槽
  8. php 取utc时间,得到UTC时间在PHP
  9. cad中线段求和lisp_cad中连续线段变更圆滑弧形
  10. 用PyMC3进行贝叶斯统计分析(代码+实例)
  11. 易优cms红色风格春节年货礼品公司网站模板源码
  12. 03 验证合法性连接的服务端
  13. mybaties知识点整理与SSM
  14. 微信语音技术原理_微信语音多群直播原理-一起学堂
  15. 使用虚幻4开发HoloLens的准备工作
  16. 当元宇宙撞上赛博文化 | 成为「大创夜家」
  17. 微信小程序—audio(音频)
  18. php图片的编码是什么,jpeg是什么图像压缩编码标准
  19. 如何做CEdit中的Undo,Redo(和word类似的输入法输入一次为一个回退块)
  20. win10安装oracle11g

热门文章

  1. 【Python学习笔记】复习sql主键外键索引
  2. c标准库中scanf用法
  3. 对口升学计算机基础知识教案,教案河北省计算机专业对口升学讲义--计算机基础知识部分.ppt...
  4. tfs管理java代码_TFS2010 版本控制权限设置
  5. android基础教程:多个页面时如何设置首页
  6. FFT算法实现,python,Java
  7. 计算机图形学(九)-纹理的应用,环境贴图、凹凸贴图、法线贴图、位移贴图
  8. ShadowGun Shaders
  9. 显示农历天气时钟小部件下载_软媒时间-时间栏的效率小软件
  10. codesmith oracle 64,CodeSmith OracleModel写法