学生成绩管理系统数据结构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

洛阳理工学院

课程设计报告课程名称数据结构课程设计

设计题目学生成绩管理系统

专业计算机科学与技术

课程设计任务书

设计题目:学生成绩管理系统

设计内容与要求:

编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。

建立一个4个学生的信息登记表,每个学生的信息包括:学号,姓名,和3门课程的成绩(FOX,C,ENGLISH)。

程序运行时显示一个简单的菜单,例如:

(1)信息输入(INPUT)

(2)总分统计(COUNT)

(3)总分排序(SORT)

(4)查询(QUERY)

其中:

(1)对4个学生的信息进行输入;

(2)对每个学生的3门课程统计总分;

(3)对4个学生的总分按降序排序并显示出来;

(4)查询输入一个学号后,显示出该学生的有关信息;

课程设计评语

成绩:

指导教师:_______________

年月日

目录

一.问题描述 0

二.基本要求 0

三.数据结构 0

四.总体设计 (1)

1.结构图 (1)

2.流程图 (1)

五.详细设计 (1)

1.录入模块 (1)

2.浏览模块 (2)

3.排序模块 (2)

4.查找模块 (2)

六.测试与调试 (2)

七.源程序清单 (3)

一.问题描述

编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。

二.基本要求

建立一个4个学生的信息登记表,每个学生的信息包括:学号,姓名,和3门课程的成绩(FOX,C,ENGLISH)。

程序运行时显示一个简单的菜单,例如:

(1)信息输入(INPUT)

(2)总分统计(COUNT)

(3)总分排序(SORT)

(4)查询(QUERY)

其中:

(1)对4个学生的信息进行输入;

(2)对每个学生的3门课程统计总分;

(3)对4个学生的总分按降序排序并显示出来;

(4)查询输入一个学号后,显示出该学生的有关信息;

三.数据结构

struct student

{

char num[10];/*学号*/

char name[20];/*姓名*/

int fgrade;/*佛学成绩*/

int cgrade;/*C语言成绩*/

int egrade;/*英语成绩*/

int total;/*总分*/

}st[100];

四.总体设计1.结构图

2.

2.1

2.2

2.3

2.4

2.5

1.

printf语句提示需要输入的内容,接着用scanf语句输入相应内容。输入完毕后套用保存函数save(m)将所输入的信息写入指定文件。

2.浏览模块

声明整形变量i和count,其中记录输出的学生序数,count用来接收调用浏览函数时所传递过来的实参,将其值传递给导出函数load(m),使得导出的学生人数与浏览的学生人数保持一致。通过调用load函数后(即给em数组赋值),用for循环输出每一个学生的各种信息。

3.排序模块

声明整形变量i,j和结构体变量struct student temp,用for循环实现排序功能,利用冒泡法,以st[i].total

4.查找模块

声明整型变量k,先用printf语句显示查询菜单,用scanf输入选择的查询方式的代号,用switch(k)进入所选择的具体查询函数,包括学号查询,姓名查询两种方式。

学号查询中,用scanf语句输入需要查询的学号,并赋值给num。用for循环,循环主体判断em[i].num中是否有输入的学号。如果有,用printf语句输出与学号相对应的该学生的所有信息,再跳出循环。按姓名查询与此方法类似,不再叙述。

六.测试与调试

1.运行程序,进入主菜单

图6.1 主菜单

2.输入数字“1”,创建学生信息

图6.2 输入职工信息

3.输入数字“2”,浏览学生信息

图6.3 浏览职工信息

4.输入数字“3”,按总分排序

5.输入数字“4”,查询学生信息

5.1 选择查询方式“1”

5.2 选择查询方式“2”

七.源程序清单

#include

图6.4 按总分排序 图6.6 按姓名查询 图6.5 按学号查询

#include

#include

struct student

{

char num[10];/*学号*/

char name[20];/*姓名*/

int fgrade;/*佛学成绩*/

int cgrade;/*C语言成绩*/

int egrade;/*英语成绩*/

int total;/*总分*/

}st[100];

void menu();

void input();

void save(int m);

void save();

void display();

void search();

void search_num();

void search_name();

void sort_total();

int load();/*定义各函数*/

int m;

void main()

{

menu();

int n=0,flag;

char a;

do

{

printf("请选择你需要操作的步骤(1--4):\n");

scanf("%d",&n);

if(n>=0&&n<=4)

{

flag=1;

break;

}

else

{

flag=0;

printf("您输入有误,请重新选择!");

}

}

while(flag==0);

相关文档
最新文档