学生成绩管理系统(C语言实现)

这篇具有很好参考价值的文章主要介绍了学生成绩管理系统(C语言实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

设计并实现一个简单的学生成绩管理系统

学生成绩表信息包括学号、姓名、各科课程成绩(语文、数学、英语、政治)和总分。用带头结点的单链表管理学生成绩表,每个学生的信息依次从键盘输入,并根据需要进行插入、删除、排序、输出等操作。

一、实训环境

信息工程学院双创交流中心******电脑室开展实训,由企业老师带领我们复习C语言的基本知识,然后讲解学生成绩管理系统各个组件功能的构成部分,以及每部分的代码详解。

二、项目开发过程

1. 学生成绩管理系统主页面功能全览

#include<iostream>
#include<stdio.h>
#include<stdlib.h> 
#include<string.h>
using namespace std;
typedef struct PNode*LinkList;
typedef struct PNode{
	int stdio;
	char name[30];
	double chinese;
	double math;
	double english;
	double politics;
	double sum;
	PNode *next;
}PNode;

int main(){	
    LinkList llist=(LinkList)malloc(sizeof(PNode));
    llist->next=NULL;
	int a,b=1;
	while(b){
		printf("\n-----------------------学生成绩管理系统-----------------------\n");
		printf("请选择你需要的功能:\n");
		printf(" 1.查找     2.插入    3.排序     4.展示     5.删除     6.退出\n");
		scanf("%d",&a);
		switch(a){
			case 1:printf("\n-----------------------学生成绩查找功能-----------------------\n"); check(llist);break;
			case 2:printf("\n-----------------------学生成绩插入功能-----------------------\n"); input(llist);break; 
			case 3:printf("\n-----------------------学生成绩排序功能-----------------------\n"); sortList(llist);break;
			case 4:printf("\n-----------------------学生成绩展示功能-----------------------\n"); display(llist);break; 
			case 5:printf("\n-----------------------学生成绩删除功能-----------------------\n"); deleteList(llist);break; 
			case 6:b = 0; break; 
			default:printf("输入有误!请重新输入!\n");
		}	
	}
	printf("\n-----------------------已退出成绩管理系统-----------------------\n"); 
	return 0;
}

学生成绩管理系统(C语言实现)

2.输入学生信息,按输入顺序建立一个带头结点的单链表,直到输入学号为0结束。

void input(LinkList llist){
	printf("请输入考试的学生人数:\n");
	int n;scanf("%d",&n);
	LinkList p;
	for(int i=1;i<=n;i++){
		p=(LinkList)malloc(sizeof(PNode));
		printf("请输入学生学号:\n");
		scanf("%d",&p->stdio);
		
		printf("请输入学生姓名:\n");
		scanf("%s",p->name);
		
		printf("请输入学生语文成绩:\n");
		scanf("%lf",&p->chinese);
		
		printf("请输入学生数学成绩:\n");
		scanf("%lf",&p->math);
		
		printf("请输入学生英语成绩:\n");
		scanf("%lf",&p->english);
		
		printf("请输入学生政治成绩:\n");
		scanf("%lf",&p->politics);
		
		p->sum=p->chinese+p->math+p->english+p->politics;
		p->next=llist->next;
		llist->next=p;
	}
	printf("\n-----------------------学生成绩完成录入-----------------------\n");
} 

学生成绩管理系统(C语言实现)

3.输入一个学生的姓名,在链表中进行查找,如果存在,显示该生的所有信息;如果不存在,显示提示信息“查无此人”。

void check(LinkList llist){
	LinkList e=llist->next; 
    int f;
    printf("请输入查找的学号:\n");
    scanf("%d",&f);
    while(e->stdio!=f)
    e=e->next;
	if(e->stdio==f) 
	printf("%d\t %s%12lf %6lf %6lf %6lf %6lf\n",e->stdio,e->name,e->chinese,e->math,e->english,e->politics,e->sum);
	else
	printf("查找值不存在!\n");
}

学生成绩管理系统(C语言实现)

4.展示链表中所输入的全部学生信息。

void display(LinkList llist){
	printf("\n-----------------------学生成绩信息展示-----------------------\n");
	printf("学号\t姓名\t 语文\t  数学\t  英语\t    政治    总分\n"); 
	LinkList p=llist->next;
	if(llist->next==NULL){
		printf("系统中无学生信息!\n");
	}
	else{
		while(p!=NULL){ 
		printf(" %d\t %s%12lf %6lf %6lf %6lf %6lf\n",p->stdio,p->name,p->chinese,p->math,p->english,p->politics,p->sum);
		p=p->next;} 
	}
	printf("\n-----------------------学生成绩完成展示-----------------------\n");
}

学生成绩管理系统(C语言实现)

5. 将学生成绩按总成绩从低到高排序,并输出结果。

void sortList(LinkList llist){ 
	printf("请输入排序的依据:\n");
	printf("1.数学    2.语文   3.英语    4.政治    5.总分\n");
	int a;
	scanf("%d",&a);
	switch(a){
		case 1:
			printf("按照数学排序已完成\n");
			if(llist->next==NULL){
		printf("学生成绩无数据!"); 
	} else if(llist->next->next==NULL){
		printf("学生成绩为一个,无需排序!"); 
	}else{
		LinkList p=llist->next->next;
		llist->next->next=NULL;
		LinkList q,r;
		while(p!=NULL){
			q=llist;
			r=p->next;
			while(q->next!=NULL&&q->next->math<p->math){
				q=q->next;
			}
			p->next=q->next;
			q->next=p;
			p=r;
		}
	}
			break;
		case 2:
			printf("按照语文排序已完成\n");
			if(llist->next==NULL){
		printf("学生成绩无数据!"); 
	} else if(llist->next->next==NULL){
		printf("学生成绩为一个,无需排序!"); 
	}else{
		LinkList p=llist->next->next;
		llist->next->next=NULL;
		LinkList q,r;
		while(p!=NULL){
			q=llist;
			r=p->next;
			while(q->next!=NULL&&q->next->chinese<p->chinese){
				q=q->next;
			}
			p->next=q->next;
			q->next=p;
			p=r;
		}
	}
			break;
		case 3:
			printf("按照英语排序已完成\n");
			if(llist->next==NULL){
		printf("学生成绩无数据!"); 
	} else if(llist->next->next==NULL){
		printf("学生成绩为一个,无需排序!"); 
	}else{
		LinkList p=llist->next->next;
		llist->next->next=NULL;
		LinkList q,r;
		while(p!=NULL){
			q=llist;
			r=p->next;
			while(q->next!=NULL&&q->next->english<p->english){
				q=q->next;
			}
			p->next=q->next;
			q->next=p;
			p=r;
		}
	}
			break;
		case 4:
			printf("按照政治排序已完成\n");
			if(llist->next==NULL){
		printf("学生成绩无数据!"); 
	} else if(llist->next->next==NULL){
		printf("学生成绩为一个,无需排序!"); 
	}else{
		LinkList p=llist->next->next;
		llist->next->next=NULL;
		LinkList q,r;
		while(p!=NULL){
			q=llist;
			r=p->next;
			while(q->next!=NULL&&q->next->politics<p->politics){
				q=q->next;
			}
			p->next=q->next;
			q->next=p;
			p=r;
		}
	}
			break;
		case 5:
			printf("按照总分排序已完成\n");
			if(llist->next==NULL){
		printf("学生成绩无数据!"); 
	} else if(llist->next->next==NULL){
		printf("学生成绩为一个,无需排序!"); 
	}else{
		LinkList p=llist->next->next;
		llist->next->next=NULL;
		LinkList q,r;
		while(p!=NULL){
			q=llist;
			r=p->next;
			while(q->next!=NULL&&q->next->sum<p->sum){
				q=q->next;
			}
			p->next=q->next;
			q->next=p;
			p=r;
		}
	}
			break;
		default:
			printf("输入有误!\n"); 
	}
}

学生成绩管理系统(C语言实现)

6. 输入一个学生的学号,如果链表中存在该学生信息,则将其删除。

void deleteList(LinkList llist){ 
    LinkList p=llist; 
    int d;
	printf("请输入删除的学号:\n");
	scanf("%d",&d);
    while(p!=NULL){
	if(p->next->stdio!=d) p=p->next;break;}
	if(p->next->stdio==d) p->next=p->next->next;
	else
	printf("删除值不存在!\n");	
	printf("\n-----------------------学生成绩完成删除-----------------------\n");
}

学生成绩管理系统(C语言实现)

 文章来源地址https://www.toymoban.com/news/detail-503617.html

到了这里,关于学生成绩管理系统(C语言实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ChatGPT实现用C语言写一个学生成绩管理系统

    随着ChatGPT爆火,大家都在使用ChatGPT来帮助自己提高效率,对于程序员来说使用它来写代码怎么样呢?今天尝试让ChatGPT,写了一个学生成绩管理系统。 问题是:使用C语言写一个学生成绩管理系统,要求使用链表,实现增删改查功能。 下面是ChatGPT写的代码,用时不到30秒,速

    2023年04月13日
    浏览(51)
  • 学生成绩管理系统的设计与实现(论文+源码)_kaic

     摘要 该系统在开发过程中,要注意使其与业务流程的运作相一致,力争使该系统全面,通用,以便该系统不仅适用于教育机构。在开发方法的选择上,选择生命周期方法和原型方法,并按照四个主要阶段的系统研究,系统分析,系统设计和系统实施进行设计,并在具体设计

    2024年02月12日
    浏览(42)
  • 【C语言链表实现】学生成绩管理系统(功能全面,通俗易懂)

    题目 :学生成绩管理程序 要求 :本程序用于教学单位(院/系)的学生成绩管理。要求程序能够实现学生信息录入(可以实现增加、删除、修改学生的基本信息)、单科学习成绩的录入;班级内单科成绩排名;成绩查询:查询某个学生的各科成绩、统计所有不及格科目超过

    2024年02月09日
    浏览(52)
  • Python毕业设计|课程设计|基于Python+Django实现的学生成绩管理系统

    作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路  关注作者有好处 文末获取源码   语言环境:Python3.7 数据库:

    2024年02月10日
    浏览(54)
  • 基于Java高校校园学生成绩管理系统的设计与实现(Springboot框架) 参考文献

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年01月17日
    浏览(64)
  • 【学生成绩管理系统----C语言】

    还在为期末程序设计而烦恼吗,不要担心,大师帮你安利一波完整的的管理系统代码,对你有帮助记得加关注噢! 文章目录 一、学生成绩管理系统是什么? 二、信息管理的七个模块 1.Step one 2.Step Two  3.Step Three 4.Step four 5.Step five 6.Step Six 7.Next 总结        学生信息管理系统

    2024年02月03日
    浏览(52)
  • 课设——C语言学生成绩管理系统

            相信许多同学在大学期间,学习计算机相关课程的时候,都有一个令人头疼的问题——课程设计。那么本片文章就详细的分享一个用C语言实现一个简单学生成绩管理系统,供同学们学习和参考(文章最后会附上源程序)。 1.建立一张学生成绩表,每个学生包含 学

    2024年02月11日
    浏览(78)
  • Java设计学生成绩管理系统

    1.1 题目与要求 设计一个学生成绩排名系统 实现以下功能: (1) 具备对成绩的管理功能(添加、删除、排序); (2) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等); (3) 具备按学号、姓名查询成绩的功能; (4) 具备处理解决学号重复问题 ; 备注:成绩记录以下

    2024年02月09日
    浏览(51)
  • 【期末课程设计】学生成绩管理系统

    因其独特,因其始终如一 文章目录 一、学生成绩管理系统介绍 二、学生成绩管理系统设计思路 三、源代码 1. test.c  2. Student Management System.c 3.Stu_System.c 4.Teacher.c 5.Student Management System.h   前言: 学生成绩管理系统含教师登录入口和学生登录入口,可实现学生信息的添加,删

    2024年02月16日
    浏览(38)
  • C语言编程学生成绩管理系统

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

    2024年02月10日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包