一、 实验目的:

1.通过此次课程设计学生成绩管理系统的题目,掌握链表等数据结构的基本操作方面的知识,并能灵活的解决一些基本的问题,加深对其性质及各项操作的理解;
2. 将所学数据结构方面的知识与具体的语言来进行实现,感受数据结构的强大作用,加深理解。

二、实验内容:

编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。建立一个学生的信息登记表,每个学生的信息包括:学号,姓名和课程的成绩。
程序运行时显示一个简单的菜单,例如:
(1)添加记录
(2)显示记录
(3)修改记录
(4)删除记录
(0)退出系统
其中:
(1)添加记录是对学生的信息进行输入,要求输入学号、姓名、学科成绩,其中学号设定为唯一标识码,即学号不能重复;
(2)显示记录除了显示添加记录的信息外,还需要显示对每个学生的课程统计总分;
(3)修改记录按照唯一标识码进行学生数据的修改;
(4)删除记录按照唯一标识码进行学生数据的删除;

三、程序如下

#include<iostream>
#include<string.h>
using namespace std;
struct student
{int num;char name[10];float ch;float ma;
};
static int length=0;//申请一个静态变量,表示顺序表的长度
int Create(student *stu)//添加记录
{int i=length;printf("\n请输入学号:");scanf("%d",&stu[i].num);for(int j =0 ;j<length;j++)//判断该学号是否已经存在{if(stu[i].num==stu[j].num){printf("该学号已存在!\n");return 0;}}printf("请输入姓名:");scanf("%s",&stu[i].name);printf("请输入语文成绩:");scanf("%f",&stu[i].ch);printf("请输入数学成绩:");scanf("%f",&stu[i].ma);length ++;
}
void Display(student *stu)//显示记录
{int x;int n=0;printf("请输入学号:");scanf("%d",&x);for(int i=0;i<length;i++){if(x==stu[i].num){n=1;printf("\n学号       姓名      语文成绩        数学成绩\n");printf("%d",stu[i].num);printf("\t\t%s",stu[i].name);printf("\t\t%.2f",stu[i].ch);printf("\t\t\t%.2f",stu[i].ma);printf("\n");break;}}if(n!=1)printf("无该生信息!\n");
}
void Gange(student *stu)//修改记录
{int num;int n=0;printf("请输入需要修改信息的学号:");scanf("%d",&num);for(int i=0;i<length;i++){if(num==stu[i].num){n=1;printf("请输入新姓名:");scanf("%s",&stu[i].name );printf("请输入新语文成绩:");scanf("%f",&stu[i].ch );printf("请输入新数学成绩:");scanf("%f",&stu[i].ma );printf("修改成功!\n");break;}}if(n!=1)printf("无该生信息!\n");
}
void Delete(student *stu)//删除记录
{int num;int i;int n=0;printf("请输入要删除信息的学号:");scanf("%d",&num);for(i=0;i<length;i++){if(num==stu[i].num){n=1;break;}}int c=length-i;//需要覆盖的次数if(n==1)//进行循环覆盖,若不满足判断,则不进入此循环{ for(int j=0;j<c;j++){stu[i].num=stu[i+1].num;strcpy(stu[i].name,stu[i+1].name); stu[i].ch=stu[i+1].ch;stu[i].ma=stu[i+1].ma;i++;}printf("已删除该生信息!\n");}if(n!=1)printf("无该生信息!\n");length--;
}
void Menu()//菜单图形
{printf("\n\t\t------------------------------------");printf("\n\t\t|          学生成绩管理系统        |");printf("\n\t\t|          (1)添加记录           |");printf("\n\t\t|          (2)显示记录           |");printf("\n\t\t|          (3)修改记录           |");printf("\n\t\t|          (4)删除记录           |");printf("\n\t\t|          (5)退出系统           |");printf("\n\t\t------------------------------------");
}
void Option(student *stu)//用户选择系统
{while(1){  system("cls");Menu();printf("\n\t\t请输入选项(1-5):");int x;char opt;scanf("%d",&x);switch(x){case 1:{ Create(stu);break;}case 2:{Display(stu);break;}case 3:{Gange(stu);break;}case 4:{Delete(stu);break;}default:{printf("请输入正确数字!\n");break;}}printf("是否继续操作(y/n): ");cin>>opt;if(opt=='y'){continue;}break;}}
int main()
{struct student stu[50];//Init(stu);Option(stu);return 0;
}

这只是一个简单的示例,还有很多地方可以完善,如在输入数字时如何判断用户不会输入其他字符(设置int型变量在接收中文字符,字母等就会报错),还有设置一些控制(成绩不能超过100等…),这些就由各位自己完善。

数据结构--学生成绩管理系统(顺序表)相关推荐

  1. 考试报名管理系统C语言顺序表,学生信息管理系统(顺序表)实验

    <学生信息管理系统(顺序表)实验>由会员分享,可在线阅读,更多相关<学生信息管理系统(顺序表)实验(29页珍藏版)>请在人人文库网上搜索. 1.精品文档数 据 结 构 课 程 ...

  2. 学生信息管理系统——顺序表

    定义一个包含学生信息(学号,姓名,成绩)的的 顺序表,使其具有如下功能: 1.1根据指定学生个数,逐个输入学生信息: 1.2逐个显示学生表中所有学生的相关信息: 1.3根据姓名进行查找,返回此学生的学 ...

  3. 数据库成绩管理系统Mysql_学生成绩管理系统数据库模板1.doc

    学生成绩管理系统数据库模板1 计算机系综合性实验 <数据库课程设计>设计报告 设计题目 实验学期 至 学年第 学期 学生所在系部 年级 专业班级 学生姓名 学号 任课教师 实验成绩 计算机 ...

  4. 学生成绩管理系统利用数据结构顺序表来进行二分查找,直接插入,快速排序操作

    一.实验目的 1.掌握查找的不同方法,并能用高级语言实现查找算法. 2.熟练掌握顺序表和有序表的顺序查找和二分查找方法. 3.掌握排序的不同方法,并能用高级语言实现排序算法. 4.熟练掌握顺序表的选择 ...

  5. 学生成绩管理系统【顺序表的应用】

    练习: 编写学生成绩管理系统.此系统具有查询.修改.删除等方法.此题采用顺序存储结构. 应用知识点: 应用到了线性表的顺序存储结构: 所谓顺序表就是顺序存储的线性表.顺序存储是用一组练习的存储单元一次 ...

  6. 成绩查询数据结构c语言,学生成绩管理系统(数据结构c语言版源代码)09169.pdf

    不必问别人你能做什么,除了你自己,没有人知道.也不必问别人你到底该做什么,除了行 动,没有任何解答. #include #include #include struct students{ char ...

  7. 数据结构实验报告—学生成绩管理系统(Java实现)

    数据结构实验报告----学生成绩管理系统(Java实现) [具体下载链接]https://download.csdn.net/download/mmzian/10897535 部分代码展示 Test类 ...

  8. 数据结构课程设计(学生成绩管理系统)

    #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 200 typedef ...

  9. 学生成绩表c语言,学生成绩管理系统C语言(附完整源代码) .doc

    学生成绩管理系统C语言(附完整源代码) 课程设计报告 学生成绩管理系统 院系: 专业: 班级: 完成日期: 2009年1月03日 设计题目:学生成绩管理系统 目录 1.题目描述2.算法设计/设计思想3 ...

最新文章

  1. javascript移动端 电子书 翻页效果
  2. 理解A*寻路算法具体过程
  3. Linux动态库的导出控制
  4. 必须使用初始化列表的情况
  5. 数组的遍历 java
  6. 记录一次数据同步到数据仓库的架构与实践
  7. 简书留言收费可行性评估
  8. FFmpeg的H.264解码器源代码简单分析
  9. PC电脑版微信聊天记录迁移方法
  10. ios uri正则表达式_众果搜的博客
  11. C++数据结构算法(一)
  12. ORACLE中的全连接(Full Join)、内连接(JOIN/INNER JOIN)、左连接(Left Join)、右连接(Left Join)、(+)符号以及Theta连接
  13. 推荐一款很好用的一款扒网站的工具
  14. 【HCIE考试喜报】2022年11月11日考试通过
  15. 由pyproject.toml引发的讨论
  16. 编程常用英文单词缩写整理
  17. 广州大学学生实验报告,进程控制与进程通信
  18. java B2B2C Springcloud多租户电子商城系统-spring-cloud-eureka...
  19. 脚本引流靠谱吗,脚本引流话术连骗子都不如,你怎么引流
  20. 如何利用PS将照片的灰色背景变为白色

热门文章

  1. 形式语言大作业_清华大学本科一年级设计作业展示|仅是手绘就秒杀我的照片级效果图...
  2. oracle spatial 论文,oraclespatial在实际应用中的六大功能体现
  3. 熬夜整理的一份elasticsearch中文文档手册
  4. 从“熵理论到熵减”的过程
  5. MTD应用学习:mtd和mtdblock的区别
  6. GB/T 28181国标2022版本变化
  7. 目前最详细的对国内跨境电商的纯干货分析
  8. sql距离查询,多多指教
  9. 不动点迭代法(C语言)
  10. base64与图片文件之间的互转