#include <stdio.h>
#define MAXSIZE 10
//定义学生的数据结构,包含学号,姓名,数学成绩,英语成绩,平均分信息以及录入,修改学生信息,成绩表等操作
struct student
{
int num;
char name[10];
int math,english;
double average;
};
int sum=0;
int main()
{
int choice;
struct student students[MAXSIZE];
void new_student(struct student *p);
void change(struct student*p);
void get(struct student*p);
do{
printf("输入操作对应的序号\n1.录入成绩 2.修改成绩 3.获取所有学生成绩 4.退出\n");
scanf("%d",&choice);
switch (choice)
{
case 1: new_student(students);break;
case 2: change(students);break;
case 3: get(students);break;
case 4: break;
default: printf("无效操作序号\n");break;
}
}while(choice!=4);
return 0;
}
void new_student(struct student *p)
{
int flag =0,num_new,i,flag1;
struct student *p1; //用于检查学号是否重复
do {
if (sum<MAXSIZE){
do {
p1=p;
flag1=0;
printf("输入学生学号\n");
scanf("%d",&num_new);
for (i=0;i<sum;p1++) //检查学号是否重复
{
if (p1->num==num_new)
{
printf("学号重复\n");
flag1=1;
break;
}
i++;
}
if (flag1==0) (p+sum)->num=num_new;
}while(flag1==1);
printf("输入学生姓名\n");
scanf("%s",(p+sum)->name);
printf("输入学生数学成绩\n");
scanf("%d",&((p+sum)->math));
printf("输入学生英语成绩\n");
scanf("%d",&((p+sum)->english));
(p+sum)->average=((p+sum)->math+(p+sum)->english)/2;
sum+=1;
printf("继续录入输入1,否则输入0\n");
scanf("%d",&flag);
}else
{
printf("系统已满,无法录入\n");
break;
}
}while(flag==1);
}
void change(struct student*p)
{
int num_change,i,choice;
printf("输入待修改学生的学号\n");
scanf("%d",&num_change);
for (i=0;i<sum;p++)
{
if (p->num==num_change)
{
printf("输入修改的信息类型对应的序号\n1.学号 2.姓名 3.数学成绩 4.英语成绩\n");
scanf("%d",&choice);
switch (choice)
{
case 1:
{
printf("输入新学号\n");
scanf("%d",&(p->num));
break;
}
case 2:
{
printf("输入新姓名\n");
scanf("%s",p->name);
break;
}
case 3:
{
printf("输入新数学成绩\n");
scanf("%d",&(p->math));
break;
}
case 4:
{
printf("输入新英语成绩\n");
scanf("%d",&(p->english));
break;
}
default:{
printf("无效输入\n");
break;
}
}
if (choice==3 ||choice==4) //如果修改成绩,则平均分也要变
{
p->average=(p->math+p->english)/2;
}
break;
}
i++;
}
if (i==sum)
{
printf("没有此学生\n");
}
}
void get(struct student*p)
{
int i;
if (sum==0)
{
printf("空\n");
}else
{
printf("学号 姓名 数学成绩 英语成绩 平均分\n");
for (i=0;i<sum;p++)
{
printf("%d %s %d %d %.1f\n",p->num,p->name,p->math,p->english,p->average);
i++;
}
}
}相关推荐
C语言学生成绩管理系统
通过C语言程序系统,设计一个可以对学生的成绩信息进行管理的程序,其中学生的信息可以包括:学号、各科目的成绩的平均分排序等,其功能可以包括学生成绩的输入、输出、查询、排序、删除、统计、退出等。
C语言课程设计大作业——学生成绩管理系统详细(含实验报告内容)
一、设计的目的 1在编辑应用程序过程中,逐步加深对高级语言编程的理解,全面掌握《高级语言程序设计》关键知识点,掌握高级语言中数组、结构体等方面的知识。 2培养学生查阅文献、手册的自学能力,通过独立思考深入研究有关问题,懂得自己分析,自己解决问题的方法。 3加强实践能力,动手能力,同时进一步对所学知识进行巩固。 4加强高级语言的编程能力。 二、需求与功能分析 1)需求分析 学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言。教师可以通过成绩
用EasyX写成绩管理系统
用C语言+EasyX写学生成绩管理系统 从一个啥也不会,只会在控制台黑框框里写简单的C,然后为了完成学生成绩管理系统课程设计作业,从0开始学习Easy X,最后写成能上交的作业。所以想在这里做个总结,也为后来者提供点思路。下面直接先看看效果吧。 主界面 成绩录入界面 若学号重复则提示 成绩查询界面:可以通过姓名或学生学号查询 若没有查询到,则提示查无此人 成绩修改界面:可以通过姓名或学生学号修改 成绩删除界面:可以通过姓名或学生学号删除 若查询到后会提示是否确认删除 若查
C语言存数组_C语言|学生成绩管理系统
点击上方“C语言中文社区”,选择“设为星标★”技术干货第一时间送达!作者:ancientear原文:https://www.jianshu.com/p/e43e795808aa要求设计的管理系统能够实现以下功能:1.每一条记录包括一个学生的学号、姓名、3个成绩(平时成绩、作业成绩、考试成绩)2.成绩录入功能:(成绩信息用文件保存,可以一次完成若干条记录)3.成绩信息显示浏览功能,完成全部...
学生成绩管理系统_链表实现
实验:学生成绩管理,C语言实现,采用链表完成。编写程序完成对学生成绩的管理,要求实现的功能包括(以下功能分函数完成): 1、学生信息录入:从键盘按学号顺序输入 N名学生信息(学号、姓名和成绩) 2、学生信息输出:输出学生的信息 3、学生信息排序:按照成绩从低到高的顺序对录入的学生信息排序 4、学生信息查询:按照输入的学号查找并输出对应学生的信息 5、学生信息插入:按给定信息将学生信息插入到指定位置 6、学生信息删除:删除给定学生的信息 7、学生成绩统计:按分数段统计学生信息采用结构体数组完成。目录对存...
C语言使用单链表的学生成绩管理系统
本系统的代码冗余还是蛮多的,其实可以再精简很多,可是后期自己懒得改了,这里强调一个思想----代码复用,这会大大节约自己的编程量,也可以使自己看待一个向项目有宏观的思想。关于这个系统,是采用单链表和文件写的,单链表在数据录入部分已经按照学号排好序,后期的数据输出也即很方便看待数据,其实可以在后期进行排序,我的想法有两种,①创建一个结构体数组,把数据重新导入结构体数组中,再进行快速排序;②使用指针,
学生成绩档案管理系统 实验准备
学生成绩档案管理系统 实验准备 一、实验内容 二、编程语言 上学期使用Java完成过类似的项目,所以本次实验使用java编写 三、项目思路 创建学生类Public class Student 学生类中的数据及其类型: int ID;//学号 Sting name;//姓名 Sting major;//专业 Double grade1,grade2,grade3,grade4;//成绩 Double grade;//总分 int rank;//排名 创建学生信息数据库 (1. 创建列表List stud
【C语言项目设计】学生成绩管理系统设计
1.题目与要求 1.1问题提出 设计学生成绩管理系统,有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统 1.2本系统涉及的知识点 结构体数组、结构体指针、数组、循环、函数、分支、指针 1.3 功能要求 1、成绩录入:输入学生的学号、姓名及三门课的成绩; 2、成绩查询:(至少一种查询方式)。按学号查询学生记录,或查询不及格学生的记录;...
【学生成绩管理系统】课程设计
面向对象程序设计C语言(课程设计):学生成绩管理系统
用顺序表实现学生成绩管理系统
对线性表的顺序存储结构进行基本操作, 要实现的功能有: ( 1) 录入功能:可以录入学生信息; ( 2) 统计功能:计算出每个学生的平均成绩,按照平均成绩排序,并能统计 出 100~90, 60~0 学生的人数和信息; ( 3)查找功能:能根据学号查找学生信息,并能进行相应修改; ( 4)插入功能:能插入新学生的信息; ( 5)删除功能:能根据学号,删除相应学生的信息。
用c语言实现的学生成绩管理信息系统
综合运用C语言的数组、函数、指针和文件,生成一个相对复杂的学生成绩管理系统。
简易学生管理系统(c语言、结构体数组、指针)
前话:时隔半年的博客,哎,大二课太多了,没办法,这不最近结了几门课,有点空闲时间,正愁写点什么好,恰巧翻到了c语言结课时的大作业,整理整理就来更新了。大一的时候上网可学的不是太好,现在看这个学生成绩管理系统感觉还是有点简陋了,但是嘛,这也是自己的成长过程不是?行了,咱废话不多说,来聊聊这个程序。 设计思路 选择数据 因为学生信息包含学号、成绩数字信息和名字、等级字符信息,所以我们需要使用能够包含不同数据类型的结构体。那么问题来了,是使用链表还是结构体数组呢?对当时的我来说没得选,因为学的太菜(狗头保命),
FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译
FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译 什么是Firmament? Firmament (FMT) 是一款基于模型设计 (Model-Based-Design, MBD) 的开源自驾仪,可被用来快速构建无人机,无人车,无人船,机器人等平台的控制系统。 系统主要由两部分构成. FMT-Firmware: 一个基于C/C++开发的稳定、高性能的嵌入式系统. FMT-Model: 一个基于MATLAB/Simulink开发的仿真框架以及算法库. 昨天得知FMT开源飞控项目已经开
C语言实现学生成绩管理系统(分步骤实现)
C语言实现学生成绩管理系统(小白也看得懂) 程序需要实现的功能 C语言学生信息管理系统包括以下几个功能: 1、学生成绩的录入 2、学生成绩的浏览 3、学生成绩的查询 4、学生成绩的删除 5、学生成绩的排序(这是进阶功能,实现起来也最复杂) 6、学生成绩的分析 程序设计的整体思路 程序主要实现思路是依靠链表,数组,指针,结构体等相关知识,其中的核心是对链表的操作。 ①:使用单链表作为程序核心,单链表...
RK3506开发板实战:5分钟搞定开源鸿蒙OpenHarmony5.1+星闪功能配置
本文提供了一份基于RK3506开发板快速配置开源鸿蒙OpenHarmony 5.1并启用星闪功能的实战指南。文章详细介绍了从开发环境搭建、系统镜像编译烧录,到星闪驱动加载验证、应用开发及性能调优的全流程,帮助开发者高效上手,将新一代短距无线通信技术应用于物联网项目。
从内参矩阵到归一化平面:揭秘相机成像的标准化核心
本文深入解析了相机成像中的核心概念——归一化平面。通过拆解内参矩阵(包含焦距、主点等参数)的作用,详细阐述了如何将像素坐标转换为与具体相机硬件无关的归一化坐标。这一标准化过程是计算机视觉算法(如多相机系统对齐、视觉SLAM)实现跨设备通用性的关键,能有效提升算法的鲁棒性和泛化能力。
C++编写学生成绩管理系统
该学生成绩管理系统最多可录入100名学生(可修改上限,此处设为100人),每个学生的信息录入包括姓名、学号、性别、语文成绩、数学成绩、英语成绩以及三门课程的平均成绩。
机器人视觉联动精度优化:从±2mm到±0.02mm,产线级手眼标定全实战
2025年我接东莞长安Type-C接口分拣项目的时候,就是栽在了手眼标定上:实验室里标定完精度±0.5mm,一到产线直接掉到±2mm,机器人10次有3次抓不住,2000多件Type-C接口直接报废,还撞坏了2套汇川SCARA机器人的吸盘,本来45天的工期拖了3个月,不仅没赚到钱,还倒贴了几万块。手眼标定从来不是简单的跑个demo、算个矩阵就完事了,它是一个系统工程:从硬件选型、安装固定、相机标定、标定流程、算法优化、环境控制、重复验证,每一个环节都会影响最终的联动精度。
C语言--简单的学生成绩管理系统--附源代码(链表,结构体指针)
一、实训目的 通过本实训,主要目的是让学生掌握以下知识点: 1、结构体数组的定义和使用。 2、结构体数据的输入与输出方法。 3、插入、排序、查找、删除算法的实现。 4、初步了解一个简单管理系统的设计方法。 二、实训内容 1、输入:函数input把10个学生的学号、姓名、性别、年龄、四科成绩以及平均成绩和总成绩放在一个结构体数组中,学生的学号、姓名、四科成绩由键盘输入,然后计算出平均成绩和总成绩放在结构体对应的域中。2、插入:insert 函数输入一个学生的记录,按学号的先后顺序插入该学生的全部
基于改进Unet的多场景水果图像分割与分类研究
本文针对复杂场景下的水果图像分割问题,提出了一种改进Unet模型。通过构建包含8类水果、3种成熟度及多种干扰场景的数据集,采用ResNet50与MobileNetV3作为骨干网络,并在跳跃连接层集成CBAM注意力机制。实验表明,改进模型在测试集上达到91.6%的mIoU,推理速度提升23%,特别在重叠水果和低光照场景表现突出。研究为农业视觉检测提供了有效解决方案。
手把手教你学Simulink--基于车联网与智能交通系统的场景实例:基于车联网(V2X)的实时路况信息共享与处理
《基于Simulink的车联网(V2X)实时路况共享系统仿真》摘要:本文详细介绍使用Simulink构建V2X智能交通系统的完整方法。系统包含交通路网建模、V2X通信实现(支持DSRC/C-V2X标准)、多源路况信息融合、动态路径规划等核心模块。通过对比实验,验证V2X可使平均车速提升52%,行程时间缩短34%,显著提升交通效率。文章还探讨了AI预测调度、车辆编队等高级应用,为智慧交通系统开发提供实用参考。所需工具包括Simulink、SimEvents及无线通信工具箱等。
C语言课程设计(学生成绩管理系统)
C语言课程设计报告问题描述解决思路遇到问题和解决办法核心程序总结 问题描述 解决思路 遇到问题和解决办法 核心程序 总结 一、问题描述 学生成绩管理系统:将学生的基本信息和成绩录入,根据学生的基本信息来实现以下功能:(1)实现对学生成绩和基本信息的添加、删除、修改、查找;(2)实现对学生成绩的统计(最高分、最低分、及格率);(3)通过学号和姓名来实现对成绩的查询;(4)实现对学生成绩(单科成绩、总分)的排序;(5)实现对学生基本信息的显示(学生基本信息包括:姓名、学号、院系、年级、班级、单科成绩)。 二、解
【Pytorch实战教程】基于RML2018的融合网络分类 | LSTM网络和ResNet网络融合 | 含数据集的处理
这段代码是从原始数据中读取所选择的数据,画出星座图,并将星座图保存本地,然后将IQ数据保存成mat文件,将图片数据读取之后保存为npy文件,方便后续融合网络使用。
学生成绩管理系统(附源码)
该设计要求学生以学校学生成绩管理业务为背景,设计、开发一套“学生成绩管理系统”软件。 通过该题目的设计过程,可以培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,针对c语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。得到软件工程的综合训练,提高解决实际问题的能力。
基于Verilog的8位CPU设计及UART扩展实现方案,包含完整的架构设计、核心代码实现和仿真验证方法
基于Verilog的8位CPU设计及UART扩展实现方案,包含完整的架构设计、核心代码实现和仿真验证方法
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
利用指针写一份学生信息管理系统
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 利用指针写一份学生信息管理系统前言一、分析题目二、解决步骤1.菜单栏2.功能13.功能24.功能35.功能46.功能57.主函数总结 前言 因为自己学校实验室考核C语言要求写一份学生信息管理系统,当时是建议的那种,话不多说先上题目 提示:以下是本篇文章正文内容,下面案例可供参考 一、分析题目 要求有一个菜单栏,可以考虑创建一个menu函数。 到目前为止的要求都还挺容易的,根据要求,创建相应的Function函数就行了 其实我认为注
最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版
Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。
6199



被折叠的 条评论
为什么被折叠?



