中专生职业生涯规划书:大家看看这个那里错了

来源:百度文库 编辑:神马品牌网 时间:2024/05/04 14:27:54
#include "student.h"
#include <fstream.h>
#include <iomanip.h>
#include <stdlib.h>
#include <string.h>
Student*pF=Student::First();
void func1();//学生信息输入
void func2();//成绩统计 各科平均成绩、各科成绩"优秀"、"良好"、"中等"、
//"及格"、"不及格"的人数及其所占比例
void func3();// 总成绩统计(学生的总成绩、平均成绩及成绩排)
void func4();//学生数据输出,
void func5();//学生数据存档
void func6();//学生数据提取
void func7();//学生数据的添加、修改、与删除
void juice(int k);//判断等级
void printTabal(char*object);//等级表格输出
void bubble(int a[],int size); //冒泡排序
void add();//学生数据添加
Student*find();//学生查找
void deleteChain();//删除链表
void menu();//菜单
void chart();//图
int excellent=0,nicer=0,middling=0,passing=0,fail=0,total=0,sum=0;
int array[10000];
fstream outfile,infile;
//////////////////////////////////////////////////////////////////////////
void main()
{
menu();
}
//////////////////////////////////////////////////////////////////////////
void func1()//学生信息输入
{
int i=0;
cout<<"请输入学生人数\n";
cin>>i;
for(int j=0;j<i;j++)
{
pF=new Student;
pF->setData();
}
pF=Student::First();
}
//////////////////////////////////////////////////////////////////////////
void func2()//成绩统计 各科平均成绩、各科成绩"优秀"、"良好"、"中等"、
//"及格"、"不及格"的人数及其所占比例
{
Student*ps=pF;
total=Student::getTotal();
excellent=nicer=middling=passing=fail=sum=0;
for(ps;ps;ps=ps->Next())
{ int k=ps->getEnglish();
juice(k);
}
printTabal("英语");
ps=pF;
excellent=nicer=middling=passing=fail=sum=0;
for(ps;ps;ps=ps->Next())
{ int k=ps->getMath();
juice(k);
}
printTabal("数学");
ps=pF;
excellent=nicer=middling=passing=fail=sum=0;
for(ps;ps;ps=ps->Next())
{ int k=ps->getC();
juice(k);
}
printTabal("C++");
ps=pF;
excellent=nicer=middling=passing=fail=sum=0;
for(ps;ps;ps=ps->Next())
{ int k=ps->getOther();
juice(k);
}
printTabal("离散数学");
}
//////////////////////////////////////////////////////////////////////////
void func7()//学生数据的添加、修改、与删除
{
int i=0,j=0;
Student*ps=pF,*p=NULL;
cout<<"请选择: 1:学生数据的添加 2:学生数据的修改 3:学生数据的删除\n";
cin>>i;
switch(i)
{
case 1:add();break;
case 2: {ps=find();
if(ps==NULL)
cout<<" 没有这位学生,请继续选择\n\n\n";
else
ps->setData();
break;}
case 3:{
Student*pt=NULL;
if(ps==NULL)
{
cout<<"链表删除失败 请继续选择 \n\n";break;
}
else
{
cout<<"请输入要删除学生的学号\n";
cin>>j;
if(ps->getNumber()==j)
{
pt=ps;

Student::First()=ps->Next();
delete pt;
pF=Student::First();
break;
}
for(ps;ps->Next();ps=ps->Next())
if(ps->Next()->getNumber()==j)
p=ps;
if(p!=NULL)
{
pt=p->Next();
p->Next()=pt->Next();
delete pt;
break;
}
else
{
cout<<"没有找到! 请从新选择\n\n";
break;
}
}
}
default:cout<<"选择错误 请从新选择!\n\n";
}
}
//////////////////////////////////////////////////////////////////////////
void add()//学生数据添加
{
Student*n=new Student;
n->setData();
func3();
}
//////////////////////////////////////////////////////////////////////////
Student*find()//学生查找
{
int i=0,j=0;
char nam[20];
Student*ps=pF;
cout<<"请选择查寻方式: 1: 名字 2:学号\n";
cin>>i;
switch(i)
{
case 1:{cout<<"请输入名字\n";
cin>>nam;
for(ps;ps;ps=ps->Next())
if(strcmp(ps->getName(),nam)==0)
return ps;
return NULL;
// break;
}
case 2:cout<<"请输入学号\n";
cin>>j;ps=pF;
for(ps;ps;ps=ps->Next())
if(ps->getNumber()==j)
return ps;
return NULL;
break;
default: cout<<"选择错误\n";
return NULL;
}
}
//////////////////////////////////////////////////////////////////////////
void deleteChain()//删除链表
{
Student*ps=pF;
// p->deleteChain();
for(ps; ps; )
{
Student* t=ps;
ps=ps->Next();
delete t;
}
Student::First()=NULL;
}
//////////////////////////////////////////////////////////////////////////
void chart()//图
{
cout<<" ※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl
<<" ※ ※"<<endl
<<" ※ 欢迎进入学生成绩统计管理 ※"<<endl
<<" ※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl
<<" ※ ※"<<endl
<<" ※ 1:学生数据输入 ※"<<endl
<<" ※ 2:成绩统计(各科平均成绩 ,各科成绩优秀 ※"<<endl
<<" ※ 良好,中等,及格 不及格的人数及所占比例 ※"<<endl
<<" ※ 3:总成绩统计并排名 ※"<<endl
<<" ※ 4:学生数据的添加、修改、与删除 ※"<<endl
<<" ※ 5:学生数据的读取与存储 ※"<<endl
<<" ※ 6:退出系统 ※"<<endl
<<" ※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl;
}
//////////////////////////////////////////////////////////////////////////
void menu()//菜单
{
int i=0,j=0;

while(1)
{
chart();
cin>>i;
switch(i)
{
case 1:func1();break;
case 2:func2();break;
case 3:func3();func4();break;
case 4:func7();break;
case 5:cout<<"请选择: 1:存储 2:读取\n";
cin>>j;
switch(j)
{
case 1:func5();break;
case 2:func6();break;
default:cout<<"输入错误 请重新选择!\n\n";
}
break;
case 6:return ;
default:cout<<"输入错误\n";break;
}
}
}