1 需求分析
问题描述
首先理解几个定义。
结构体:C语言允许用户自己建立由不同类型数据组成的组合型的数据结构。
struct student //结构体
{
int num;
char name[20];
float score1;
float score2;
float score3;
float average;
float sum;
}student[NUM];
用函数实现模块化程序设计:在C语言中,为了简化主函数,使阅读和维护程序变得简单,可以事先编好一批主函数中需要用到的函数,然后再直接调用到主函数中就能得到预期的结果。
对文件的输入输出:将输入的数据保存到磁盘中的指定文件夹,在需要时再利用指针将其调出使用。
循环结构:(1)用do…while语句实现循环(2)用for语句实现循环
do
{
语句;
}while(表达式);
for(循环变量赋初值;循环条件;循环变量增值)
语句;
基本要求和目的
1、整个系统均用C语言实现;
2、利用结构体数组来实现学生成绩的数据结构设计;
3、系统具有输入、显示、查询、删除、排序、插入、保存、读取等基本功能;
4、系统的各个功能模块都用函数的形式来实现;
5、要求能将学生成绩信息保存在文件中;
6、要求能从文件中读取学生信息并进行相关处理。
2 总体设计
用C语言设计出一个具有能够在进入程序后进行多条记录的输入并保存(输入);完成全部学生或满足指定条件记录的显示(显示);完成按姓名查找学生记录并显示(查找);按学生平均成绩排名(排序);任意插入和修改学生记录(插入);将学生记录保存在自定义的文件中(保存);将保存在文件中的学生记录读取出来(读取)的,并能够用一个文本菜单来调用各个功能的程序。
int main() //主函数
{
int a;
do
{
printf("\t\t ************欢迎使用学生管理系统************\n");
printf("\n\n*************************输入相应的数字选择需要的功能***************************\n\n");
printf("\t\t\t\\n");
printf("\t\t\t\\n");
printf("\t\t\t\\n");
printf("\t\t\t\\n");
printf("\t\t\t\\n");
printf("\t\t\t\\n");
printf("\t\t\t\\n");
printf("\t\t\t\\n\n");
printf(" *************************************************************************** ");
scanf("%d",&a);
switch(a)
{
case 1:system("cls"); shuru();break;
case 2:system("cls"); xianshi();break;
case 3:system("cls");chaxun();break;
case 4:system("cls"); paixu();break;
case 5:system("cls");shanchu();break;
case 6:system("cls");charu();break;
case 7:system("cls");xiugai();break;
case 8:system("exit");exit(0);
}
}while(1);
}
结构框架图
下图是算法结构框架图。
Y/N
插入并保存学生信息
修改学生信息
退出学生成绩管理系统
Y/N
按学生总成绩对学生进行排名
删除已保存的学生的信息
通过姓名查询学生信息
显示以保存学生成绩信息
输入并保存学生成绩信息
主菜单
Y
Y
N
N
结束程序
图 系统结构框架图
详细设计
结构体的定义
利用结构体将不同数据类型的学生信息囊括到一个结构体数组中,以便于对学生不同信息输入与查询。
struct student //结构体
{
int num; //学号
char name[20]; //姓名
f
《c语言程序设计》课程设计 来自淘豆网www.taodocs.com转载请标明出处.