新生求大神解救,帮帮忙
帮忙设计一下,非常感激学生成绩管理系统设计
学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。
主要功能:
(1) 能按学期、按班级完成对学生成绩的录入、修改
(2) 能按班级统计学生的成绩,求学生的总分及平均分
(3) 能查询学生成绩,不及格科目及学生名单
(4) 能按班级输出学生的成绩单
要求:使用二进制文件方式存储数据,系统以菜单方式工作

程序代码:#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define M 3
typedef struct grade{
float chinese;
float math;
float english;
float computer;
}grade;
typedef struct student{
long sno;
char sname[20];
int sclass;
int term;
grade cs;
}student;
void input(student s[],int N){
int i;
printf("输入%d个学生的成绩.\n",N);
for(i=0;i<N;i++){
printf("\n输入第%d个学生的\n",i+1);
printf("学号:");
scanf("%ld",&s[i].sno);
getchar();
printf("姓名:");
gets(s[i].sname);
printf("班别:");
scanf("%d",&s[i].sclass);
printf("学期:");
scanf("%d",&s[i].term);
printf("成绩:\n");
printf("\t语文:");scanf("%f",&s[i].cs.chinese);
printf("\t数学:");scanf("%f",&s[i].cs.math);
printf("\t英语:");scanf("%f",&s[i].cs.english);
printf("\t计算机:");scanf("%f",&s[i].);
}
}
void output(student s[],int N){
int i;
printf("\n%d个学生的基本信息为\n",N);
for(i=0;i<N;i++){
printf("%-10ld",s[i].sno);
printf("%-16s",s[i].sname);
printf("%-4d",s[i].sclass);
printf("%-4d",s[i].term);
printf("%-6.0f",s[i].cs.chinese);
printf("%-6.0f",s[i].cs.math);
printf("%-6.0f",s[i].cs.english);
printf("%-6.0f",s[i].);
printf("\n");
}
}
void snofind(student s[],int N){
int i;
long sno1;
printf("请输入您要查找的学号:");
scanf("%ld",&sno1);
for(i=0;i<N;i++){
if(s[i].sno==sno1)
break;
}
if(i<N){
printf("学号为%ld的学生的基本信息为:\n",sno1);
printf("%-10ld",s[i].sno);
printf("%-16s",s[i].sname);
printf("%-4d",s[i].sclass);
printf("%-4d",s[i].term);
printf("%-6.0f",s[i].cs.chinese);
printf("%-6.0f",s[i].cs.math);
printf("%-6.0f",s[i].cs.english);
printf("%-6.0f",s[i].);
printf("\n");
}
else
printf("你输入的学号不存在!\n");
}
void snamefind(student s[],int N){
int i;
char sname1[20];
printf("请输入您要查找的姓名:");
getchar();
gets(sname1);
for(i=0;i<N;i++){
if(strcmp(s[i].sname,sname1)==0)
break;
}
if(i<N){
printf("姓名为%s的学生的基本信息为:\n",sname1);
printf("%-10ld",s[i].sno);
printf("%-16s",s[i].sname);
printf("%-4d",s[i].sclass);
printf("%-4d",s[i].term);
printf("%-6.0f",s[i].cs.chinese);
printf("%-6.0f",s[i].cs.math);
printf("%-6.0f",s[i].cs.english);
printf("%-6.0f",s[i].);
printf("\n");
}
else
printf("你输入的姓名不存在!\n");
}
void total(student s[],int N){
int i;
printf("\n不及格(成绩<60)的学生为:\n");
for(i=0;i<N;i++){
if(s[i].cs.chinese<60){
printf("%-10ld",s[i].sno);
printf("%-16s",s[i].sname);
printf("%-4d",s[i].sclass);
printf("%-4d",s[i].term);
printf("%-6.0f",s[i].cs.chinese);
printf("\n");
}
if(s[i].cs.math<60){
printf("%-10ld",s[i].sno);
printf("%-16s",s[i].sname);
printf("%-4d",s[i].sclass);
printf("%-4d",s[i].term);
printf("%-6.0f",s[i].cs.math);
printf("\n");
}
if(s[i].cs.english<60){
printf("%-10ld",s[i].sno);
printf("%-16s",s[i].sname);
printf("%-4d",s[i].sclass);
printf("%-4d",s[i].term);
printf("%-6.0f",s[i].cs.english);
printf("\n");
}
if(s[i].60){
printf("%-10ld",s[i].sno);
printf("%-16s",s[i].sname);
printf("%-4d",s[i].sclass);
printf("%-4d",s[i].term);
printf("%-6.0f",s[i].);
printf("\n");
}
}
}
void maininterface(){
printf("\t\t**********************************************************\n");
printf("\t\t* 欢迎使用成绩管理系统 \n");
printf("\t\t*1.输入 2.输出 \n");
printf("\t\t*3.查找 4.统计 \n");
printf("\t\t*0.退出 \n");
printf("\t\t**********************************************************\n");
printf("\t\t请输入0--4:");
}
void findinterface(){
printf("\t\t************************************************************\n");
printf("\t\t* 欢迎使用查找操作 \n");
printf("\t\t*1.按学号查找 \n");
printf("\t\t*2.按姓名查找 \n");
printf("\t\t*0.返回上一级 \n");
printf("\t\t************************************************************\n");
printf("\t\t请输入0--2");
}
void findchoice(student s[],int N){
int m;
while(1){
scanf("%d",&m);
switch(m){
case 1:
snofind(s,N);
findinterface();
break;
case 2:
snamefind(s,N);
findinterface();
break;
case 0:
break;
}
if(m==0)
break;
}
maininterface();
}
void choice(student s[],int N){
int m;
while(1){
scanf("%d",&m);
switch(m){
case 1:
input(s,N);
maininterface();
break;
case 2:
output(s,N);
maininterface();
break;
case 3:
findinterface();
findchoice(s,N);
break;
case 4:
total(s,N);
maininterface();
break;
case 0:
exit(0);
}
}
}
int main(int argc,char *argv[]){
student s[M];
int i,j;
maininterface();
choice(s,M);
}
