#include<stdio.h>
//学生结构体数组用来保存学生信息
struct stu
{
int num[11]; /*学号*/
char name[20]; /*姓名*/
int score[]; /*成绩*/
};
/*主菜单功能*/
int show_window()
{
printf("/*******************************************\n");
printf("* the manage system of students' score *\n");
printf(" \n");
printf("*--------description of program-------------\n");
printf(" \n");
printf("1.input data for students \n");
printf(" \n");
printf("2.output data for students \n");
printf(" \n");
printf("3.find data for students \n");
printf(" \n");
printf("4.insert data for students \n");
printf(" \n");
printf("5.sort data for students \n");
printf(" \n");
printf("6.alter data for students \n");
printf(" \n");
printf("7.delete data for students \n");
printf(" \n");
printf("8.get the fail students data \n");
printf(" \n");
printf("9.average data for students \n");
printf(" \n");
printf("10.get above the average students data \n");
printf(" \n");
printf("/*******************************************\n");
}
/*输入学生的学号,姓名,数学成绩,英语成绩,语文成绩分别存入数组num[],name[]*/
int input_stu()
{
int N;
printf("Please input the count of student number for N:\n");
scanf("%d",&N);
int i=0,num[11],name[20],score[N];
printf("Please input student's number and name and score:\n");
do{
scanf("%d,%c,%f",&num[i],&name[i],&score[N]);
i++;
}while((name[i-1]>=0)&&(i<N));
return i-1;
}
/*输出学生的信息*/
int output_stu()
{
int i,N,num[11],name[20],score[N];
for(i=0;i<N;i++)
printf("num[]=%d,name[]=%c,score[]=%f\n",&num[i],&name[i],&score[i]);
}
/*查找学生的信息*/
int find_stu()
{
int i,N,num[N],name[N],score[N],number;
printf("Please input the student'number:\n");
scanf("%d",&number);
int value=number;
int index=0;
while(index>=0)
{
if(num[index]==value)
{
break;
}
else
index++;
}
if(num[index]==value)
{
printf("%该学生信息存在,下标为:%d\n",value,index);
}
else
{
printf("%d该学生信息不存在\n",value);
}
}
/*插入学生信息*/
int insert_stu()
{
}
/*成绩排名*/
int sort_stu()
{
}
/*修改学生信息*/
int alter_stu()
{
}
/*删除学生信息*/
int delete_stu()
{
}
/*统计不及格学生*/
int get_fail()
{
int i,count=0,N,score[i],num[i],name[i];
printf("不及格的学生:\n");
for(i=0;i<N;i++);
if(score[i]<60)
{
count++;
printf("%101d%c-----%4f\n",num[i],name[i],score[i]);
}
return count;
}
/*求平均分*/
int get_avg()
{
int i,N;
int score[N];
int sum=0;
for(i=0;i<N;i++)
sum=sum+score[i];
return sum/N;
}
/*统计平均分以上的学生*/
int get_above_avg()
{
int i,N,count=0,score[i],num[i];
float avg;
/* 调用求平均分函数*/
int get_avg;
printf("在平均分以上的学生:\n");
for(i=0;i<N;i++)
if(avg<=score[i])
{
count++;
printf("%101d-----%4f\n",num[i],score[i]);
}
return count;
}
/*主函数*/
int main()
{
int select;
show_window();
/*输入菜单选项*/
printf("Please select 1-10 from show window\n");
scanf("%d",&select);
/*选择执行菜单*/
switch(select)
{
case 1:input_stu();break;
case 2:output_stu();break;
case 3:find_stu();break;
case 4:insert_stu();break;
case 5:sort_stu();break;
case 6:alter_stu();break;
case 7:delete_stu();break;
case 8:get_fail();break;
case 9:get_avg();break;
case 10:get_above_avg();break;
default:printf("error!");
}
}
望远
相关分类