#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <string>
using namespace std;
class Student;
class StuNode
{
public:
Student* head;
Student* tail;
int num;
};
class Student
{
private:
int num;
char name[10];
char major[10];
char clas[10];
int math_sc;
int English_sc;
int C_sc;
public:
friend class StuFun;
Student* creat_stu();
Student* next;
};
class StuFun:public Student
{
public:
int Add_info(StuNode* list,Student* node);
int find_mod(StuNode* list,int flag);
int aver_jg_yx(StuNode* list);
int All_aver_max_min(StuNode* list);
int pm(StuNode* list);
int deleteStu(StuNode* list);
int show(StuNode* list);
int Free_Node(StuNode* list);
int Read_File(StuNode* list);
};
StuNode* creat_node(StuNode* list)
{
if(list)
return NULL;
//list=(StuNode*)malloc(sizeof(class StuNode));
list = new StuNode;
list->head=NULL;
list->tail=NULL;
list->num=0;
return list;
}
Student* Student::creat_stu()
{
Student* node = new Student;
if(!node)
return NULL;
cout<<"\t学号:";
cin>>node->num;
cout<<"\t姓名:";
cin>>node->name;
cout<<"\t系别:";
cin>>node->major;
cout<<"\t班级:";
cin>>node->clas;
cout<<"\t高数分数:";
cin>>node->math_sc;
cout<<"\t英语分数:";
cin>>node->English_sc;
cout<<"\tC++分数:";
cin>>node->C_sc;
node->next=NULL;
return node;
}
int StuFun::Add_info(StuNode* list,Student* node) //输入1调用
{
if(!list||!node)
return -1;
if(!list->head)
{
list->head = node;
list->tail = node;
}
else
{
list->tail->next = node;
list->tail=node;
}
list->num++;
return 0;
}
int StuFun::find_mod(StuNode* list,int flag) //查询和修改学生信息 输入2,3调用
{
int n,mat=0,English=0,Csc=0;
char cla[10],maj[10],name[10];
Student *node=list->head,*find=NULL;
if(flag==0) //查询学生信息
{
cout<<"\t*************************************\n";
cout<<"\t***** 1,按系别查询! ******\n";
cout<<"\t***** 2,按班级查询! ******\n";
cout<<"\t***** 3,按高数成绩查询! ******\n";
cout<<"\t***** 4,按英语成绩查询! ******\n";
cout<<"\t***** 5,按C语言成绩查询! ******\n";
cout<<"\t***** 6,按学生姓名查询! ******\n";
cout<<"\t*************************************\n\n";
cout<<"请输入选项[ ]\b\b";
cin>>n;
if(!list)
return -1;
switch(n)
{
case 1:cout<<"\t请输入您要查询学生的系别:";
cin>>maj;break;
case 2:cout<<"\t请输入您要查询学生的班级:";
cin>>cla;break;
case 3:cout<<"\t请输入您要查询学生的高数成绩:";
cin>>mat;break;
case 4:cout<<"\t请输入您要查询学生的英语成绩:";
cin>>English;break;
case 5:cout<<"\t请输入您要查询学生的C语言成绩:";
cin>>Csc;break;
case 6:cout<<"\t请输入您要查询学生的C语言成绩:";
cin>>name;break;
default:cout<<"\t输入错误!\n";
}
cout<<"\n\t学号\t姓名\t系别\t班级\t高数\t英语\tC语言\n\n";
}
if(flag==1) //修改学生信息
{
cout<<"\t请输入你要修改学生姓名:";
cin>>name;
}
while(node)
{
switch(n)
{
case 1:if(!strcmp(node->major , maj))
cout<<"\t"<<node->num<<"\t"<<node->name<<"\t"<<node->major<<"\t"<<node->clas<<
"\t"<<node->math_sc<<"\t"<<node->English_sc<<"\t"<<node->C_sc<<endl;
break;
case 2:if(!strcmp(node->clas , cla))
cout<<"\t"<<node->num<<"\t"<<node->name<<"\t"<<node->major<<"\t"<<node->clas<<
"\t"<<node->math_sc<<"\t"<<node->English_sc<<"\t"<<node->C_sc<<endl;
break;
case 3:if(node->math_sc == mat)
cout<<"\t"<<node->num<<"\t"<<node->name<<"\t"<<node->major<<"\t"<<node->clas<<
"\t"<<node->math_sc<<"\t"<<node->English_sc<<"\t"<<node->C_sc<<endl;
break;
case 4:if(node->English_sc == English)
cout<<"\t"<<node->num<<"\t"<<node->name<<"\t"<<node->major<<"\t"<<node->clas<<
"\t"<<node->math_sc<<"\t"<<node->English_sc<<"\t"<<node->C_sc<<endl;
break;
case 5:if(node->C_sc == Csc)
cout<<"\t"<<node->num<<"\t"<<node->name<<"\t"<<node->major<<"\t"<<node->clas<<
"\t"<<node->math_sc<<"\t"<<node->English_sc<<"\t"<<node->C_sc<<endl;
break;
case 6:if(!strcmp(node->name , name))
cout<<"\t"<<node->num<<"\t"<<node->name<<"\t"<<node->major<<"\t"<<node->clas<<
"\t"<<node->math_sc<<"\t"<<node->English_sc<<"\t"<<node->C_sc<<endl;
break;
}
if(flag==1) //修改学生信息
{
if(!strcmp(node->name, name))
{
cout<<"\t\t学号:";
cin>>node->num;
cout<<"\t\t姓名:";
cin>>node->name;
cout<<"\t\t系别:";
cin>>node->major;
cout<<"\t\t班级:";
cin>>node->clas;
cout<<"\t\t高数分数:";
cin>>node->math_sc;
cout<<"\t\t英语分数:";
cin>>node->English_sc;
cout<<"\t\tC++分数:";
cin>>node->C_sc;
break;
}
}
find = node;
node = node->next;
}
getchar();
return 0;
}
int StuFun::aver_jg_yx(StuNode* list) //对学生信息进行分析
{
Student* node=list->head;
char major_name[10],class_name[10];
float sum_math=0,sum_El=0,sum_C=0,aver_math,aver_El,aver_C,flag,m=0;
float jg_math,jg_El,jg_C,yx_math,yx_El,yx_C,n=0.0,n1=0.0,n2=0.0,n3=0.0,n4=0.0,n5=0.0,n6=0.0;;
//求单科平均分,及格率和优秀率
cout<<"\t*****************************************\n";
cout<<"\t**** 1,按系对学生信息进行分析! ****\n";
cout<<"\t**** 2,按班对学生信息进行分析! ****\n";
cout<<"\t*****************************************\n\n";
cout<<"\t请输入选项[ ]\b\b";
cin>>flag;
if(flag == 1) //按系对学生信息进行分析!
{
cout<<"\t请输入系别名称:";
cin>>major_name;
m = strcmp( node->major,major_name );
}
if(flag == 2) //按班对学生信息进行分析!
{
cout<<"\t请输入班级名称:";
cin>>class_name;
m = strcmp( node->clas,class_name );
}
while(node)
{
if(!m)
{
sum_math += node->math_sc;
sum_El += node->English_sc;
sum_C += node->C_sc;
if(node->math_sc >=60) //统计单科及格和优秀人数
{
n1++;
if(node->math_sc >=90)
n4++;
}
if(node->English_sc >=60)
{
n2++;
if(node->English_sc >=90)
n5++;
}
if(node->C_sc >=60)
{
n3++;
if(node->C_sc >=90)
n6++;
}
n++;
}
node = node->next;
}
aver_math=sum_math/n;
aver_El=sum_El/n;
aver_C=sum_C/n;
没有合适的资源?快使用搜索试试~ 我知道了~
C++课程设计学生成绩管理系统源码(高分项目).zip
共2个文件
cpp:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 28 浏览量
2024-01-12
08:55:22
上传
评论
收藏 9KB ZIP 举报
温馨提示
C++课程设计学生成绩管理系统源码(高分项目).zip C++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩管理系统源码(高分项目).zipC++课程设计学生成绩
资源推荐
资源详情
资源评论
收起资源包目录
C++课程设计学生成绩管理系统.zip (2个子文件)
GradeManage-主master
kecxin.cpp 18KB
code
kecxin.cpp 18KB
共 2 条
- 1
资源评论
盈梓的博客
- 粉丝: 6867
- 资源: 1251
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功