学生成绩管理系统(c语言)

目录

题目需求

程序编写

定义学生结构体:

选择菜单:

文件读入结构体变量:

结构体变量写入文件:

输入检查:

输入记录:

打印记录:

修改记录: 

删除记录:

查找信息:

最终代码:

调试:

软件准备:

测试数据: 

直接复制测试数据版本:

输入,打印输出功能测试:

统计功能测试:

其他功能测试:


题目

        编写一个C语言程序,实现学生成绩管理系统,至少能够管理30条的成绩信息。其中:学生成绩信息主要包括:学号,姓名,各科成绩(假设四科成绩:数学,英语,政治,程序设计),用结构类型数组保存学生成绩信息;学生成绩信息保存到文件中;注:成绩为良以上的需用文件保存数据;每一功能用函数实现; 具体功能要求如下:

        1)【录入】能够从文件中读学生成绩信息,也能够随时录入1条学生成绩信息。

        2)【修改】能够随时按学号修改1条学生信息,包括:对已录入的信息进行修改。

        3)【删除】能够随时按学号删除1条学生信息。

        4)【显示】能够按照要求把结果显示到屏幕上。

        5)【查询】能够按照输入要求把查询结果显示到屏幕上(例:按学号查询,结果有一条或没有相应信息显示,或按成绩查询,结果可能有多条记录或没有相应信息显示)。

        6【统计】能够按照输入要求统计相应功能(例:统计每门课平均成绩并显示,统计每门课优秀率学生人数并显示)。

        7)【存储】能够将当前系统中的所有信息保存到文件中。

程序编写

定义学生结构体:

#define MAX_STUDENTS 30  
// 定义结构体类型  
typedef struct Student {int id;    // 学号  char name[20];  // 姓名  int scores[4];// 各科成绩(数学、英语、政治、程序设计)  
}STU;
STU students[MAX_STUDENTS];

        首先我们将学生的信息全部封装成一个结构体,这样我们才能方便后续使用。 

选择菜单:

#include<stdio.h>
void menu(void);
void main(void)
{short int flag = 0;menu();do{flag = 1;switch (getch()){case '1':; break;case '7':exit(0);				    default: printf("输入有误\n");}printf("按任意键继续\n");getch();menu();} while (flag == 1);
}/*选择菜单*/
void menu(void)
{system("cls");printf("\n");printf("*********欢迎进入学生成绩管理系统**************\n");printf("                 菜单                        \n");printf("输入记录-------------------------------------1\n");printf("修改记录-------------------------------------2\n");printf("删除记录-------------------------------------3\n");printf("查询记录-------------------------------------4\n");printf("统计记录-------------------------------------5\n");printf("显示记录-------------------------------------6\n");printf("退出系统-------------------------------------7\n");printf("**********************************************\n");printf("请输入您的选择\n");
}

这段代码实现了一个学生成绩管理系统的菜单选择功能。以下是代码的解析:

  1. 包含头文件:#include<stdio.h> 包含了C语言的标准输入输出库,使得程序可以使用printfgetch等函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/122816.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

合并两个有序链表(C++)

题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]示例 2&#xff1a; 输入&#xff1a;l1 [], l2 [] 输出&#xff1…

取Dataset子集(pytorch)

取Dataset子集--pytorch 1. why2. how3. example 1. why 我们在调试深度学习代码时&#xff0c;常常会遇到数据集太大&#xff0c;导致调试浪费时间的情况&#xff0c;这种情况下&#xff0c;将数据集中的一个子集拿出来用于调试代码&#xff0c;调试成功在用完整的数据集运行…

从InnoDB索引的数据结构,去理解索引

从InnoDB索引的数据结构&#xff0c;去理解索引 1、InnoDB 中的 BTree1.1、BTree 的组成1.2、BTree中的数据页 2、聚簇索引2.1、聚簇索引的特点2.2、聚簇索引的结构示例2.3、聚簇索引的优缺点 3、非聚簇索引3.1、非聚簇索引结构示例3.2、关于回表3.3、聚簇索引和非聚簇索引的区…

快速排序算法

快速排序一&#xff1a;给定一个数组&#xff0c;进行排序&#xff0c;要求排序完成之后&#xff0c;小于数组最后一个元素的数据全部在它的左边&#xff0c;大于它的全部在它的右边&#xff0c;左右两边内部不要求有序&#xff0c;比如原数组是[5, 6, 3, 1, 2, 3]排序完之后:[…

数据特征工程 | 基于PCA算法(Python)

随着数据量的不断增加和数据维度的不断扩展,如何进行高效的数据降维处理成为了一个热门话题。在数据分析领域,PCA算法作为一种常用的数据降维方法,可以对多个特征进行降维,提高计算效率和降低存储空间需求。本文以波士顿房价数据集为例,探讨如何利用PCA算法对房屋价格进行…

基本微信小程序的外卖点餐订餐平台

项目介绍 餐饮行业是一个传统的行业。根据当前发展现状&#xff0c;网络信息时代的全面普及&#xff0c;餐饮行业也在发生着变化&#xff0c;单就点餐这一方面&#xff0c;利用手机点单正在逐步进入人们的生活。传统的点餐方式&#xff0c;不仅会耗费大量的人力、时间&#xf…

css四种导入方式

1 行内样式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <h1 style"color: blue">我是标题</h1> </body> </htm…

【java爬虫】爬虫获取某交易所公司半年报全量数据

上一篇文章介绍了使用selenium获取某交易所公司半年报的方法&#xff0c;页面中公开展示的数据一共有2222条&#xff0c;本文就将所有数据分享出来。 这是上一篇文章 【java爬虫】使用selenium获取某交易所公司半年报数据-CSDN博客 首先是建表sql语句 use finance_db;/* 半…

批量去除影视剧中的片头片尾

1. 下载ffmpeg并配置环境变量 ffmpeg下载地址 Windows下配置ffmpeg环境变量 2. 运行脚本 Git下载地址 Windows系统下如何运行.sh脚本文件 在Windows上面可以安装git&#xff0c;然后使用Git Bash运行此脚本。 视频目录一定要用英文双引号括起来。 ./cut.sh "视频目录&q…

用python实现操作mongodb的插入和查找操作

用python实现操作mongodb的插入和查找操作 import pymongoclient pymongo.MongoClient("mongo://localhost:27017") db client["app"] col db["C1"]# 插入一条数据 #user { # "name": "Sam", # "age":…

粤嵌实训医疗项目--day03(Vue + SpringBoot)

往期回顾 粤嵌实训医疗项目day02&#xff08;Vue SpringBoot&#xff09;-CSDN博客 粤嵌实训医疗项目--day01&#xff08;VueSpringBoot&#xff09;-CSDN博客 目录 一、SpringBoot AOP的使用 二、用户模块-注册功能&#xff08;文件上传&#xff09; 三、用户模块-注册实现…

【Unity】RenderFeature应用(简单场景扫描效果)

【Unity】RenderFeature应用&#xff08;简单场景扫描效果&#xff09; RenderFeature 是一个用于渲染图形的概念&#xff0c;通常在图形引擎或游戏引擎中使用。它是一个模块化的组件&#xff0c;负责处理特定的渲染功能&#xff0c;例如阴影、光照、粒子效果等。 点击地面生成…

【考研数学】数学“背诵”手册 | 需要记忆且容易遗忘的知识点

文章目录 引言一、高数常见泰勒展开 n n n 阶导数公式多元微分函数连续、可微、连续可偏导之间的关系多元函数极值无条件极值条件极值 三角函数的积分性质华里士公式&#xff08; “点火”公式 &#xff09;特殊性质 原函数与被积函数的奇偶性结论球坐标变换公式 二、线代施密特…

CondaError: Downloaded bytes did not match Content-Length

问题 使用anaconda下载包文件时&#xff0c;出现了CondaError: Downloaded bytes did not match Content-Length的错误 CondaError: Downloaded bytes did not match Content-Lengthurl: https://conda.anaconda.org/pytorch/win-64/pytorch-2.1.0-py3.11_cuda11.8_cudnn8_0.…

npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。

1、在vscode终端执行 get-ExecutionPolicy &#xff0c;显示Restricted&#xff0c;说明状态是禁止的。 2、更改状态: set-ExecutionPolicy RemoteSigned 出现需要管理员权限提示&#xff0c;可选择执行 Set-ExecutionPolicy -Scope CurrentUser 出现的ExecutionPolicy参数后输…

H5游戏源码分享-色块选择游戏

H5游戏源码分享-色块选择游戏 玩到后面色块越来越小&#xff0c;越来越难找出 <!DOCTYPE html><html><head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"><meta charset"UTF-8"><meta na…

asp.net core获取config和env

配置文件的读取和使用 //读取配置文件直接使用 var configModel configuration.GetSection("DataBaseConfig").Get<DataBaseConfigModel>(); //读取配置文件注入到IOC中 services.Configure<AssemblyConfig>(configuration.GetSection("AssemblyC…

Log日志详解分析

目录 1、log日志的用途2、log日志级别3、什么时候需要输出日志1. 系统启动参数、环境变量2. 异常捕获处3. 函数获得期望之外的结果时4. 关键操作 4、日志输出的内容5、 注意事项1. 日志信息不明确2. 特殊异常处理3. 日志输出顺序4. 临时调试日志 6、xml文件配置7、linux下查看日…

bitlocker 加密锁定的固态硬盘,更换到别的电脑上,怎么把原密钥写进新电脑TPM芯片内,开启无需手动填密钥

环境: Win11 专业版 联想E14笔记本 512G ssd 问题描述: 一台笔记本因充电故障,需要拿去维修,不想重装系统,将bitlocker 加密锁定的固态硬盘拆下更换到别的笔记本电脑上,现在开机要手动填密钥,怎么把原密钥写进新电脑TPM芯片内,开启无需手动填密钥和之前那台电脑一…

Python对json文件的读取和处理

JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;它通过易于读取和编写的文本格式来传输和存储数据。在JSON中&#xff0c;数据被保存为键值对的形式。比较常见的JSON键值对形式为&#xff1a;key:value。其中&#xff0c;key为…