如何用C语言编写一个学生管理系统

功能要求:
(1)系统以菜单方式工作;
(2)可新建立一个学生信息;
(3)可删除一个学生信息;
(4)可插入学生信息;
(5)可修改学生信息;
(6)可浏览全部信息;
(7)可按学号 / 姓名查找学生信息;
(8)可按学号 / 姓名 / (三门)成绩排序;
(9)可查看全班每门课的平均成绩 / 每位学生的平均成绩;
(10)可查看有不及格成绩的学生信息;

第1个回答  2010-06-20
#include<stdio.h>
struct student
{char num[10];
char name[20];
char sex;
char clas[10];
float score[3];
float sum;
float aver;
}stu[2];

//struct student stu[2]={{"101","wang",'f',"b11",85.5,87.5,75.5},{"102","li",'m',"b22",55.5,65.5,45.5},{“103”,”wu”,’f’,”b33”,77.5,82.5,73.5},};

void input() /*输入学生信息*/
{int i,j;
for (i=0;i<2;i++)
{
printf("请输入第%d个学生的学号:",i+1);
scanf("%s",stu[i].num);
printf("请输入第%d个学生的姓名:",i+1);
scanf("%s",stu[i].name);
printf("请输入第%d个学生的性别:f表示女生,m表示男生:",i+1);
getchar();
scanf("%c",&stu[i].sex);
printf("请输入第%d个学生的班级:",i+1);
scanf("%s",stu[i].clas);
for (j=0;j<3;j++)
{
printf("请输入第%d个学生的第%d门成绩:",i+1,j+1);
scanf("%f",&stu[i].score[j]);
}
}
}

void sumaver() /*计算总分和平均分*/
{int i;
for(i=0;i<2;i++)
{stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
stu[i].aver=stu[i].sum/3;
}
}

void studentfail() /*统计不及格科目的学生*/
{ int i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
if(stu[i].score[j]<60)
{printf("\n有不及格科目的学生是:\n");
printf("第%d个学生,学号:%s, 姓名:%s, 成绩: %6.2f,%6.2f,%6.2f\n",i+1,stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2]);
break;
}
printf("\n");
}

void output() /*输出全部的学生信息*/
{
int i,j;
printf("全部学生信息如下:\n");
printf("学号 姓名 性别 班级 成绩1 成绩2 成绩3 总分 平均分\n");
for (i=0;i<2;i++)
{printf("%s%8s",stu[i].num,stu[i].name);
printf("%4c%8s",stu[i].sex,stu[i].clas);
for (j=0;j<3;j++)
printf("%8.2f",stu[i].score[j]);
printf("%8.2f%8.2f",stu[i].sum,stu[i].aver);
printf("\n");
}
printf("\n");
}

void main()
{input();
sumaver();
studentfail();
output();
}
第2个回答  2010-06-20
到我空间里看看那个《学生成绩管理系统》,应该可以解决你的问题!本回答被提问者采纳
第3个回答  2010-06-20
图形,还是控制台?
相似回答