1、南昌大学软件学院C 语言程序设计工程实训大作业班级: 09 软件技术(2)班 学号: 8001509107 姓名: 吴承增 指导老师: 危建国 2010 年 12 月 10 日系统说明书1.问题描述: 该程序包内容包括以下的模块,均用子函数完成:(1)主菜单(2)输入若干条记录并保存文件(指学生的信息) (3)学生信息录入、修改、删除、查询、存储。 (4)学生信息的浏览及排序(冒泡排序算法) 。 (5)学生成绩的录入、修改。(6)统计及格和优秀人数 (7)退出系统 2.程序设计和程序流程图:解决方案:学生成绩档案管理主菜单学生成绩管理学生档案管理查询统计录入成绩修改成绩读入学生信息录入学生成绩
2、查询学生成绩修改学生信息删除学生信息存储学生信息按学号查询按姓名查询按学号排序浏览按数学成绩排序按成绩排序按英语成绩排序按 C 语言排序按总成绩排序主函数流程图:For(;)循环用“cls”清屏P5|p nCrrdArray j+ 1for j = 0 to 6真假排序学生信息流程图:开始把第 i+1 个学生信息复制传递到下一个结构体中switch 语句 case(q)定义指向 char 数组形式排序q#include#include#include#include#include /#include#define N 4 /宏定义学生#define MAX 60 /学生最大个数int nCO
3、UNT=0; /记录当前学生个数int p; /int save();/int duquwj();/int xiugaiwj(); /char cStudNo6013=“8001509060“,“8001509061“;/char cStudName8013=“承增“,“叶子“;struct studentchar xh15; /学号char name25; /姓名char sex5; /性别float sxcj; /数学成绩float yycj; /英语成绩float Cyycj; /C 语言成绩float ave; /平均成绩float sum; /总成绩strMAX;/struct st
4、udentMAX;int ScoreNew() /录入学生成绩int average(); /求平均数int i=0;char ch;system(“cls“);doprintf(“ tt 设计者: 吴承增 班级: 软件技术092 班n“);printf(“ tt=n“);printf(“ tt- 录 入 学 生 信 息 -n“);printf(“ tt=n“);printf(“ tt 请录入第 %d 学生信息n“,i+1);printf(“n tt 输入学生学号 : “);scanf(“%s“,stri.xh);fflush(stdin);printf(“n tt 输入学生姓名 : “);f
5、flush(stdin);scanf(“%s“,stri.name);printf(“n tt 输入学生性别 : “);fflush(stdin);scanf(“%s“,stri.sex);printf(“n tt 输入学生数学成绩 : “);fflush(stdin);scanf(“%f“,printf(“n tt 输入学生英语成绩 : “);fflush(stdin);scanf(“%f“,printf(“n tt 输入学生 C 语言成绩: “);fflush(stdin);scanf(“%f“,i+;nCOUNT=i;printf(“n tt 是否继续输入 ?(Y/N)“);fflush
6、(stdin);ch=getch();system(“cls“);while(ch!=naverage();printf(“n“);system(“cls“);return 0; int average() /求平均数int i;for(i=0;i=90)strt00+;if(stri.sxcj=80if(stri.yycj=80if(stri.Cyycj=80system(“pause“);elseswitch(P) /case 00: save();break;case 1: ScoreNew();break;case 2: sxcjpx();break;case 3: SearchStud();break;case 4: gxxscj();break;case 5: tjxscj();break;case 6: p=AddfromText(str,p);break;case 7: WritetoText(str,p);break;system(“pause“);exit(0);return 0;