• 大小: 1.62MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-02
  • 语言: C/C++
  • 标签: c++  课程设计  

资源简介

c++学生成绩管理系统课程设计,含源代码、课程设计文档与PPT

资源截图

代码片段和文件信息

#include 
#include
#include
const int max=10;
typedef struct elemstu//定义一个成绩表中的学生记录的结构体。此结构体含有5个属性,分别代表了成绩表中学生记录的学号,姓名,班级,性别,分数
{
public:
int num;
char name[max];
char CLASS[max];
char sex[max];
int score[4];

}elemtype;
class link//定义一个link类,用来存放上面定义的结构体,并通过指针将各个结构体串联起来,即是将学生记录通过指针相连结。
{  
public:
int abc; //指定表的排序类型
elemtype data; //学生成绩类型
link *next;    //指针类型,存放下一个记录的地址
public:
int length(link *head);         //求成绩表的长度
void Insert(elemtype x);  //插入一个新的学生成绩记录
int Dele(int i) ;          //删除第i个位置的记录
void setnull();              //置空此成绩表
int scoreLocate(int xint s);   //定位,查找第一条成绩为x的记录位置,s用来指定是总分还是哪一科分数
int numLocate(int x);
elemtype Get(int i);   //取第i个位置的记录
link *rcreat(int n);            //尾插法建立成绩表
void  print(link  *headint aint bint c); //输出成绩表
void sortMax(link *headint sort); //将成绩最大的一条记录移至最前sort指定排序的判定条件,按照学号,还是总分,还是成绩
void sortMin(link *headint sort);
void sortlink(link *head); //排序成绩表
void printMaxMin(link *head); //输出最高分最低分的记录
void printScoreRank(link *head);//输出各个分数段的人数
};

void  link::printScoreRank(link *head)
{
if(head==NULL)
{
cout<<“成绩表尚未创建,无法输出各个分数段的人数!!“< return;
}
link *p;
int abcdejx;
a=b=c=d=e=0;
p=head->next;
cout<<“您想获取哪个科目各分数段的人数?\n“<<“请按数字选择:“< cin>>j;
if(j==1)
{
x=0;
}
else if(j==2)
{
x=1;
}
else if(j==3)
{
x=2;
}
else
{
cout<<“输入错误,请重新操作!!“< return;
}
while(p!=NULL)
{ int s=p->data.score[x];
if(s>=60)
{
if(s>=60&&s<70)
d++;
else if(s>=70&&s<80)
c++;
else if(s>=80&&s<90)
b++;
else
a++;
}
else
e++;
p=p->next;
}
cout<<“各个分数段人数:“< cout<<“优(90-100)分:  “< cout<<“中(70-79)分:  “<}
int link::scoreLocate(int xint s)
{
int a = 1;
link *p;
p = this->next; 
while(p!=NULL && p->data.score[s]!=x)
{
p = p->next;
a++;
}
if(p==NULL)
return -1;
else
return a;
}

int link::numLocate(int x)
{
int a = 1;
link *p;
p = this->next; 
while(p!=NULL && p->data.num!=x)
{
p = p->next;
a++;
}
if(p==NULL)
return -1;
else
return a;
}

void link::sortlink(link *head)
{
if(head==NULL)
{
cout<<“成绩表尚未创建,无法排序!!“< return;
}
link *p;
p=head->next;
if(p->next==NULL)
{
cout<<“只有一个记录,不用排序!!“< return;
}
int flaga;
cout< cin>>flag;
if(flag==1)
{
head->a=1;
cout<<“请选择:“< cin>>a;
if(a==1)
{
head->b=1;
p=head;
while(p->next!=NULL)
{
sortMin(p4);
p=p->next;
}
}
else if(a==2)
{
head->b=2;
p=head;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-04-15 20:49  第3组 学生成绩管理系统\
     文件       25245  2017-12-27 09:50  第3组 学生成绩管理系统\linkTest.cpp
     文件       23040  2017-12-29 11:02  第3组 学生成绩管理系统\Thumbs.db
     文件     1856512  2017-12-29 16:16  第3组 学生成绩管理系统\第三组 学生成绩管理系统.doc
     文件      281464  2017-06-02 17:12  第3组 学生成绩管理系统\第三组 学生成绩管理系统.pptx

评论

共有 条评论