资源简介
内含源码(有详细注释) 以及 最后的实验报告成品
程序说明:
编写的是一个菜单驱动的学生成绩管理系统。
•能输入并显示n个学生的m门考试科目的成绩,总分和平均分。
•能按总分高低进行排序
•任意输入一个学号,能显示学生的姓名,各门功课的成绩
•在使用过程中,用户如有计算特定成绩的需要,程序中附有简易计算器可以使用

代码片段和文件信息
#include
#include
#include
#include
#define COURSENUM 20 /*科目数量的最大值*/
struct student
{
int number; /*定义每个学生的学号变量*/
char name[20]; /*定义每个学生的姓名变量*/
int score[COURSENUM]; /*定义每个学生m门成绩的变量*/
int sum; /*定义每个学生的总成绩变量*/
float aver; /*定义每个学生的平均成绩变量*/
struct student *next; /*指针的链域*/
};
typedef struct student STU; /*给struct student定义一个新名字 STU*/
int Menu(void); /*函数声明:输出菜单的函数*/
int Ascending(int aint b); /*函数声明:决定数据是否按升序排列(aint Descending(int aint b); /*函数声明:决定数据是否按降序排列(a>b为真)*/
void IntSwap(int *pt1int *pt2); /*函数声明:整型数据交换*/
void CharSwap(char *pe1char *pt2); /*函数声明:字符型数据交换*/
void FloatSwap(float *pt1float *pt2); /*函数声明:实型数据交换*/
STU *AppendNode(STU *headconst int m); /*函数声明:创建新的节点*/
STU *DeleteNode(STU *headint nodeNum); /*函数声明:找到要删除的节点并删除*/
STU *ModifyNode(STU *headint nodeNumconst int m); /*函数声明:找到要修改的数据对应的节点*/
STU *SearchNode(STU*headint nodeNum); /*函数声明:找到某个节点*/
STU *AppendScore(STU *headconst int m); /*函数声明:输入学生的成绩*/
void TotalScore(STU *headconst int m); /*函数声明:计算学生的平均成绩*/
void PrintScore(STU *headconst int m); /*函数声明:输出学生成绩*/
STU *DeleteScore(STU*headconst int m); /*函数声明:删除学生成绩*/
void ModifyScore(STU*headconst int m); /*函数声明:修改学生成绩*/
void SortScore(STU*headconst int mint (*compare)(int aint b)); /*函数声明:对学生成绩进行排序*/
void SearchScore(STU *headconst int m); /*函数声明:查找学生成绩*/
void DeleteMemory(STU *head); /*函数声明:释放内存*/
void caculator(void); /*函数说明:一款计算器*/
int main()
{
int ch; /*用户选择的数字*/
int m; /*科目的数量*/
STU *head=NULL; /*定义一个头指针并置空*/
printf(“以下为学生成绩管理程序的示例。我们将会为您展示菜单供您选择\n\n“);
printf(“please input course number(m<20):\t“);
/*提示输入科目数量*/
scanf(“%d“&m);
/*程序开始进行*/
while (1)
{
printf(“请您在菜单中选择选项“);
ch=Menu();
/*调用函数显示菜单并返回用户的选择值*/
switch(ch)
{
case 1:head=AppendScore(headm); /*调用成绩输入函数*/
TotalScore(headm); /*调用函数计算学生成绩的平均值*/
break;
case 2:PrintScore(headm); /*调用成绩显示函数*/
break;
case 3:head=DeleteScore(headm); /*调用成绩删除函数*/
printf(“\nAfter deleted“);
PrintScore(headm); /*成绩删除后显示结果*/
break;
case 4:ModifyScore(headm); /*调用成绩修改函数*/
TotalScore(headm); /*修改完后重新计算成绩平均值*/
printf(“\nafter modified\n“);
PrintScore(headm); /*输出修改后结果*/
break;
case 5:SearchScore(headm); /*调用修改成绩的函数*/
break;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 51687 2012-01-11 14:09 菜单驱动的学生成绩管理系统.docx
文件 24229 2012-01-07 23:37 菜单驱动的学生成绩管理系统.c
----------- --------- ---------- ----- ----
75916 2
- 上一篇:牛顿-柯特斯公式C++实现
- 下一篇:用普里姆(Prim)算法构造最小生成树
相关资源
- GD32通过规则组寄存器 DMA获取多组AD
- 基于MFC的TCP调试助手源码95706
- 国际象棋的qt源代码
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- 基于mfc的多线程文件传输
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 利用C++哈希表的方法实现电话号码查
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 移木块游戏,可以自编自玩,vc6.0编写
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- C++纯文字DOS超小RPG游戏
- 个人日常财务管理系统(C语言)
- MFC数字钟(基于VC6.0)
评论
共有 条评论