1.建立一个由n个学生成绩的顺序表,n的大小由自己确定,每一个学生的成绩信息由自己确定,实现数据的对表进行插入、删除、查找等操作。分别输出结果。

# include <iostream>
# include <fstream>
# include <string.h>
#define MAX 100
int i,n;
using namespace std;struct Student{      //声明一个结构体类型Student char id[20];         char name[20]; int Lnum;       //离散课程得分int Gnum;       //管理学课程得分int Enum;       //英语课程得分float sum;        //总分  void Menu();void Find();void RemoveItem();void Display(); void show();void AddItem();void Input();}Stu[MAX+1];
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Menu(){cout<<"                                                              "<<endl;cout<<"\t    学 生 成 绩 管 理 系  统\t\t"<<endl;cout<<"                                                                "<<endl;cout<<"\t\t1.录入\t\t"<<endl;cout<<"\t\t2.显示\t\t"<<endl;cout<<"\t\t3.查找\t\t"<<endl;cout<<"\t\t4.插入\t\t"<<endl;cout<<"\t\t5.删除\t\t"<<endl;cout<<"\t\t0.退出\t\t  "<<endl;cout<<"\n\t\t\n\t\t请选择:"<<endl;}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌录入信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Input()
{  cout<<"\t\t你要录入几位学生:";
cin>>n;
for(i=1;i<=n;i++)
{cout<<"第"<<i<<"位";cout<<"\t\t请输入学生姓名:"<<endl;  cin>> Stu[i].name;cout<<"\t\t请输入学生学号:"<<endl;  cin>>Stu[i].id;cout<<"\t\t请输入离散成绩:"<<endl;  cin>>Stu[i].Lnum;cout<<"\t\t请输入管理成绩:"<<endl;  cin>>Stu[i].Gnum;cout<<"\t\t请输入英语成绩:"<<endl;  cin>>Stu[i].Enum;Stu[i].sum=Stu[i].Lnum+Stu[i].Gnum+Stu[i].Enum;
}
}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌显示所有信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Display()
{
cout<<"序号"<<"\t"<<"姓名"<<"\t\t"<<"学号"<<"\t"<<"离散"<<"\t"<<"管理"<<"\t"<<"英语"<<"\t"<<"总分"<<endl;
for(i=1;i<=n;i++)
{cout<<i<<"\t"<<Stu[i].name<<"\t"<<Stu[i].id<<"\t"<<Stu[i].Lnum<<"\t"<<Stu[i].Gnum<<"\t"<<Stu[i].Enum<<"\t"<<Stu[i].sum<<"\t"<<"\n";}
}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌选择信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌void Student::show()
{
cout<<"序号"<<"\t"<<"姓名"<<"\t\t"<<"学号"<<"\t"<<"离散"<<"\t"<<"管理"<<"\t"<<"英语"<<"\t"<<"总分"<<endl;
cout<<i<<"\t"<<Stu[i].name<<"\t"<<Stu[i].id<<"\t"<<Stu[i].Lnum<<"\t"<<Stu[i].Gnum<<"\t"<<Stu[i].Enum<<"\t"<<Stu[i].sum<<"\t"<<"\n";
}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Find()
{char na[20] ,I[10];int x,a,z;cout<<"\n\t\t*********************************\n";cout<<"\t \t    1.按姓名 2.按学号3.按序号";cout<<"\n\t\t*********************************\n请选择:";cin>>x;switch(x){case 1:{cout<<"\t\t请输入要查找的姓名:";cin>>na;bool flag=false;for(i=1;i<=n;i++){if(strcmp(Stu[i].name, na) == 0) {Stu[i].show();flag=true;}  }if(!flag){cout<<"无此人";}}break;case 2:{cout<<"\t\t请输入要查找的学号:";cin>>I;bool flag=false;for(i=1;i<=n;i++){if(strcmp(Stu[i].id, I) == 0) { Stu[i].show();flag=true;}}if(!flag){cout<<"无此人";}}break;case 3:{cout<<"\t\t请输入要查找的序号:";cin>>i;if(i<1||i>n) throw "position error";else  Stu[i].show();}break;}}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌插入信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌void AddItem(){
int i,j;
n++;
if(n>MAX) throw "overflow";
cout<<"which position do you want to insert?";
cin>>i;
if(i<1||i>n) throw "position";
for(j=n;j>=i;j--)
{
Stu[j]=Stu[j-1];
}cout<<"第"<<i<<"位";cout<<"\t\t请输入学生姓名:"<<endl;  cin>> Stu[i].name;cout<<"\t\t请输入学生学号:"<<endl;  cin>>Stu[i].id;cout<<"\t\t请输入离散成绩:"<<endl;  cin>>Stu[i].Lnum;cout<<"\t\t请输入管理成绩:"<<endl;  cin>>Stu[i].Gnum;cout<<"\t\t请输入英语成绩:"<<endl;  cin>>Stu[i].Enum;Stu[i].sum=Stu[i].Lnum+Stu[i].Gnum+Stu[i].Enum;cout<<"The new list is:";Display();}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌void RemoveItem(){int j;if(n==0) throw "underflow";
cout<<"which sequence number do you want to delete?";
cin>>i;
if(i<1||i>n) throw "position";
for(j=i+1;j<=n;j++)
{
Stu[j-1]=Stu[j];}
cout<<"The new list is: ";
n--;Display();}int  main()
{
int x,i=0;bool quit=false;while(!quit){system("cls");Menu();  cin>>x;switch(x){case 0:quit=true;break;case 1:Input();system("pause");break;case 2:Display();system("pause");break;case 3:Find();system("pause");break;case 4:AddItem();system("pause");break;case 5:RemoveItem();system("pause");break;}}return 0;
}

实验结果如图所示

菜单界面




自定义要录入多少个学生




录完之后的显示界面


查询功能。包括按姓名,按学号和按序号

若查无此人则返回“无此人”




插入功能。如现在我在第二位插入“陈某某”,出现的新表如图




删除功能。如将陈某某删除后,新的表如图所示。


顺序表——学生成绩管理相关推荐

  1. 用php实现成绩管理系统,PHP成绩管理系统 PHP简单操作 学生成绩管理 成绩管理源码 三张表...

    系统品牌: 其他系统 开发语言: PHP 数据库: Mysql 是否授权: 否 源文件: 无加密 移动端: 无 规格: 整站源码 服务器类型: 独立主机 服务器系统: Windows 安装环境: ap ...

  2. C#毕业设计——基于C#+asp.net+sqlserver的学生成绩管理系统设计与实现(毕业论文+程序源码)——成绩管理系统

    基于C#+asp.net+sqlserver的学生成绩管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的学生成绩管理系统设计与实现,文章末尾 ...

  3. 学生成绩管理设计要求

    2.课程设计报告书要求(学生成绩管理系统) (1)封面 <C++课程设计> 课程设计题目:学生成绩管理系统 指导教师:周志德 学生班级:网络30331 学生姓名:包文广 学生学号: (2) ...

  4. 一个简单的学生成绩管理软件(ODBC开发)

    一个简单的学生成绩管理软件(ODBC开发) 下载本文所附源代码 程序运行效果截图: 前面我写过一篇<一个完善的ODBC数据库程序>,大家可能看到过,有鼓励,也有批评,但是所有这一切只有一个 ...

  5. 学生成绩管理 php,php学生成绩管理系统(模板)

    资源描述: 计算机与通信学院 2013年春季学期 题 目学生成绩管理系统 专业班级软件工程基地班 姓 名陶婷婷 学 号 目录 一.系统分析与设计1 1.1摘要1 1.2需求分析1 1.3系统功能分析2 ...

  6. 学生成绩管理分析系统的设计与实现(论文+源码)_kaic

    摘要 该系统在开发过程中,要注意使其与业务流程的运作相一致,力争使该系统全面,通用,以便该系统不仅适用于教育机构.在开发方法的选择上,选择生命周期方法和原型方法,并按照四个主要阶段的系统研究,系统分析 ...

  7. 使用数据结构实现学生成绩管理

    学生成绩管理(链表实现) #include<iostream> #include<windows.h> using namespace std; typedef int Ele ...

  8. PHP学生成绩管理,使用MySQL数据库,界面简洁,适合当做学生期末课设作业,有数据库和PHP文件源码,没有使用任何框架,都是使用简单的PHP代码

    PHP学生成绩管理,使用MySQL数据库,界面简洁,适合当做学生期末作业,有数据库和PHP文件源码,没有使用任何框架,都是使用简单的PHP代码. 实现功能包括:学生登录 管理员登录 学生信息管理 学生 ...

  9. python输入姓名专业班级_Python — 学生成绩管理

    Python - 学生成绩管理 摘要 本次实验要求使用python语言,读取现有的班级花名册,写入SQlite数据库,逐个显示每一个学生的学号姓名,输入其python.英语等课程的成绩,写入SQLit ...

最新文章

  1. 如何开启win10内置Linux子程序
  2. Struts2后期(这框架目前正处于淘汰状态)
  3. VMProtect 与 ASProtect 在VC中的SDK编程
  4. Java并发编程的基础-为什么要复位
  5. 在vc或mfc中显示IplImage的方法
  6. empinfo Oracle数据库,Oracle数据库---包
  7. mysql 乘法_测试面试题集Python花式打印九九乘法口诀表
  8. Java面向对象编程篇5——枚举
  9. YouTube-DNN优化原理推导
  10. pythondjango教程_Python 中Django安装和使用教程详解
  11. 一台新云主机nodejs项目部署过程
  12. 怎样import(导入)过期的磁带
  13. MySql查询某列是否包含汉字
  14. liferay6连接mysql_Liferay 6开发学习(二十六):数据库连接相关问题
  15. 《代码整洁之道》精读与演绎----毛星云
  16. 【经验】Namisoft盘点电机扭矩的测量方法有哪些
  17. 实验八555定时器及其应用
  18. 85篇精彩的经典古文
  19. mysql查询 NULL
  20. html head标签详解

热门文章

  1. CSS:链接外部css样式时候link标签使用方法
  2. 数据分析师应该从哪里开始学习Python?
  3. 六 面向对象高级属性
  4. 如何解决老是弹出“com surrogate已停止工作”窗口
  5. 方程式 Eternalblue 漏洞利用复现
  6. Taffy DB : A JavaScript database for your browser
  7. three.js顶点颜色插值THREE.VertexColors无效
  8. Javascrpit特效之打字机效果
  9. 网络原理考点之误码率与异步传输
  10. Winning Eleven 3 Final Ver. (PS原版镜像)