【C语言学习笔记】:课程设计学生成绩管理系统

# 功能要求

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

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.50202002  李四    100     100     100     100     400     100.00当前系统总共有2条学生成绩记录!
请输出0-8,回车结束!5请选择排序方式:1.总分从高到低排序  2.平均分从低到高排序1学号    姓名    语文    数学    英语    专业课  总分    平均分202002  李四    100     100     100     100     400     100.00202001  张三    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.50202001  张三    100     88      97      89      374     93.50当前系统总共有2条学生成绩记录!
请输出0-8,回车结束!0ByeBye....~~

# 源代码

 /* ==========================================  名称   :C语言课程设计 学生成绩管理系统   功能   :使用链表实现    环境   :Windows 10 + Dev-C++编译    作者   :一只会C的猫   公众号 :C语言大全(coderpointer)  时间   :2020.7.10 ==========================================*/#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" // 定义学生信息数据结构 struct student{
    // 学号   int    num;  // 姓名   char  name[20];  // 语文   int   chinese;  // 数学  int   math;  // 英语  int   english;  // 专业课  int   profession;   // 总分  int    total;  // 平均分  double   average; };// 定义链表结点结构类型struct node
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姜子牙大侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值