用C语言编一个学生成绩管理系统`(要求原创)

基本要求:
要求利用C语言面向过程的编程思想来完成系统的设计;
突出C语言的函数特征,以多个函数实现每一个子功能;
画出功能模块图;
进行简单界面设计,能够实现友好的交互;
具有清晰的程序流程图和数据结构的详细定义;
熟练掌握C语言对文件的各种操作。
创新要求:
在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同等。

o.溟╪筱メ. 14:12:12
功能描述
学生基本信息及成绩所选科目成绩的录入。
基本信息的查询(分系、班级;分科目)与修改。
对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优秀率);
对所开课程的成绩分析(求其平均成绩,最高分和最低分);
对学生考试成绩进行排名(单科按系别或班级进行排名,对每一个班级,同一学期学生总体成绩进行排名,并显示各科成绩信息)

信息描述
有关该系统基本信息的描述,如:学号、姓名、系别、班级和所选科目及各科成绩等。

电脑高手救急啊

我们的课设我自己做的,老师评的优秀。你自己看一下吧

#include "graphics.h"
#define SIZE 100
#include <conio.h>
#include<stdio.h>
int N;
struct student
{
int No ;
int age;
char name[10];
char sex;
int computerscore;
int Englishscore;
int Mathscore;
int Sum[10];
int aver[10];
char Dengji[10];
}stud[SIZE];
FILE*fp;
int i;
int j;
int m;
int n;
int o;

void input()
{
i=1;

printf("please input student data\n");

while(i<=N)
{
printf("No :");
scanf("%d",&stud[i].No );

printf("name:");
scanf("%s",stud[i].name);

printf("age");
scanf("%d",&stud[i].age);

printf("sex");
getchar();
scanf("%c",&stud[i].sex);

printf("computerscore:");
scanf("%d",&stud[i].computerscore);

printf("Englishscore:");
scanf("%d",&stud[i].Englishscore);

printf("Mathscore:");
scanf("%d",&stud[i].Mathscore);
i++;
}

}

chuli(struct student stud[])
{

int k,m;
struct student t;
int Sum[SIZE],aver[SIZE];

for(i=1;i<=N;i++)
Sum[i]=stud[i].computerscore+stud[i].Englishscore+stud[i].Mathscore;

for(i=1;i<=N;i++)
aver[i]=Sum[i]/3;

for(i=1;i<=N;i++)
{
k=i;
{
for(j=i+1;j<=N;j++)
if(Sum[i]<Sum[j])
k=j;

if(k!=i)
{
t=stud[i];stud[i]=stud[k];stud[k]=t;
m=Sum[i];Sum[i]=Sum[k];Sum[k]=m;
n=aver[i];aver[i]=aver[k];aver[k]=n;
}

}
}
for(i=1;i<=N;i++)
{
if(aver[i]>=90)
{printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tA\n",stud[i].No ,stud[i].name,stud[i].age,stud[i].sex,stud[i].computerscore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]);
printf("\t\t\t\t\twelldone!please go on!\n");
}
else if(aver[i]>=80)
printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tB\n",stud[i].No ,stud[i].name,stud[i].age,stud[i].sex,stud[i].computerscore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]);
else if(aver[i]>=70)
printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tC\n",stud[i].No ,stud[i].name,stud[i].age,stud[i].sex,stud[i].computerscore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]);
else if(aver[i]>=60)
printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tD\n",stud[i].No ,stud[i].name,stud[i].age,stud[i].sex,stud[i].computerscore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]);
else
{
printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tE\n",stud[i].No ,stud[i].name,stud[i].age,stud[i].sex,stud[i].computerscore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]);
printf("\t\t\t\t\tYou should work hard!\n");
}
}
}
Maxcomputerscore(struct student stud[])
{
int i=0,Max;
Max=stud[i].computerscore;
m=stud[i].No ;
for(i=1;i<N;i++)
if(Max<stud[i].computerscore)
{
Max=stud[i].computerscore;
m=stud[i].No ;
}
printf("Maxcomputerscore:");
printf("Max=%d,m=%d\n",Max,m);
}
Maxenglishscore(struct student stud[])
{
int i,Max;
i=0;
Max=stud[i].Englishscore;
m=stud[i].No ;
for(i=1;i<N;i++)
if(Max<stud[i].Englishscore)
{
Max=stud[i].Englishscore;

m=stud[i].No ;
}
printf("Max Englishscore:");

printf("Max=%d,m=%d\n",Max,m);
}

MaxMathscore(struct student stud[])
{
int i=0;
int m;
int Max;
Max=stud[i].Mathscore;
m=stud[i].No ;
for(i=1;i<N;i++)
if(Max<stud[i]. Mathscore)
{
Max=stud[i].Mathscore;
m=stud[i].No ;
}
printf("MaxMathscore:");
printf("Max=%d,m=%d\n",Max,m);
}

main()
{
char ch;
int i,k,driver=DETECT,mode;
initgraph(&driver,&mode,"c:\\tc");
system("cls");
printf("\t\t*******************************************\n");
setbkcolor(BLUE);cleardevice();
setfillstyle(1,2);
setcolor(YELLOW);
rectangle(100,100,540,380);
floodfill(50,50,14);
setcolor(12);
settextstyle(1,0,8);

outtextxy(130,150,"welcome!");

printf("\t\t*******************************************\t\t\t\n");
printf("\t\t please input the number of students!\t\t\t\t");
scanf("%d",&N);
system("cls");
printf("\t\t**---------------------------------------**\n");

printf("\t\tT:input the student data .\n");

printf("\t\t\C:have a look at the data. \n");

printf("\t\tL:get every subject the highest score \n");

printf("\t\tJ:stored information \n");

printf("\t\tX:quit the program \n");

printf("\t\t**---------------------------------------**\n");

printf("please input your choise:");

while((ch=getchar())!='w')
{
switch(ch)
{
case'T':input();

break;
case'C':
chuli(stud);
break;
case'L':
Maxcomputerscore(stud);

Maxenglishscore(stud);

MaxMathscore(stud);

break;

case'X':exit(o);

case'J':

fp=fopen("student.txt","w+");/*创建一个sutden.txt文本文件*/
if(!fp)
{
printf("cannot open the file");
return;
}/*在文件头写入包含的学生信息*/
for(i=0;i<N;i++)
fprintf(fp,"%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\t\n",stud[i].No ,stud[i].name,stud[i].age,stud[i].sex,stud[i].computerscore,stud[i].Englishscore,stud[i].Mathscore);
fclose(fp);/*写完后关闭文件*/

break;
default: printf("\nplease input the right word:\nT.C.L.J.X.\n");
}
printf("\n--------------over------------------------------\n");
}

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-07-21
http://www.darkst.com/bbs/thread-42242-1-1.html
看看这个吧,c语言写的管理系统,20分估计等不到人来原创了。。。
第2个回答  2009-07-19
分不多还要求原创
不可行了
就是有人写了也是抄的
第3个回答  2009-07-19
分不多,要求还真多
第4个回答  2009-07-21
2o分要我干半天体力活,我白痴啊