21xrx.com
2025-04-05 02:53:03 Saturday
文章检索 我的文章 写文章
C++成绩管理系统源码
2023-07-10 01:07:01 深夜i     8     0
C++编程语言 成绩管理系统 源代码 数据结构 界面设计

C++成绩管理系统源码是一种用于管理学生学习成绩的程序,主要适用于学校、教育机构和家庭中的各种学生,它可以有效地帮助教育工作者和家长评估学生在各个领域的学习表现和进步情况。

该程序主要包括以下功能:

1.学生信息管理:支持添加、删除、查询和修改学生个人信息。

2.课程管理:支持添加、删除、查询和修改各种课程。

3.成绩管理:支持输入、计算、查询和修改学生各科成绩。

4.排名管理:支持计算并显示学生各科和总排名。

除此之外,该程序还具有简洁明了的界面和友好的交互方式,操作简单且易于上手。其核心源码使用了C++语言编写,结构清晰,代码精简,易于理解和修改。

下面是该程序的核心源代码:

#include<iostream>
using namespace std;
struct student
{
  char name[20];
  int code;
  int grade1,grade2,grade3;
  double average,point;
  int rank;
};
student s[100],temp;
int n=0;
void addstudent();
void deletestudent();
void searchstudent();
void editstudent();
void getrank();
void addsubject();
void deletesubject();
void searchsubject();
void editsubject();
void addgrade();
void editgrade();
void searchgrade();
void menu();
int main()
{
  menu();
  return 0;
}
void menu()
{
  cout<<"学生成绩管理系统(语文、数学、英语三科)\n";
  cout<<"请选择要进行的操作:\n";
  cout<<"1、添加学生\n";
  cout<<"2、删除学生\n";
  cout<<"3、查询学生\n";
  cout<<"4、修改学生信息\n";
  cout<<"5、获取学生成绩排名\n";
  cout<<"6、添加科目\n";
  cout<<"7、删除科目\n";
  cout<<"8、查询科目\n";
  cout<<"9、修改科目信息\n";
  cout<<"10、录入学生成绩\n";
  cout<<"11、修改学生成绩\n";
  cout<<"12、查询学生成绩\n";
  cout<<"13、退出系统\n";
  int choice;
  cin>>choice;
  switch(choice)
  {
    case 1:{addstudent();break;}
    case 2:{deletestudent();break;}
    case 3:{searchstudent();break;}
    case 4:{editstudent();break;}
    case 5:{getrank();break;}
    case 6:{addsubject();break;}
    case 7:{deletesubject();break;}
    case 8:{searchsubject();break;}
    case 9:{editsubject();break;}
    case 10:{addgrade();break;}
    case 11:{editgrade();break;}
    case 12:{searchgrade();break;}
    case 13:{return;}
  }
  menu();
}
void addstudent()
{
  cout<<"请输入学生姓名:";
  cin>>s[n].name;
  cout<<"请输入学生学号:";
  cin>>s[n].code;
  ++n;
  cout<<"添加成功!\n";
}
void deletestudent()
{
  int code;
  cout<<"请输入要删除的学生学号:";
  cin>>code;
  int i,j;
  for(i=0;i<n;i++)
  {
    if(s[i].code==code)
    {
      for(j=i;j<n-1;j++)
      {
        s[j]=s[j+1];
      }
      --n;
      cout<<"删除成功!\n";
      return;
    }
  }
  cout<<"未找到该学生!\n";
}
void searchstudent()
{
  int code;
  cout<<"请输入要查询的学生学号:";
  cin>>code;
  int i;
  for(i=0;i<n;i++)
  {
    if(s[i].code==code)
    {
      cout<<"姓名:"<<s[i].name<<"\n学号:"<<s[i].code<<"\n";
      return;
    }
  }
  cout<<"未找到该学生!\n";
}
void editstudent()
{
  int code;
  cout<<"请输入要修改的学生学号:";
  cin>>code;
  int i;
  for(i=0;i<n;i++)
  {
    if(s[i].code==code)
    {
      cout<<"请输入新的姓名:";
      cin>>s[i].name;
      cout<<"修改成功!\n";
      return;
    }
  }
  cout<<"未找到该学生!\n";
}
void addsubject()
{
  cout<<"科目编号:\n1、语文\n2、数学\n3、英语\n请输入你要添加的科目编号:";
  int choice;
  cin>>choice;
  switch(choice)
  {
    case 1:{cout<<"添加成功!\n";break;}
    case 2:{cout<<"添加成功!\n";break;}
    case 3:{cout<<"添加成功!\n";break;}
  }
}
void deletesubject()
{
  cout<<"科目编号:\n1、语文\n2、数学\n3、英语\n请输入你要删除的科目编号:";
  int choice;
  cin>>choice;
  switch(choice)
  {
    case 1:{cout<<"删除成功!\n";break;}
    case 2:{cout<<"删除成功!\n";break;}
    case 3:{cout<<"删除成功!\n";break;}
  }
}
void searchsubject()
{
  cout<<"科目编号:\n1、语文\n2、数学\n3、英语\n请输入你要查询的科目编号:";
  int choice;
  cin>>choice;
  switch(choice)
  {
    case 1:{cout<<"语文\n";break;}
    case 2:{cout<<"数学\n";break;}
    case 3:{cout<<"英语\n";break;}
  }
}
void editsubject()
{
  cout<<"科目编号:\n1、语文\n2、数学\n3、英语\n请输入你要修改的科目编号:";
  int choice;
  cin>>choice;
  switch(choice)
  {
    case 1:{cout<<"修改成功!\n";break;}
    case 2:{cout<<"修改成功!\n";break;}
    case 3:{cout<<"修改成功!\n";break;}
  }
}
void addgrade()
{
  int code,grade1,grade2,grade3;
  cout<<"请输入学生学号:";
  cin>>code;
  cout<<"请输入语文成绩:";
  cin>>grade1;
  cout<<"请输入数学成绩:";
  cin>>grade2;
  cout<<"请输入英语成绩:";
  cin>>grade3;
  int i;
  for(i=0;i<n;i++)
  {
    if(s[i].code==code)
    {
      s[i].grade1=grade1;
      s[i].grade2=grade2;
      s[i].grade3=grade3;
      s[i].average=(grade1+grade2+grade3)/3.0;
      s[i].point=s[i].average>=90?4.0:s[i].average>=80?3.0:s[i].average>=70?2.0:s[i].average>=60?1.0:0.0;
      cout<<"录入成功!\n";
      return;
    }
  }
  cout<<"未找到该学生!\n";
}
void editgrade()
{
  int code,grade1,grade2,grade3;
  cout<<"请输入学生学号:";
  cin>>code;
  cout<<"请输入语文成绩:";
  cin>>grade1;
  cout<<"请输入数学成绩:";
  cin>>grade2;
  cout<<"请输入英语成绩:";
  cin>>grade3;
  int i;
  for(i=0;i<n;i++)
  {
    if(s[i].code==code)
    {
      s[i].grade1=grade1;
      s[i].grade2=grade2;
      s[i].grade3=grade3;
      s[i].average=(grade1+grade2+grade3)/3.0;
      s[i].point=s[i].average>=90?4.0:s[i].average>=80?3.0:s[i].average>=70?2.0:s[i].average>=60?1.0:0.0;
      cout<<"修改成功!\n";
      return;
    }
  }
  cout<<"未找到该学生!\n";
}
void searchgrade()
{
  int code;
  cout<<"请输入学生学号:";
  cin>>code;
  int i;
  for(i=0;i<n;i++)
  {
    if(s[i].code==code)
    {
      cout<<"学号:"<<s[i].code<<" 姓名:"<<s[i].name<<"\n语文成绩:"<<s[i].grade1<<"\n数学成绩:"<<s[i].grade2<<"\n英语成绩:"<<s[i].grade3<<"\n平均分:"<<s[i].average<<"\n绩点:"<<s[i].point<<"\n";
      return;
    }
  }
  cout<<"未找到该学生!\n";
}
void getrank()
{
  int i,j;
  for(i=0;i<n-1;i++)
  {
    for(j=i+1;j<n;j++)
    {
      if(s[i].point<s[j].point)
      {
        temp=s[i];
        s[i]=s[j];
        s[j]=temp;
      }
    }
  }
  for(i=0;i<n;i++)
  {
    s[i].rank=i+1;
  }
  cout<<"学号\t姓名\t平均分\t绩点\t排名\n";
  for(i=0;i<n;i++)
  {
    cout<<s[i].code<<"\t"<<s[i].name<<"\t"<<s[i].average<<"\t"<<s[i].point<<"\t"<<s[i].rank<<"\n";
  }
}

总体来说,该程序是一款简单易用、实用性较强的成绩管理工具,它为学生学习和教师教学提供了全面的数据支持和分析依据。不论是在学校还是在家庭中,都可以通过使用该程序来更好地关注和管理学生的成长与发展,在促进教育事业健康发展中起到积极的作用。

  
  
下一篇: C++ 捕获技术

评论区

请求出错了