筛选出c语言成绩前五名的记录,c语言课程论文设计成绩记录簿.doc

计算机科学与技术系

课程设计报告

2012~2013学年第二学期

课程

面向过程综合设计

课程设计名称

C语言成绩簿

学生姓名

学号

专业班级

指导教师

2013年6月

第一章 需求分析

1.1 任务要求:

编制一个C语言成绩记录簿,每个学生信息包括:学号、姓名、C语言成绩。具体功能:

(1)创建信息链表并以磁盘文件保存;

(2)读取磁盘文件并显示输出所有学生的成绩;

(3)按学号或姓名查询成绩;

(4)添加成绩记录;

(5)修改指定姓名或学号的学生的成绩并可存盘;

(6)显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息(可选项)。

任务问题:

如何运用我们已学的c语言知识完成要求?如何制作相应界面?switch的应用该如何实现?如何完成相应的数组或链表的实现与应用?怎样进行相应的文件的读写?

任务的解决步骤:

步骤:

1.建立一个主界面。

2.用switch语句进行分类讨论。

3.分别进入录入,查询,修改,学生分数段统计等子函数。

4.将子函数与主函数相连即可。

第二章 算法设计

1、设计思想

2.1 程序结构(流程图)

开始

开始

输入口令

输入口令

主菜单

主菜单

No

选择的序号是否符合需求

选择的序号是否符合需求

Yes

添加学生成绩修改学生成绩各分数段成绩输出退出系统读取文件写入文件查询学生成绩

添加学生成绩

修改学生成绩

各分数段成绩输出

退出系统

读取文件

写入文件

查询学生成绩

重要的数据结构

修改成绩添加成绩

修改成绩

添加成绩

添加学生成绩按照学号修改按照姓名修改

添加学生成绩

按照学号修改

按照姓名修改

添加学生学号添加学生姓名

添加学生学号

添加学生姓名

查询分数段查询学生成绩

查询分数段

查询学生成绩

按各分数段输出

按各分数段输出

姓名查询学号查询

姓名查询

学号查询

主函数

主函数

按分数段显示信息修改成绩添加成绩查询求平均值

按分数段显示信息

修改成绩

添加成绩

查询

求平均值

退出

退出

主要算法思想(文字描述)

本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是链表的相关操作,包括结构体链表的创建、输入、输出、查找、修改等。我设计的这个通讯录系统也初步实现了人员信息的显示、修改、查找、等必要的功能,并通过子函数与主函数相连来完成相应的功能。

2.设计表示

int Student_Insert( ); (添加学生成绩)

void edit( ); (修改)

void Student_Search( );(查找)

void WriteFile( ); (写入文件)

void ReadFile( ); (读取文件)

void Student_Select( );(分数段选择)

void PrintMark( );(打印学生分数)

void NameChange( );(按姓名修改)

void NumberChange( );(按学号修改)

3.实现注释

除了没有用链表进行实验的缺点外,基本可以实现任务要求,界面简洁,程序简单,易操作。

4.算法设计中一些新的想法:

本程序主要包含了结构体与动态变量的相关知识;

其中也多次用到了循环和判断结构;

本程序还可以通过子函数实现删除,排序等操作。用链表,指针也可以实现相应的任务要求。

第三章 用户手册

3.1使用说明

主程序提供一个界面,允许用户选择。使用switch语句,用时直接输入数字即可。

增加函数,功能是插入学生成绩。使用一个无穷循环,直到录入”n”时结束。

修改函数,功能是修改,分为两步,先插入学生成绩后才能进行修改。修改用strcmp函数来做。如果找到记录i值,反之记为-1;修改可以从i项开始将数组的后一项的新的数值赋值给前一项。前一项自动被替换。这样完成修改。

查询函数与之类似,用strcmp函数将修改变为输出即可;

求各分数段的学生的相应成绩数据时,引用if-else语句可进行有效筛选。

退出函数什么都不写,即可。

所有修改,添加程序都可以用姓名,学号两种方式实现,可以实际情况实现。输入的数据应按照固定的格式和顺序“姓名-学号-成绩”,否则会出现错误,无法输出。

注:

输入项:

char name[10] 定义学生名称为字符型

long number 定义学号为长整型

int score 定义学生成绩为整形

输出项:

int m1

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值