自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (5)
  • 收藏
  • 关注

转载 Java SE、Java EE、Java ME三者的区别

Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。Java EE(Java Platform,

2016-12-29 22:24:38 562

转载 Java中的Random()函数

最后再来简单对比一下这两个随机函数到底的特点:1.java.Math.Random()实际是在内部调用java.util.Random()的,它有一个致命的弱点,它和系统时间有关,也就是说相隔时间很短的两个random比如:double a = Math.random();double b = Math.random();即有可能会得到两个一模一样的double。2.java.util.Random()在调

2016-12-21 16:19:09 490

翻译 System.exit(0)和System.exit(1)区别

System.exit(0)和System.exit(1)

2016-12-21 15:19:36 424

转载 parseInt()和parseFloat()的区别

parseInt()parseFloat()

2016-12-21 15:10:44 730

转载 神经网络中的反向传播法——Back Propagation

反向传播法其实是神经网络的基础了,但是很多人在学的时候总是会遇到一些问题,或者看到大篇的公式觉得好像很难就退缩了,其实不难,就是一个链式求导法则反复用。如果不想看公式,可以直接把数值带进去,实际的计算一下,体会一下这个过程之后再来推导公式,这样就会觉得很容易了。

2016-12-05 11:29:35 1454

转载 L0 norm、L1 norm、L2 norm(L0、L1、L2范数)

L0、L1、L2范数介绍

2016-12-04 22:25:41 8582

转载 机器学习中的标签数据和无标签数据(监督、非监督和半监督学习)

原文链接http://www.shujuren.org/article/62.html 原文如下监督式和非监督式机器学习算法作者 Frankchen 什么是监督式机器学习,它与和非监督式机器学习有什么关联呢?本文中你将了解到监督式学习,非监督式学习和半监督式学习在阅读本文之后你将知道如下知识:有关分类和回归的监督式学习问题 关于聚类和关联非监督式学习问题 用于监督式和非监督式问题的Exampl

2016-12-04 10:59:56 22455 2

原创 Thinkphp提示目录不可写,目录无法自动生成请手动生成项目目录

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-11-16 15:13:10 2768

电脑快捷键使用指南

方便 快捷,让大家使用电脑时,不必烦于在工具栏中查找某项功能,快捷键指南能够更有效地帮助大家

2013-04-09

学生信息管理系统

三 学生管理系统 (难度系数*****) 使用下面的数据,设计一个简单的学籍管理系统,实现出最基本的功能。 学生基本信息文件(a.txt)及其内容:事先提供,格式如下 学号 姓名 性别 宿舍号码 电话号码 01 李成成 男 501 87732111 02 李成华 女 101 87723112 03 王成凤 女 101 87723112 04 张明明 男 502 87734333 05 陈东 男 501 87732111 06 李果 男 502 87734333 07 张圆圆 女 102 87756122 。。。。。。。。。 学生成绩基本信息文件(b.txt)及其内容: 学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 综合成绩 实得学分 01 A01 大学物理 3 66 78 82 02 B03 高等数学 4 78 -1 90 01 B03 高等数学 4 45 -1 88 02 C01 VF 3 65 76 66 ``````````````` (一)功能要求及说明: (1) 数据录入功能:对b.txt进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据,综合成绩、实得学分由程序根据条件自动运算。 综合成绩的计算:如果本课程的实验成绩为-1,则表示本课程无实验,综合成绩=平时成绩*30%+卷面成绩*70%;如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70%。 实得学分的计算:采用等级学分制。 综合成绩在90-100之间,应得学分=学分*100% 综合成绩在80-90之间,应得学分=学分*80% 综合成绩在70-80之间,应得学分=学分*75% 综合成绩在60-70之间,应得学分=学分*60% 综合成绩在60以下,应得学分=学分*0% (2)查询功能:分为学生基本情况查询和成绩查询两种 A:学生基本情况查询: A1---输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。 A2---输入一个宿舍号码,可查询本室所有的学生的基本信息并显示输出。 B:成绩查询: B1:输入一个学号时,查询出此生的所有课程情况,格式如下: 学号 :XX 姓名: XXXXXXXX 课程编号: 课程名称: 综合成绩: 实得学分: 学号 :XX 姓名: XXXXXXXX 课程编号: 课程名称: 综合成绩: 实得学分: 学号 :XX 姓名: XXXXXXXX 课程编号: 课程名称: 综合成绩: 实得学分:学号 :XX 姓名: XXXXXXXX 课程编号: 课程名称: 综合成绩: 实得学分: ``````````````````````````` 共修:XX科,实得总学分为:XXXX (2) 删除功能:当在a.txt中删除一个学生时,自动地在b.txt中删除此人所有信息。 (3) 排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。

2012-12-04

学生信息管理系统代码

学生信息管理系统# include # include # include #include #include using namespace std; struct Student1 { char *num;//学号 char *subnum;//课程编号 char *subname;//课程编号 char *grade;//学分 char *score1;//平时成绩 char *score2;//实验成绩 char *score3;//卷面成绩 float m;//综合成绩 float n;//实得学分 Student1 *next; };//学号 姓名 性别 宿舍号码 电话号码 struct Student2 { char *num;//学号 char *name;//姓名 char *sex;//性别 char *roomnum;//宿舍号码 char *tel;//电话号码 Student2 * next; }; struct InfList { Student2* head; int size; }; struct CourseList { Student1 * head; int size; }; InfList create2()//创建一个空链表 { InfList list; list.head=0; list.size=0; return list; } CourseList create1()//创建一个空链表 { CourseList list; list.head = 0; list.size = 0; return list; } void deleteAll1(Student1 * p)//cc { delete []p->num; delete []p->grade; delete []p->subnum; delete []p->subname; } void deleteAll(Student2* p1)//in { delete []p1->name; delete []p1->num; delete []p1->roomnum; delete []p1->sex; delete []p1->tel; } void removeAll1 (CourseList & list) { Student1 *p1; while(list.head != NULL) { p1 = list.head; list.head = list.head->next; delete p1; } list.size = 0; } void removeAll (InfList & list) { Student2 *p1; while(list.head != NULL) { p1 = list.head; list.head = list.head->next; delete p1; } list.size = 0; } double getM(char* a,char *b,char *c)//计算综合成绩 { double m; double a1=atof(a); double b1=atof(b); double c1=atof(c); if(!strcmp(b,"-1")) { m=a1*(0.3)+c1*(0.7); return m; } else { m=a1*(0.15)+b1*(0.15)+c1*(0.7); return m; } } double getN(char *a,double b)//计算实得学分 { double n; double a1=atof(a); switch(int(b)/10) { case 10: case 9:n=a1*1;return n;break; case 8:n=a1*(0.8);return n;break; case 7:n=a1*(0.75);return n;break; case 6:n=a1*(0.6);return n;break; default:n=0;return n; } } CourseList LoadData1 (CourseList & list) //将成绩数据读入数组中,动态变量管理 { list=create1(); ::ifstream infile&#40;"b.txt",ios::in|ios::nocreate&#41;;//打开成绩文件 if(!infile) { cout<<"不能打开文件:b.txt"<>buff; if(infile.eof()) break; p1->num=new char[strlen(buff)+1]; strcpy(p1->num,buff); infile>>buff; p1->subnum=new char[strlen(buff)+1]; strcpy(p1->subnum,buff); infile>>buff; p1->subname=new char[strlen(buff)+1]; strcpy(p1->subname,buff); infile>>buff; p1->grade=new char[strlen(buff)+1]; strcpy(p1->grade,buff); infile>>buff; p1->score1=new char[strlen(buff)+1]; strcpy(p1->score1,buff); infile>>buff; p1->score2=new char[strlen(buff)+1]; strcpy(p1->score2,buff); infile>>buff; p1->score3=new char[strlen(buff)+1]; strcpy(p1->score3,buff); p1->m=getM(p1->score1,p1->score2,p1->score3); p1->n=getN(p1->grade,p1->m); p1->next=NULL; if (list.head==0) list.head=p1; else p2->next=p1; p2=p1; n++; } list.size=n; infile.close(); return list; } InfList LoadData (InfList & list) //将基本信息数据读入数组中,动态变量管理 { list=create2(); ::ifstream infile&#40;"a.txt",ios::in|ios::nocreate&#41;;//打开信息文件 if(!infile) { cout<<"不能打开文件:a.txt"<>buff; if(infile.eof()) break; p1->num=new char[strlen(buff)+1]; strcpy(p1->num,buff); infile>>buff; p1->name=new char[strlen(buff)+1]; strcpy(p1->name,buff); infile>>buff; p1->sex=new char[strlen(buff)+1]; strcpy(p1->sex,buff); infile>>buff; p1->roomnum=new char[strlen(buff)+1]; strcpy(p1->roomnum,buff); infile>>buff; p1->tel=new char[strlen(buff)+1]; strcpy(p1->tel,buff); p1->next=NULL; if (list.head==0) list.head=p1; else p2->next=p1; p2=p1; n++; } list.size=n; return list; infile.close(); } char * getChar(const char * sen) { cout<<sen<>c; while(!cin.good()) { cin.clear(); cin.getline(buffer, 80); cout<>c; } return c; } int getInt( const char * msg) { cout<<msg<>n; while(!cin.good()) { cin.clear(); cin.getline(buffer, 80); cout<>n; } return n; } void print(CourseList &list;)//输出所有数据 { system&#40;"cls"&#41;;//清屏 LoadData1(list); cout<<setiosflags(ios::left); cout<<"学生成绩录入:"<<endl<<'\n'; Student1 *p = list.head; cout<<"学号"<<setw(10)<<"课程编号"<<setw(10)<<"课程名称"<<setw(9)<<"学分"; cout<<setw(8)<<"平时成绩"<<setw(10)<<"实验成绩"<<setw(10)<<"卷面成绩"; cout<<setw(10)<<"综合成绩"<<setw(10)<<"实得学分"<<endl; while (p!= NULL) { cout<<setw(3)<num<<setw(10)<subnum<<setw(12)<subname<<setw(9)<grade; cout<<setw(8)<score1<<setw(10)<score2<<setw(10)<score3; cout<<setw(10)<m<<setw(10)<n<next; } cout<<"size(学生个数)="<<list.size/3<<endl; cout<next; deleteAll1(p1); } removeAll1(list); } void Numprint(InfList & list) { LoadData(list); char num[20]; int m=0; strcpy(num,getChar("请输入学号:")); cout<num,num)) { cout<<"学号"<<setw(8)<<"宿舍号"<<setw(8)<<"姓名"<<setw(8)<<"性别"<<setw(8)<<"电话号"<<endl; cout<<setw(4)<num<<setw(8)<roomnum<<setw(8)<name<<setw(8)<sex<<setw(8)<tel<next; } if(m==0) { cout<<"未找到学生学号"<<num<<endl; cout<<endl; if(getInt("是否继续查询:(1/0)")==1) Numprint(list); cout<<endl; return; } cout<<endl; if(getInt("是否继续查询:(1/0)")==1) Numprint(list); cout<next; deleteAll(p1); } removeAll(list); } void Nameprint(InfList & list) { LoadData (list); char name [20]; int m=0; strcpy(name,getChar("输入姓名:")); Student2 * p = list.head; for(int i = 0; p != NULL; i++) { if (!strcmp(p->name,name)) { cout<<"学号"<<setw(8)<<"宿舍号"<<setw(8)<<"姓名"<<setw(8)<<"性别"<<setw(8)<<"电话号"<<endl; cout<<setw(4)<num<<setw(8)<roomnum<<setw(8)<name<<setw(8)<sex<<setw(8)<tel<next; } if(m==0) { cout<<"未找到学生"<<name<<'\n'; cout<<endl; if(getInt("是否继续查询:(1/0)")==1) Nameprint(list); cout<<endl; return; } cout<<endl; if(getInt("是否继续查询:(1/0)")==1) Nameprint(list); cout<next; deleteAll(p1); } removeAll(list); } void Rnumprint(InfList & list) { LoadData (list); char rnum [20]; int m=0; strcpy(rnum,getChar("输入宿舍号:")); Student2 * p = list.head; for(int i = 0; p != NULL; i++) { if (!strcmp(p->roomnum,rnum)) { cout<<"学号"<<setw(8)<<"宿舍号"<<setw(8)<<"姓名"<<setw(8)<<"性别"<<setw(8)<<"电话号"<<endl; cout<<setw(4)<num<<setw(8)<roomnum<<setw(8)<name<<setw(8)<sex<<setw(8)<tel<next; } if(m==0) { cout<<"未找到宿舍号"<<rnum<<'\n'; cout<<endl; if(getInt("是否继续查询:(1/0)")==1) Rnumprint( list); cout<<endl;return; } cout<<endl; if(getInt("是否继续查询:(1/0)")==1) Rnumprint(list); cout<next; deleteAll(p1); } removeAll(list); } void NumPrint(CourseList & list) { LoadData1(list); char num[20]; int s=0; double sum=0; strcpy(num,getChar("请输入学号:")); cout<num,num)) { if(s==0) { cout<<' '<<"学号"<<setw(10)<<"课程编号"<<setw(9)<<"课程名称"<<setw(10)<<"综合成绩"<<setw(10)<<"实得学分"<<endl; } cout<<setw(4)<num<<setw(10)<subnum<<setw(10)<subname<<setw(10)<m<<setw(10)<n<n; } p=p->next; } cout<<"共修:"<<s<<"科,"<<"实得总学分为:"<<sum<<endl; if(s==0) { cout<<"未找到学生学号"<<num<<endl; if(getInt("是否继续查询:(1/0)")==1) NumPrint(list); cout<<endl; return; } cout<<endl; if(getInt("是否继续查询:(1/0)")==1) NumPrint(list); cout<next; deleteAll1(p1); } removeAll1(list); } int Gochoice () { system&#40;"cls"&#41;; cout<<" \n\n"; cout<<" 学 生 基 本 信 息 查 询"; cout<<"\n\n \n\n"; cout<< "输入命令编号:\n\n"; cout<<" 1. 学号查询\n"<<endl; cout<<" 2. 姓名查询\n"<<endl; cout<<" 3. 宿舍号查询\n"<<endl; cout<<" 0. 返回菜单\n"<<endl; return getInt("选择命令:"); } void GetAll() { CourseList list; print(list); } void LookInf()//查询学生信息 { int choice; InfList list1; while((choice = Gochoice()) != 0) { switch(choice) { case 1: Numprint(list1); break; case 2: Nameprint(list1); break; case 3: Rnumprint(list1); break; default:cout<<"输入命令不存在\n"; } } } void LookGrade()//查询成绩 { CourseList list; NumPrint(list); } void Remove1 (InfList &list;, const int index)//删除a.txt中的数据 { system&#40;"cls"&#41;; cout<<setiosflags(ios::left); if (list.size == 0 || index list.size) return ; if (index == 0) { list.size--; Student2 *p = list.head; list.head = list.head->next; cout<<"删除文件a.txt中:"<<endl; cout<<' '<<"学号"<<setw(10)<<"姓名"<<setw(10)<<"性别"<<setw(10)<<"宿舍号"<<setw(10)<<"电话"<<endl; cout<<setw(4)<num<<setw(10)<name<<setw(10)<sex<<setw(10)<roomnum<<setw(10)<tel<<endl<<'\n'; delete p; return ; } Student2 *p1 = list.head, *p2 = p1; for(int i = 0; i next; } list.size--; p1->next = p2->next; cout<<"删除文件a.txt中:"<<endl; cout<<"学号"<<setw(8)<<"姓名"<<setw(10)<<"性别"<<setw(10)<<"宿舍号"<<setw(10)<<"电话"<<endl; cout<<setw(4)<num<<setw(10)<name<<setw(10)<sex<<setw(10)<roomnum<<setw(10)<tel<<endl<<'\n'; delete p2; } void Remove2 (CourseList & list2, const int index) { cout<<setiosflags(ios::left); if (list2.size == 0 || index = list2.size) return ; if (index == 0) { list2.size--; Student1 *p = list2.head; list2.head = list2.head->next; cout<<"删除文件b.txt中:"<<endl; cout<<"学号"<<' '<<"课程编号"<<' '<<"课程名称"<<' '<<"综合成绩"<<' '<<"实得学分"<<endl; cout<<setw(4)<num<<setw(10)<subnum<<setw(10)<subname<<setw(10)<m<<setw(10)<n<<endl<<'\n'; deleteAll1(p); delete p; return ; } Student1 *p1 = list2.head, *p2 = p1; for(int i = 0; i next; } list2.size--; p1->next = p2->next; cout<<"删除文件b.txt中:"<<endl; cout<<"学号"<<' '<<"课程编号"<<' '<<"课程名称"<<' '<<"综合成绩"<<' '<<"实得学分"<<endl; cout<<setw(4)<num<<setw(10)<subnum<<setw(10)<subname<<setw(10)<m<<setw(10)<n<<endl<num,num)==0) return i; p=p->next; } return -1; } int SearchList( CourseList & list, char * num) { Student1 *p = list.head; for(int i = 0; p != NULL; i++) { if (strcmp(p->num,num)==0) return i; p = p -> next; } return -1; } void DeleteOne()//删除函数 { cout<<setiosflags(ios::left); CourseList list1;//b.txt成绩 InfList list;//a.txt LoadData (list); LoadData1(list1); Student1 * pp=list1.head; Student2 * p=list.head; char num [20]; int sen,lin; strcpy(num,getChar("输入学号:")); sen=SearchData(list,num); if(sen==-1) cout<<"未找到学生"<<num; Remove1(list,sen); for(;;) { lin=SearchList(list1,num); if(lin==-1) break; Remove2(list1,lin); } ::ofstream outfile&#40;"a.txt"&#41;; if (!outfile ) { cout << "不能打开目的文件:"<<"a.txt"<<'\n'; return; } if((list.size)!=0) outfile<<"学号"<<'\t'<<"姓名"<<'\t'<<"性别"<<'\t'<<"宿舍号码"<<'\t'<<"电话号码"<<'\n'; else cout<<"文件已空"<<endl; Student2 * p1=list.head; while(p1!=NULL) { outfile<num<<'\t'<name<<'\t'<sex<<'\t'<roomnum<<'\t'<<'\t'<tel<next; } outfile.close(); ::ofstream outfile2("b.txt",ios::out); if (!outfile2 ) { cout << "不能打开目的文件:"<<"b.txt"<<'\n'; return; } if((list1.size)!=0) { outfile2<<"学号"<<' '<<"课程编号"<<' '<<"课程名称"<<' '<<"学分"<<' '<<"平时成绩"<<' '<<"实验成绩"; outfile2<<' '<<"卷面成绩"<<' '<<"综合成绩"<<' '<<"实得学分"<<'\n'; } else cout<<"文件已空"<subname,"VC++")==0) { if(pp1->next==NULL) { outfile2<num<<setw(6)<subnum; outfile2<<setw(6)<<' '<subname<<setw(5)<<' '<grade<<setw(4)<<' '<score1; outfile2<<setw(7)<<' '<score2<<setw(7)<<' '<score3; } else { outfile2<num<<setw(6)<subnum; outfile2<<setw(6)<<' '<subname<<setw(5)<<' '<grade<<setw(4)<<' '<score1; outfile2<<setw(7)<<' '<score2<<setw(7)<<' '<score3<<'\n';} } else { outfile2<num<<setw(6)<subnum; outfile2<<setw(6)<<' '<subname<<' '<grade<<setw(4)<<' '<score1; outfile2<<setw(7)<<' '<score2<<setw(7)<<' '<score3<next; } outfile2.close(); cout<<endl; if(getInt("是否继续删除:(1/0)")==1) DeleteOne(); cout<next; deleteAll1(p1); } removeAll1(list1); while(list.head!=NULL) { Student2*p1; p1=list.head; list.head=list.head->next; deleteAll(p1); } removeAll(list); } CourseList sortM(CourseList & list)//综合成绩降序排序 { LoadData1(list); Student1 *p1,*p2; char * data1; float data2; int n; n=list.size; p1=list.head; if (n==0||n==1) return list; for(;p1->next!=NULL;p1=p1->next) { p2=p1->next; for(;p2!=NULL;p2=p2->next) { if (p1->mm) { data1=p1->num; p1->num=p2->num; p2->num=data1; data1=p1->subnum; p1->subnum=p2->subnum; p2->subnum=data1; data1=p1->subname; p1->subname=p2->subname; p2->subname=data1; data1=p1->grade; p1->grade=p2->grade; p2->grade=data1; data1=p1->score1; p1->score1=p2->score1; p2->score1=data1; data1=p1->score2; p1->score2=p2->score2; p2->score2=data1; data1=p1->score3; p1->score3=p2->score3; p2->score3=data1; data2=p1->m; p1->m=p2->m; p2->m=data2; data2=p1->n; p1->n=p2->n; p2->n=data2; } } } return list; } CourseList sortN(CourseList & list)//实得学分降序排序 { LoadData1(list); Student1 *p1,*p2; char * data1; float data2; int n; n=list.size; p1=list.head; if (n==0||n==1) return list; for(p1=list.head;p1->next!=NULL;p1=p1->next) { p2=p1->next; for(;p2!=NULL;p2=p2->next) { if (p1->nn) { data1=p1->num; p1->num=p2->num; p2->num=data1; data1=p1->subnum; p1->subnum=p2->subnum; p2->subnum=data1; data1=p1->subname; p1->subname=p2->subname; p2->subname=data1; data1=p1->grade; p1->grade=p2->grade; p2->grade=data1; data1=p1->score1; p1->score1=p2->score1; p2->score1=data1; data1=p1->score2; p1->score2=p2->score2; p2->score2=data1; data1=p1->score3; p1->score3=p2->score3; p2->score3=data1; data2=p1->m; p1->m=p2->m; p2->m=data2; data2=p1->n; p1->n=p2->n; p2->n=data2; } } } /*while(list.head!=NULL) { Student1*p1; p1=list.head; list.head=list.head->next; deleteAll1(p1); } removeAll1(list);*/ return list; } CourseList sortMM(CourseList & list)//综合成绩升序排序 { LoadData1(list); Student1 *p1,*p2; char * data1; float data2; int n; n=list.size; p1=list.head; if (n==0||n==1) return list; for(p1=list.head;p1->next!=NULL;p1=p1->next) { p2=p1->next; for(;p2!=NULL;p2=p2->next) { if (p1->m>p2->m) { data1=p1->num; p1->num=p2->num; p2->num=data1; data1=p1->subnum; p1->subnum=p2->subnum; p2->subnum=data1; data1=p1->subname; p1->subname=p2->subname; p2->subname=data1; data1=p1->grade; p1->grade=p2->grade; p2->grade=data1; data1=p1->score1; p1->score1=p2->score1; p2->score1=data1; data1=p1->score2; p1->score2=p2->score2; p2->score2=data1; data1=p1->score3; p1->score3=p2->score3; p2->score3=data1; data2=p1->m; p1->m=p2->m; p2->m=data2; data2=p1->n; p1->n=p2->n; p2->n=data2; } } } return list; } CourseList sortNN(CourseList & list)//实得学分升序排序 { LoadData1(list); Student1 *p1,*p2; char * data1; float data2; int n; n=list.size; p1=list.head; if (n==0||n==1) return list; for(p1=list.head;p1->next!=NULL;p1=p1->next) { p2=p1->next; for(;p2!=NULL;p2=p2->next) { if (p1->n>p2->n) { data1=p1->num; p1->num=p2->num; p2->num=data1; data1=p1->subnum; p1->subnum=p2->subnum; p2->subnum=data1; data1=p1->subname; p1->subname=p2->subname; p2->subname=data1; data1=p1->grade; p1->grade=p2->grade; p2->grade=data1; data1=p1->score1; p1->score1=p2->score1; p2->score1=data1; data1=p1->score2; p1->score2=p2->score2; p2->score2=data1; data1=p1->score3; p1->score3=p2->score3; p2->score3=data1; data2=p1->m; p1->m=p2->m; p2->m=data2; data2=p1->n; p1->n=p2->n; p2->n=data2; } } } /*while(list.head!=NULL) { Student1*p1; p1=list.head; list.head=list.head->next; deleteAll1(p1); } removeAll1(list);*/ return list; } void sortPrint (char * c,CourseList & list,char *cc)//输出实得学分排名 { system&#40;"cls"&#41;; Student1 * p = list.head; if (p==0) { cout<<"数据为空"<subname,c)&&!strcmp(cc,"实得学分")) { cout<<"第"<<n+1<<"名:"<<"学号:"<num<<'\t'<<"课程名称:"<subname<<'\t'<<"实得学分:"<n<subname,c)&&!strcmp(cc,"综合成绩")) { cout<<"第"<<n+1<<"名:"<<"学号:"<num<<'\t'<<"课程名称:"<subname<<'\t'<<"综合成绩:"<m<next; } if (n==0) cout<<"未找到"<<c<<'\n'; } int Select(){ cout<<"选择排序方式:"<<endl; cout<<" 1.升序"<<endl; cout<<" 2.降序"<<endl; cout<<" 0.退出"<<endl; return getInt("选择命令:"); } void Arrange1()//实得学分 { char str[3][10]={"大学物理","高等数学","VC++"}; char xf[]={"实得学分"}; int j=0; CourseList list1; char c[256]; strcpy(c,getChar("输入学科:")); for(int i=0;i<3;i++) { if (!strcmp(str[i],c)) j++; } if(j==0) cout<<"查无此学科"<<endl; else { int choice; while((choice= Select())!=0) { switch(choice) { case 1:sortPrint(c,sortNN(list1),xf);break; case 2:sortPrint(c,sortN(list1),xf);break; default:cout<<"输入命令不存在\n";cout<<"请重输:\n"<<endl;} } } if(getInt("是否继续排序:(1/0)")==1) Arrange1(); cout<next; deleteAll1(p1); } removeAll1(list1); } void Arrange2()//综合成绩 { char str[3][10]={"大学物理","高等数学","VC++"}; char zh[]={"综合成绩"}; int j=0; CourseList list1; char c[256]; strcpy(c,getChar("输入学科:")); for(int i=0;i<3;i++) { if (!strcmp(str[i],c)) j++; } if(j==0) cout<<"查无此学科"<<endl;//return; else { int choice; while((choice= Select())!=0) { switch(choice) { case 1:sortPrint(c,sortMM(list1),zh);break; case 2:sortPrint(c,sortM(list1),zh);break; default:cout<<"输入命令不存在\n"; cout<<"请重输:\n"<<endl; } } } if(getInt("是否继续排序:(1/0)")==1) Arrange2(); cout<next; deleteAll1(p1); } removeAll1(list1); } int enterChoice() { cout<<"\n\n"; cout<<" 学 生 信 息 管 理 系 统"; cout<<"\n\n\n\n"; cout<<"请输入命令编号:\n\n"; cout<<" 1. 学生成绩录入\n"; cout<<" 2. 学生信息查询\n"; cout<<" 3. 学生成绩查询\n"; cout<<" 4. 学生信息删除\n"; cout<<" 5. 实得学分排名\n"; cout<<" 6. 综合成绩排名\n"; cout<<" 0. 退出\n"; return getInt("选择命令:"); } void main() { int choice; while((choice = enterChoice()) != 0) { switch(choice) { case 1: GetAll();break; //学生成绩录入 case 2: LookInf(); system&#40;"cls"&#41;; break;//学生基本信息查询 case 3: LookGrade(); system&#40;"cls"&#41;;break;//学生成绩查询 case 4: DeleteOne(); system&#40;"cls"&#41;;break;//学生信息删除 case 5: Arrange1(); system&#40;"cls"&#41;;break;//实得学分排名 case 6: Arrange2(); system&#40;"cls"&#41;;break;//综合成绩排名 default:cout<<"输入命令不存在\n"; cout<<"请重输:\n"<<endl; } } }

2012-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除