我们的课设我自己做的,老师评的优秀。你自己看一下吧
#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");
}
}
温馨提示:答案为网友推荐,仅供参考