C语言学生成绩管理系统

article/2025/10/27 9:52:16

制作学生成绩管理系统,可以实现以下功能:

  1. 每条记录包括:学号、姓名、专业和5门课程的成绩;
  2. 能够实现添加、删除、修改功能;
  3. 能够计算某学生的总分和平均分;
  4. 能按照总分排序输出;

利用C语言的基本语法、结构化程序设计、数组、函数、结构体、指针、链表、排序算法、文件存储等,制作一个具有添加、删除、修改等功能的学生成绩管理系统,包含学号、姓名、专业和5门课程的成绩这个四个大方面的内容,流程图如图1所示。

  1. 详细设计及实现

学生成绩管理系统有帮助,刷新,查询,增加,删除,显示,保存,退出,清屏这些功能,要实现这些功能,需要用到很多函数,结构体,文件操作,链表,指针等,在这里会详细介绍各类函数以及其他知识点所对应的用法,

一 头文件

#include <stdio.h>  #include <malloc.h>#include <string.h>#include <stdlib.h>

做这个学生成绩管理系统需要用到这四个头文件:

①#include <stdlib.h>:

常用的函数如malloc()、calloc()、realloc()、free()、system()、atoi()...用清屏功能以及删除链表释放内存时要用到system("cls");free(p),如图2所示。

图2 free函数使用的代码图

②#include <malloc.h>

动态存储分配函数头文件,当对内存区进行操作时,调用相关函数.

在使用链表时,创建新的指针时用到malloc(sizeof(LinkList)函数

如图三所示。

图3 malloc函数使用的代码图

③#include <string.h>

用系统的添加,修改功能时将字符串数组赋值给另一个字符串数组,需要字符串链接函数;strcpy()字符串复制函数,就需要使用#include <string.h> 这个头文件。

typedef struct score

{

    int score_c;      //C语言成绩

    int score_math;      //高等数学

    int score_english; //大学英语成绩

    int score_zhengzhi;//政治成绩

    int score_tiyu;//体育成绩 

}Score;

学生个体的信息,包括姓名,学号,专业,成绩

typedef struct Student { char name[100];       //姓名 char num[100];        //学号 char zhuanye[100];       //专业Score score;          //成绩 }stu; 

对链表的使用创立的个体包含两个对象,一个是data,还有个指针next

typedef struct LNode { stu data; struct LNode *next; }LinkList;

三 链表的使用

创立一个链表,首先要对它初始化:指针L相当于是头指针

void InitList(LinkList *&L)//初始化链表 { L=(LinkList *)malloc(sizeof(LinkList));  //指针L相当于是头指针headL->next=NULL; }添加新的链表:void ListInsert(LinkList *&L,LinkList *p)//插入新的节点 { LinkList *q=NULL; q=L; p->next=q->next;  //q->next=p;  

创立的第一个节点的时候q->的next就为NULL,再创一个节点的话相当于把它插入到两节点之间, 重新指向p,连接上新的节点(p)

后面的添加学生,修改信息,删除,排序都是在上面的基础上进行的,待会函数的时候在分别介绍。

四 选择控制结构,函数调用

在一开始时,使用系统需要我们选择使用哪个功能,输入0~9之间的整数就可以使用不同的功能,这里需要用到选择控制结构:  

 while(1)  //无限循环,当用户使用完某一项功能后,界面就会弹出选择表{ printf("\n");menu();     //功能菜单printf("请输入您的选择:\n");scanf("%d",&choose); switch(choose) { case 0://系统帮助及说明help();break;case 1://刷新信息(按学号排序)sort(L);break;case 2: //查询学生信息             findstu(L); break;                          case 3://修改学生信息 changestu(L);break;case 4://增加学生信息 addstu(L);break;case 5://删除学生信息 deletestu(L); break; case 6://输出所有学生的信息 display(L); break;case 7://保存学生信息到文件  saveStuDentFile(L); break;case 8://退出 printf("谢谢使用!"); exit(0);case 9: //清屏

 


http://chatgpt.dhexx.cn/article/n07MWn4Q.shtml

相关文章

c语言成绩管理系统

关注微信公众号每日新觉&#xff0c;私聊作者获取提取密码点击下面链接&#xff0c;私聊作者获取提取密码。https://mp.weixin.qq.com/s/QgRQ3YB2JqCvNOGQHQ57rA 作者每日新觉&#xff0c;是一名热爱技术和编程的年轻程序员。他在计算机科学和软件工程领域有着广泛的研究和实践…

c语言成绩管理系统1.0,c语言成绩管理系统完整附源码v1.0 免费版

c语言成绩管理系统拥有和hello word一样的江湖地位&#xff0c;初学C语言的朋友基本都会从管理系统开始入手学习&#xff0c;对于很多大学生来说更是如此&#xff0c;今天为大家带来的这款系统以及源码希望能对大家学习学C语言有所帮助&#xff0c;欢迎下载使用。 C语言介绍 C语…

C语言学生成绩管理系统(综合项目)

1. 这个代码主要实现以下功能&#xff1a; 2. 用到的主要参数有&#xff1a; 1.整型变量int n;用于储存学生人数和之后的循环判断。 2.字符串char name[][];用于储存姓名。 3.浮点型变量float score[];用于储存成绩。 4.长整型变量long ID[Max];用于储存学号。 3.…

【高级语言程序设计】c语言-学生成绩管理系统

c语言期末作业 声明&#xff1a;未经允许&#xff0c;请勿转载 学生成绩管理系统 本系统能够对学生成绩管理功能&#xff0c;包括&#xff1a; 1.对多个学生成绩进行管理&#xff0c;至少10个学生。 2.每个学生至少3门课程。 3.对每个学生大学期间的成绩进行记录。 4.修改学生…

班级成绩管理系统(C语言)

文章目录 一、设计任务与目标二、实现功能三、程序源码四、效果展示 一、设计任务与目标 对一个有N个学生的班级&#xff0c;每个学生有M门课程。该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。 二、实现功能 &#xff08;1&#xff09;本系统采用一个结…

C语言:学生成绩管理系统

目录 一&#xff1a;功能概述&#xff1a; 二&#xff1a;实现&#xff1a; 1.主源文件 1.打印菜单&#xff01; 2.构建管理系统的框架&#xff1a; 二&#xff1a;辅源文件 1.使用结构体&#xff0c;方便后面的编写 2.输入学生信息 3.输出学生基本信息 3.按姓名查询 3.…

C语言课程设计|学生成绩管理系统(含完整代码)

目录 前言 简介 学生信息录入功能 学生单个信息查询 查询全部学生信息 修改学生信息 删除学生信息 退出 完整代码 前言 在临近期末之际&#xff0c;相信好多初学C语言的同学都开始为写C语言课程设计这件事开始焦虑了吧&#xff1f;或许会不知所措&#xff0c;或许会…

matlab importdata不能读取全部数据问题

最近使用importdata函数不能读取全部数据&#xff0c;数据集315行&#xff0c;但是读取了197行&#xff0c;那就是197-198之间有问题&#xff0c;百度之后有了思路。由于没有找到具体的证据&#xff0c;所以这里说一下解决思路。 import可以导入很多文件类型&#xff0c;.dat文…

ImportError: cannot import name 'datasets'

初次使用python scikit-learn库时出现找不到模块的问题 from sklearn import datasets ImportError: cannot import name datasets类似问题链接&#xff1a; https://stackoverflow.com/questions/39280466/cant-import-datasets-with-scikit-learn 参考答案&#xff1a; 原因…

MATLAB输入、导入方式(手动输入,TXT文件,Excel导入)

目录 手动输入 input函数 自动输入 TXT导入数组 dir函数 importdata函数 Excel导入数组 手动输入 input函数 请求用户输入 语法 x input(number) %数值型str input(charnumber,s) %字符型&#xff0c;s不能改变 数值型进行演示 Pzeros(5,1); %建立零51矩阵进行储存…

1.数据的导入与导出

数据的导入与导出 更多MATLAB数据分析视频请点击&#xff0c;或者在网易云课堂上搜索《MATLAB数据分析与统计》 http://study.163.com/course/courseMain.htm?courseId1003615016 在用MATLAB进行编程时&#xff0c;不可避免的要涉及到数据的导入与导出&#xff0c;如果数据…

matlab读取数据文件

data1.txt: 0 3886.162 2200.938 141.240 1 3721.139 2208.475 141.152 2 3866.200 2198.936 141.126 3 3678.048 2199.191 141.250 4 3685.453 2203.726 141.241 分别采用load、importdata、textread、fscanf、textscan和fread函数读取文本数据文件。 dat1load(data1.t…

Python中库导入from . import 和from .. import 的使用方法

Python中库导入from . import 和from .. import 的使用方法 程序目录结构如下 from . import XX 和 from .. import XX 只能使用在子包中&#xff0c;例如上面的例子中&#xff0c;程序最外层是主程序app.py,程序有一个子包pack1&#xff0c;pack1下有a.py 和b.py两个文件&…

matlab inport data 作图,MATLAB使用importdata读取字符数据文件并绘图 值得收藏

本文首先使用importdata( )读取(导入)含有字符和数据的文本格式数据文件&#xff0c;然后介绍通过“.”数据名的方式读取结构数组中的数据&#xff0c;最后使用plot( )绘制折线图。 工具/材料 MATLAB struct 操作方法 01 第一&#xff0c;首先准备数据&#xff0c;下图txt数据文…

【MATLAB统计分析与应用100】案例001:matlab使用Importdata函数导入文本txt数据

配套实验数据包下载链接&#xff1a;订阅专栏后&#xff0c;从私信查收链接。 文章目录 1. 调用importdata函数读取文件中的数据2. 调用importdata函数读取文件数据&#xff0c;返回结构体变量x3. 调用importdata函数读取文件中的数据&#xff0c;用;作分隔符&#xff0c;返回字…

ImportError: No module named data

问题 明明在IDE&#xff08;如Pycharm&#xff09;中运行 check_file.py 正常。到了xshell使用python check_file.py方式运行时&#xff0c;就报ImportError: No module named data。 # check_file.py from data import scannet_util产生这个问题的原因是python的搜索路径导致…

MATLAB数据导入(importdata函数)

编写程序时&#xff0c;有时需要从外部读入数据&#xff0c;这里介绍用importdata函数把数据导入MATLAB的方法。 1.加载和显示图像文件 在MATLAB中建立一个脚本文件&#xff0c;内容如下&#xff1a; filename ming.png; A importdata(filename); image(A);运行该文件&…

Matlab学习笔记(7)——importdata和load函数

importdata和load函数 引言importdata函数 Demo1Demo2Demo3Demo4Demo5Demo6 load函数 Demo importdata和load函数 引言 在使用matlab将数据导入到工作空间的时候,经常会使用到两个函数&#xff0c;一个是importdata函数&#xff0c;另一个是load函数&#xff0c;它们的使用…

Matlab中importdata函数的使用

目录 语法 说明 示例 导入并显示图像 导入文本文件并指定分隔符和列标题 导入文本文件并返回检测到的分隔符 从剪贴板导入数据 importdata函数的功能是从文件加载数据。 语法 A importdata(filename) A importdata(-pastespecial) A importdata(___,delimiterIn) A…