c语言成绩管理系统(链表)

article/2025/10/27 9:19:58

C语言实现了学生成绩管理系统,可以进行学生成绩的增加,删除,修改,查询,计算平均成绩和展示。
开发语言:C语言
开发工具:Dev c++
开发者:呵呵up

  1. 创建学生成绩信息

在这里插入图片描述
2. 插入学生信息
在这里插入图片描述
3. 删除学生成绩信息
在这里插入图片描述
4. 显示学生成绩信息
在这里插入图片描述
5. 修改学生信息
在这里插入图片描述
6. 查询学生成绩信息
在这里插入图片描述
7. 计算平均成绩信息
在这里插入图片描述
8. 退出程序
在这里插入图片描述
代码如下:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
typedef struct stu
{int num;char name[10];float score;
}STU;
typedef struct node
{STU data;struct node *next;
}Node;
Node *listcreate(Node *head,int people)      //创建链表,创建学生信息 
{int i;Node *p=NULL,*q=NULL;p=head;for(i=1;i<=people;i++){printf("\n请输入第%d个学生的信息:\n",i);q=(Node *)malloc(sizeof(Node));printf("请输入学生信息:\n");printf("学号:");scanf("%d",&q->data.num);printf("姓名:");scanf("%s",q->data.name);printf("成绩:");scanf("%f",&q->data.score);q->next=NULL;p->next=q;p=q;}p->next=NULL;return head;
}
Node *listinsert(Node *head,int i)		//插入学生信息 
{int j=-1;Node *p=head,*q;q=(Node *)malloc(sizeof(Node));q->next=NULL;printf("请输入学生信息:\n");printf("学号:");scanf("%d",&q->data.num);printf("姓名:");scanf("%s",q->data.name);printf("成绩:");scanf("%f",&q->data.score);while(p!=NULL){j++;if(j==i-1){break;}p=p->next;}q->next=p->next;p->next=q;return head;
}
Node *listreplace(Node *head,int i)    //根据学号修改学生成绩 
{Node *p=head->next;while(p!=NULL){if(p->data.num==i){printf("请输入修改后的学生信息:\n");printf("请输入学号:");scanf("%d",&p->data.num);printf("请输入姓名:");scanf("%s",p->data.name);printf("请输入成绩:");scanf("%f",&p->data.score);}p=p->next;	}return head;
}
Node *listseek(Node *head,int i)     //根据学号查询某个学生信息 
{Node *p=head->next;while(p!=NULL){if(p->data.num==i){printf("查询成功\n");printf("学号为%d的学生信息如下:\n",p->data.num);printf("学号为:%d\n",p->data.num);printf("姓名为:%s\n",p->data.name);printf("成绩为:%.2f\n",p->data.score);}p=p->next;} return head;
}
Node *listaverage(Node *head)	//计算学生的平均成绩信息 
{int i;float sum=0,ave;Node *p;p=head->next;for(i=0;p!=NULL;i++){sum+=p->data.score;	p=p->next;}ave=sum/i;printf("学生的平均成绩信息为:%.2f\n",ave);return head;
}
Node *listdelete(Node *head,int i)	//删除学生信息 
{int j=-1;Node *p=head,*q;q=(Node *)malloc(sizeof(Node));q->next=NULL;while(p!=NULL){j++;if(j==i-1){break;}p=p->next; }q=p->next;p->next=q->next;free(q);return head;
}
Node *listplay(Node *head)	//显示学生信息 
{Node *p;p=head->next;printf("班级学生信息如下:\n");printf("      学号      姓名      成绩\n");while(p!=NULL){printf("%10d%10s%10.2f\n",p->data.num,p->data.name,p->data.score);p=p->next;}
}
void showmenu()			//界面菜单函数 
{printf("******欢迎使用学生成绩管理系统******\n");printf("\t1,创建学生信息\n");printf("\t2,插入学生信息\n");printf("\t3,删除学生信息\n");printf("\t4,显示学生信息\n");printf("\t5,修改学生信息\n");printf("\t6,查询学生信息\n");printf("\t7,计算平均成绩信息\n"); printf("\t8,退出程序\n");
}
void main()				//主函数 
{Node *head=NULL;int i,stu,pos;head=(Node *)malloc(sizeof(Node));head->next=NULL;while(1){showmenu();printf(" 请输入你的选择:");scanf("%d",&i);switch(i){case 1: printf("请输入班级学生人数:");scanf("%d",&stu);head=listcreate(head,stu);system("cls");showmenu();listplay(head);printf("班级初始化已完成,按任意键继续。。。");getch();system("cls");break;case 2: printf("插入班级前的学生信息:\n");listplay(head);printf("请输入需要插入的位置:\n");scanf("%d",&pos);head=listinsert(head,pos);printf("插入后班级信息:\n");listplay(head);printf("插入已完成,按任意键继续。。。。\n");getch();system("cls"); break;case 3: printf("删除前的学生信息:\n");listplay(head);printf("请输入需要删除的位置:\n");scanf("%d",&pos);head=listdelete(head,pos);printf("删除班级信息:\n");listplay(head);printf("删除已完成,按任意键继续。。。。\n");getch();system("cls"); break;case 4: listplay(head);printf("显示信息如上所示,按任意键继续。。。\n");getch();system("cls");break;case 5: listplay(head);printf("请输入需要修改的学生信息学号:\n");scanf("%d",&pos);head=listreplace(head,pos);printf("修改后班级信息:\n");listplay(head);printf("修改已完成,按任意键继续。。。\n");getch();system("cls");break; case 6: printf("请输入需要查询的学生信息学号:\n");scanf("%d",&pos);head=listseek(head,pos);printf("查询信息已完成,按任意键继续。。。\n");getch();system("cls");break;case 7: head=listaverage(head);printf("计算学生平均成绩信息已完成,按任意键继续。。。\n");getch();system("cls");break;case 8: return;}}
}

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

相关文章

C语言实现学生成绩管理系统设计

本系统有增加学生记录、修改学生记录、删除学生记录、按姓名查询学生记录、按C语言成绩对学生进行排序、退出系统6大功能。 能够对学生的姓名&#xff0c;学号&#xff0c;c语言成绩做相应的操作。 在检测到输入成绩大于55时&#xff0c;会自动加上5。 该管理系统设计功能模块…

c语言成绩管理系统常见错误,求教 学生成绩管理系统出错

已结贴√ 问题点数:20 回复次数:5 求教 学生成绩管理系统出错 小弟刚做了个学生成绩管理系统 编译无错误 但是运行的时候连选择函数都不能 特来求教 望高手解释 代码如下: #include #include #define N 20 #define M 100 struct score {int scr1; int scr2; int scr…

c语言课程设计 学生成绩管理系统

学生成绩管理系统要求&#xff1a; 1、系统功能以菜单方式工作&#xff1b; 2、数据的输入&#xff1b; 3、数据的插入&#xff1b; 4、数据的输出&#xff1b; 5、数据的删除&#xff1b; 6、数据的查找&#xff0c;通常以两种方式进行查找&#xff0c;如姓名、学号&#xff1…

C语言学生成绩管理系统详解

文章目录 一、系统概述二、数据类型三、自定义函数说明四、运行界面五、源代码 源代码请直接跳到最后 引言&#xff1a;最近写了C语言的大作业&#xff0c;感觉做得还行&#xff0c;记录一下&#xff0c;给后人一些参考&#xff0c;给自己留更深印象方便后续改进&#xff01; …

学生成绩管理系统 C语言

基础篇问题&#xff1a; 1.输出如下菜单&#xff1a; *********************学生成绩管理系统******************* * 1 成绩录入 2 成绩查询 3 计算平均分 * * 4 计算最高分 5 排名 6 退出 * ******************************…

C语言编程学生成绩管理系统

目录 一、介绍 二、功能 1.录入学生 2.删除学生信息 3.修改学生信息 4.查询学生信息 5.所有学生信息 6.成绩排序 7.退出程序 三、代码 1.主函数 2.头文件 3.函数封装库 一、介绍 利用C语言&#xff0c;运用链表、指针、封装函数等基本知识实现一个学生管理系统。通…

C语言学生成绩管理系统

制作学生成绩管理系统&#xff0c;可以实现以下功能&#xff1a; 每条记录包括&#xff1a;学号、姓名、专业和5门课程的成绩&#xff1b;能够实现添加、删除、修改功能&#xff1b;能够计算某学生的总分和平均分&#xff1b;能按照总分排序输出&#xff1b; 利用C语言的基本…

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…