轻松学做C语言课程设计:学生成绩管理系统-链表实现

本文介绍了如何用C语言进行学生成绩管理系统的课程设计,包括功能要求、实现要点和编程环境。系统使用链表保存学生信息,实现增删改查及按成绩排序。建议初学者在相同编译环境下运行代码,以加深理解。
摘要由CSDN通过智能技术生成

题外话

C语言课程设计,对于初学者来说,主要是综合运用C语言基础知识,以实际项目的形式锻炼编程能力。从今天开始,一起轻松学做C语言课程设计常见项目,建议先运行代码,再一步步理解其实现。

备注:

1.不同C编译器,对C语言程序编译有差别,建议大家选择相同的编译器。

2.代码手机不方便看,可以收藏使用电脑查看,注意各种标点符号。

功能要求

学生成绩管理系统常用功能一般包括:

1.学生信息包括学号、姓名、4门课成绩(语文、数学、英语、专业课),成绩百分制整数;

2.学生信息以文件形式保存;

3.可以显示所有学生信息;

4.按照姓名或学号查询显示学生信息,姓名和学号都唯一不重复;

5.按照学号删除某个学生信息;

6.按照学号修改某个学生信息;

7.计算总分和平均分,按照学生总分或平均分从高到低排序。

实现要点

  • 使用链表保存学生信息,实现增删改查和排序功能;

  • 使用文件保存学生信息;

  • 总分和平均分是根据输入由程序计算得出,不需要手工输入;

  • 难点:使用简单选择排序算法实现链表排序。

备注:简单选择排序算法,是每次循环选出最大值或最小值,交换到链表前面。

编程环境

  • 采用Dev-C++集成开发环境;

  • 涉及C语言知识点:结构、链表、函数、文件读写;

  • 功能点较多,总共600行左右,很大一部分代码是错误处理,因此对于初学者可以将这部分代码精简,预计也就是200-300行左右,下一篇将提供精简版。

# 运行结果

        *************欢迎使用学生成绩管理系统*************
        *  1:录入成绩                        2:删除成绩  *
        *  3:查询成绩                        4:修改成绩  *
        *  5:成绩排序                        6:显示所有  *
        *  7:保存成绩                        8:显示菜单  *
        *  0:退出系统                                   *
        *************************************************

请输出0-8,回车结束!
1
请您按提示依次输入图书信息(以空格分隔):
学号    姓名    语文    数学    英语    专业课
202001  张三    100     88      97      89
学生【202001    张三】的信息添加成功!

请输出0-8,回车结束!
1
请您按提示依次输入图书信息(以空格分隔):
学号    姓名    语文    数学    英语    专业课
202002  李四    100     100     100     100
学生【202002    李四】的信息添加成功!

请输出0-8,回车结束!
6
学号    姓名    语文    数学    英语    专业课  总分    平均分
202001  张三    100     88      97      89      374     93.50
202002  李四    100     100     100     100     400     100.00
当前系统总共有2条学生成绩记录!

请输出0-8,回车结束!
5
请选择排序方式:1.总分从高到低排序  2.平均分从低到高排序
1
学号    姓名    语文    数学    英语    专业课  总分    平均分
202002  李四    100     100     100     100     400     100.00
202001  张三    100     88      97      89      374     93.50

请输出0-8,回车结束!
3
请选择查询方式:1.学号查询  2.姓名查询
202002
请输入学生姓名:张三
学号    姓名    语文    数学    英语    专业课  总分    平均分
202001  张三    100     88      97      89      374     93.50

请输出0-8,回车结束!
4
请输入要修改的学生学号:202002
学号202002对应的学生信息如下:
学号    姓名    语文    数学    英语    专业课  总分    平均分
202002  李四    100     100     100     100     400     100.00
请依次输入修改后信息,不变的信息请同样输入:
姓名    语文    数学    英语    专业课
李四    99      100     99      100
修改成功,修改后信息如下:
学号    姓名    语文    数学    英语    专业课  总分    平均分
202002  李四    99      100     99      100     398     99.50

请输出0-8,回车结束!
6
学号    姓名    语文    数学    英语    专业课  总分    平均分
202002  李四    99      100     99      100     398     99.50
202001  张三    100     88      97      89      374     93.50
当前系统总共有2条学生成绩记录!

请输出0-8,回车结束!
0
ByeBye....~~

其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C/C++基础交流583650410,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。

源代码

 /*
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define HEAD_INFO  "学号\t姓名\t语文\t数学\t英语\t专业课\t总分\t平均分\n"
#define HEAD_INFO2 "学号\t姓名\t语文\t数学\t英语\t专业课\n" 
// 定义学生信息数据结构 
st
  • 9
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值