C语言课程设计大作业——学生成绩管理系统详细(含实验报告内容)

2023-10-30

写在前面:欢迎来到「发奋的小张」的博客。我是小张,一名普通的在校大学生。在学习之余,用博客来记录我学习过程中的点点滴滴,也希望我的博客能够更给同样热爱学习热爱技术的你们带来收获!希望大家多多关照,我们一起成长一起进步。也希望大家多多支持我鸭,喜欢我就给我一个关注吧!

一、设计的目的

1在编辑应用程序过程中,逐步加深对高级语言编程的理解,全面掌握《高级语言程序设计》关键知识点,掌握高级语言中数组、结构体等方面的知识。
2培养学生查阅文献、手册的自学能力,通过独立思考深入研究有关问题,懂得自己分析,自己解决问题的方法。
3加强实践能力,动手能力,同时进一步对所学知识进行巩固。
4加强高级语言的编程能力。

二、需求与功能分析

1)需求分析

学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言。教师可以通过成绩管理系统查阅学生成绩信息
根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理。开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。目前,学校工作繁杂、资料重多。目前,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。

2)功能分析

学生成绩管理系统包括4个模块:输入学生资料,输出学生资料,查找学生资料,修改学生资料。这4个模块既相互联系又相互独立。
本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作。本系统能对成绩进行输入和输出;能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的学号来查询该学生的成绩资料,并修改该学生信息;

三、软件运行环境及设计内容等

主要功能:

1、录入学生信息
主函数调用添加函数,系统提示输入学期、学生姓名、班级、四门课程成绩、学号。输入后将出现提示语是否继续添加学生信息,输入“N”或“n”取消添加并返回主菜单,输入其他任意值继续输入下一位同学。
2、查询学生的信息
选择此功能后。系统中已有学生信息,查找该学生资料.系统会提示你输入要查询的学号,输入完毕后系统就会显示该学生资料和各科成绩等信息。若查询无此人,则显示查找不到的提示信息。
2、输出不及格科目学生信息
选择此功能后,需要输入科目的编号,按学生科目输出班级内不及格学生的成绩及名单。
3、采用冒泡排序法进行排序
采用计算学生平均分来作排序因子,用冒泡法由大到小或者由小到大对学生信息进行排序。
4、打印全部学生信息
主菜单函数调用打印函数。主要功能用来对学生的成绩进行输出,此处可以选择按照成绩由大到小输出或者由小到大输出。可以显示所有学生的学号,姓名和各科成绩,平均成绩。
5、修改学生的信息
在系统已有学生信息的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。
0.退出

四、系统模块结构图

在这里插入图片描述

一些程序测试数据:

1、输入学生信息
在这里插入图片描述

2、按班级输出学生的成绩
在这里插入图片描述

3、输出不及格学生名单及成绩
在这里插入图片描述

4、按照成绩高低输出学生的成绩

在这里插入图片描述

5、通过学号查询学生的成绩

在这里插入图片描述

6、通过学号修改一个学生的信息
在这里插入图片描述

部分c语言代码:

#include<stdio.h>
#define N 200//最大人数   
//now记录当前存储的学生数量  
int now=0;               
struct student
{
 int num;
 int term;
 int classe;
 char name[10];
 float score[4];
 float sum;
 float aver;
}stu[N];

 void input();//学生信息录入
 void sort();//按成绩排序
 void update();//修改成绩
 void search();//按学号查询成绩
 void output();//按班级输出学生信息
 void lofstudent();//不及格学生名单
 void menu();//显示系统主菜单函数

//主函数
void main(void)
{
   
	int op;//operation
	menu();
    scanf("%d",&op);     
	while(op!=0)
	{
		switch(op)
		{		  
		  case 1:
				input();
				break;
		  case 2:
				sort();
				output();
				break;
		  case 3:
				update();
				break;
		  case 4:
				search();
				break;
		  case 5:
				lofstudent();
				break;
		  default:printf("没有此选项,请重新输入!");
		}
       	menu();
       scanf("%d",&op);
	}
}

//显示系统主菜单函数
void menu()  
{
     printf("               学生信息管理系统           \n");
	 printf("   *************************************  \n");
	 printf("   *  0:退出       1 :输入学生信息     *  \n");
	 printf("   *  2:输出信息   3 :修改信息         *  \n");
	 printf("   *  4:查询成绩   5 :不及格科目及名单 *  \n");
	 printf("   *************************************  \n");
}


//学生信息录入
void input()                                   
{ 
 char ch;
 int i=0,j=0; 
 do
 { 
   printf("请输入班级: ");
   scanf("%d",&stu[i].classe);
   printf("请输入学期: ");
   scanf("%d",&stu[i].term);
   printf("请输入学号:  ");
   scanf("%d",&stu[i].num);
   printf("请输入姓名: ");
   scanf("%s",&stu[i].name);
   printf("请输入4门课程的分数(分别为语文,数学,英语,计算机):");
   for(j=0;j<4;j++)
   {	
	   scanf("%f",&stu[i].score[j]);
	   //每个学生的总分
	   stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3];    
	   //每个学生的平均分
	   stu[i].aver=stu[i].sum/(float)4.0;                         
   }
   //读取一个键盘回车
   getchar();
   printf("您还要继续输入吗?输入y/n(确认/取消)\n");
   //读取当前的键盘输入,判断是否继续输入
   ch=getchar();
   now=++i;
 }while(ch!='n');
}
此程序博主已经上传到csdn资源了,需要的小伙伴可以通过这个链接进去下载。

链接: 点我下载.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言课程设计大作业——学生成绩管理系统详细(含实验报告内容) 的相关文章

  • Linux操作系统之进程命令和库文件

    文章目录 一 有关进程命令 1 ps命令 显示当前终端信息 2 ps ef命令 查看当前终端进程的详细信息 二 前台程序和后台程序模式的切换 1 首先了解前台后台命令 2 前后台的切换 1 kill 命令 2 进程前后台切换 三 runle
  • 第六章习题

    R1 个无线网络运行在 基础设施模式 下是什么含义 如果某网络没有运行在基础设施模式下 那么它运行在什么模式下 这种运行模式与基础设施模式之间有什么不同 在基础结构操作模式下 每个无线主机都通过基站连接到较大的网络 如果未在基础架构模式下运
  • 图灵携手全球机器学习技术大会,拥抱 AGI 变革时代

    备受行业关注的 2023 全球机器学习技术大会 ML Summit 将于10月20 21日在北京金茂威斯汀大饭店隆重举行 此次大会由 Boolan 和 CSDN 联合主办 秉承 全球专家 卓越智慧 的宗旨 特邀近 50 位人工智能与机器学习
  • 判断cuda是否安装成功

    进入环境中 输入以下命令 python import torch torch cuda is available 返回结果如下图

随机推荐

  • sklearn 中的线性回归、岭回归、Lasso回归参数配置及示例

    文章目录 线性回归 引入 重要参数 重要属性 重要方法 例子 岭回归 引入 重要参数 重要属性 重要方法 示例 Lasso 回归 引入 重要参数 重要属性 重要方法 示例 本文主要讲一些sklearn中回归模型的使用 如果需要了解相关理论
  • marquee的滚动属性参数

    null从
  • 泛型编程杂谈

    谈 泛型 GP 之前 先谈一下面向对象 OO OO强调世界是由对象组成的 对象是由方法和属性组成的 个人感觉还应该加上事件 而对象之间又有继承 is a 和组合等 关系 OO很符合我们认识世界的直觉 它以封装 继承和多态为特性 我们在现实工
  • 关于ESP8266自动下载和CH340的几件事

    最近在玩ESP8266 做了些东西 比如考研倒计时器 网络闹钟 网络灯 用手机控制亮度 气象站等等 ESP8266本身挺简单的 倒是这个自动下载电路 我还是第一次玩 以前玩51也用过串口下载 都是自己冷启动 玩STM32用的ST LINK
  • MobileNetV2-SSDLite的安装使用

    前两篇文章已经安装了caffe并切换到ssd分支 同时添加了对ReLU6的支持 接着这里开始安装和使用MobileNetV2 SSDLite 首先安装MobileNetV2 SSDLite git clone https github co
  • 虚拟机ubuntu18.04+opencv4.6.0安装一篇足矣!!【指路合集】【亲测有效】

    写在前面 下面的方法都是本人实测遇到问题时采用的学习到的方法 亲测有效 其他根据教程走没什么问题 希望能有所帮助 本篇分两部分 一部分是虚拟机ubuntu18 04的安装 完整详细教程写在另一篇中 亲测有效 VM虚拟机安装Ubantu18
  • 关于标签的 的target属性

    如果 有一个页面上为这样两个超链接 a href http www baidu com 超链接1 a a href http www sohu com target self 超链接2 a 点击超链接1 的时候会弹出一个页签 内容是 htt
  • 卷积神经网络应用之图像分割

    SPP结构主要学自该博客 深度学习 十九 基于空间金字塔池化的卷积神经网络物体检测 FNC FNC主要做的是基于像素的图像分割预测 其做法是先按照传统的CNN结构得到feature map 将传统的全连接层替换成相应的卷积层 如最后一层特征
  • JSON与文件互转

    JSON转文件 createJsonFile package util import java io File import java io FileOutputStream import java io OutputStreamWrite
  • C++初始化类的对象错误,表达式必须具有类类型,但它具有类型 “类名(*)()“

    如果时创建类的对象的时候 调用了一个无参构造 那么这时候的括号 主函数的创建类的对象的括号 就不要写啦
  • 目标检测(object detection)

    目标检测 目标检测 目标检测的任务 R CNN 目标检测 Overfeat模型 SPPNet Fast R CNN Faster R CNN YOLO介绍 YOLOV2 YOLOV3 SSD算法原理 目标检测 目标检测的任务是找出图像中所感
  • Java技术小册(核心篇)

    核心篇 数据存储 MySQL 索引使用 的注意事项 说说反模式设计 说说分库与分表设计 分库与分表带来的分布式困境与应对之策 说说SQL优化之道 MySQL遇到的死锁问题 存储引擎的 lnnoDB 与 MyISAM 数据库索引的原理 为什么
  • [W pthreadpool-cpp.cc:90] Warning: Leaking Caffe2 thread-pool after fork. (function pthreadpool)

    问题 报了warning W pthreadpool cpp cc 90 Warning Leaking Caffe2 thread pool after fork function pthreadpool 并且进程自动停止了 解决 num
  • STM32单片机PID控制数控恒流源-100mA~+100mA输出正负恒流源

    实践制作DIY GC0079 PID控制数控恒流源 一 功能说明 基于STM32单片机设计 PID控制数控恒流源 功能介绍 STM32F103C系列最小系统板 LCD1602显示器 MCP4725 12位DAC MCP3201 12位ADC
  • Centos搭建ftp服务器

    目录 ftp是什么 搭建ftp服务器目的 检查安装vsftpd软件 创建用户 创建用户并指定用户目录 ftp是什么 FTP是 File Transfer Protocol 文件传输协议的英文名称 用于在Internet上控制文件的双向传输
  • [Vue warn]: Failed to resolve directive: Show

    Vue warn Failed to resolve directive Show 1 错误截图 2 错误分析 3 此类问题解决办法 1 错误截图 2 错误分析 1 根据报错的文件路径我们肯定定位到 对应的文件发生报错 2 奇怪的是 程序的
  • 【华为OD机试真题 C语言】45、 分糖果

    文章目录 一 题目 题目描述 输入输出 样例1 二 思路参考 三 代码参考 作者 鲨鱼狼臧 个人博客首页 鲨鱼狼臧 专栏介绍 2023华为OD机试真题 使用C语言进行解答 专栏每篇文章都包括真题 思路参考 代码分析 订阅有问题后续可与博主解
  • moment以及dayjs(获取当前日期等相关写法)

    moment 1 使用moment获取今天 moment格式 const start moment startOf day const end moment endOf day 日期格式 const start moment startOf
  • “该微信号已经绑定了50个小程序,不可继续绑定”,如何自助解绑

    微信上搜索并关注公众号 公众平台安全助手 左下角的菜单 绑定查询 可查询到 公众号 小程序 开放平台 中绑定的信息 只要不是管理员身份 均可以自己点击进行解绑
  • C语言课程设计大作业——学生成绩管理系统详细(含实验报告内容)

    写在前面 欢迎来到 发奋的小张 的博客 我是小张 一名普通的在校大学生 在学习之余 用博客来记录我学习过程中的点点滴滴 也希望我的博客能够更给同样热爱学习热爱技术的你们带来收获 希望大家多多关照 我们一起成长一起进步 也希望大家多多支持我鸭