学生成绩管理系统综合程序设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
return;
}
}
stu[i].id=id;
printf("请输入姓名: ");
scanf("%s",stu[i].name);
printf("请输入语文成绩: ");
scanf("%d",&stu[i].chinese);
printf("请输入数学成绩: ");
scanf("%d",&stu[i].math);
stu[i].sum=stu[i].chinese + stu[i].math;
n++;
printf("是否继续添加?(Y/N)?");
scanf("\t%c",&quit);
本功能用于显示已存入的学生信息,当用户在功能菜单中选择数字2时,会进入显示记录模块,并向控制台输出录入的所有学生的学号、姓名、数学成绩、语文成绩和成绩总和。
4.1.3修改记录
本功能用于修改学生信息,当用户在功能菜单中选择数字3时,会进入修改记录模块。输入要修改的学生姓名,当用户输入了已录入的学生姓名后,如果学生信息存在即可修改除学号以外的其他信息,否则输出该学生不存在。
表16-1学生数据
变量声明
功能描述
intid
存储学生学号
charname[8]
学生姓名
intchinese
语文成绩
intmath
数学成绩
intsum
总成绩
由于学生的数据各不相同,为便于统一管理,可以使用结构体类型来声明。
在项目开发时,除根据需求对项目中的数据进行设计外,还需要规划项目中需要定义的函数。表16-2描述了本项目所需的函数及其功能描述
voidmodify(struct student stu[])
修改某个学生信息
voiddel(struct student stu[])
删除某个学生信息
voidsearch(struct student stu[])
查询某个学生信息
voidsort(struct student stu[])
对学生成绩进行排序
printf("\n");
setvbuf(stdout,NULL,_IONBF,0);
printf("\t\t--------------学生成绩管理系统--------------\n");
printf("\t\t|\t\t 1添加记录|ห้องสมุดไป่ตู้n");
printf("\t\t|\t\t 2显示记录|\n");
表16-2功能函数
函数声明
功能描述
voidmenu()
显示功能菜单
voidadd(struct student stu[])
添加学生信息
voidshow(struct student stu[],int i)
显示某个学生信息
voidshowAll(struct student stu[])
显示所有学生信息
至此,项目的分析与初步设计已完成,后面就是需要对每一部分用程序进行实现,请同学们完成。
实验源程序如下:-_-
综合程序设计:
/*
* student.c
*
* Created on: 2015年12月29日
* Author: PC
*/
#include"student.h"
void menu()
{
system("cls");
设计一个学生成绩管理系统,实现添加记录、显示记录、修改记录、删除记录、查找记录、排序记录及退出系统等功能。
图16-1
4.1需求分析
根据题目要求,学生管理系统需要实现添加记录、显示记录、修改记录、删除记录、查找记录、排序记录及退出系统等7项功能。图16-1显示学生成绩管理系统的所有需实现的功能模块及彼此之间的关联关系,该图的每一个功能都会对应一个界面。该系统首先会向用户展现一个菜单选择界面,用户可以根据菜单界面的提示,选择不同功能进入子界面。
4.1.1添加记录
本功能用于添加学生的信息,当用户在功能菜单中选择数字1时,会进入添加记录模块,提示用户输入学生的学号、姓名、数学成绩、语文成绩。当用户输入完毕后,会提示用户是否继续添加,Y表示继续,N表示返回。需要注意:在添加学号时不能重复,如果输入重复的学号就会提示此学号存在。
4.1.2显示记录
printf("\t\t请选择(0-6): ");
}
void add(struct student stu[])
{
int i,id=0;
char quit;
do
{
printf("学号:");
scanf("%d",&id);
for(i=0;i<n;i++)
{
if(id==stu[i].id)
{
printf("此学号已存在! \n");
4.1.4删除记录
本功能用于删除已录入的学生信息,当用户在功能菜单中选择数字4时,会进入删除记录模块。对学生学号进行判断,如果学号存在即可删除该生的所有信息,否则输出没有找到该生的记录。
4.1.5查找记录
本功能用于查找某个学生信息,当用户在功能菜单中选择数字5时,会进入查找记录模块。在该模块中输入查找的学生姓名,如果该学生存在则输出该生的全部信息,否则输出没找到该生的记录。
4.1.6排序记录
本功能用于对总成绩进行排序,当用户在功能菜单中选择数字6时,会进入排序记录模块。该模块会输出所有学生的信息,并按总成绩由高到低进行排序。
4.1.7退出系统
本功能用于退出系统,当用户在功能菜单中选择数字0时,即可退出系统。
4.2数据设计
根据系统分析,需要确定项目中的数据。由于学生成绩管理系统中多次涉及学生信息及其成绩信息的操作,因此根据学生成绩管理系统的需求,设计学生的数据如表16-1所示
printf("\t\t|\t\t 3修改记录|\n");
printf("\t\t|\t\t 4删除记录|\n");
printf("\t\t|\t\t 5查找记录|\n");
printf("\t\t|\t\t 6排序记录|\n");
printf("\t\t|\t\t 0退出系统|\n");
printf("--------------------------------------------\n");
实验
1.实验学时
2学时
2.实验目的
(1)熟练掌握函数的定义和使用;
(2)熟练掌握结构体类型数据的概念和使用;
(3)熟练掌握文件的操作方式以及常用函数;
(4)掌握用模块化分析与设计方法解决实际问题。
3.实验设备
PC计算机,配置Win7操作系统,Word2010,Eclipse+minGW
4.实验内容及步骤
相关文档
最新文档