C语言学生成绩管理系统课程设计语言学生成绩管理系统课程设计
学生成绩管理系统是比较适合初学者的。它涵盖了c语言几乎知识。对于学了c语言的人,把这个课程设计搞好(当然自己能设
计出来是要有很好的基础)。不管自己能不能够完成,最重要的是能弄懂。参考其他资料,试着自己编写是不错的选择。这个
课程设计也是我参照资料,自己编写的。自己适当地增加了一些功能。不过,编的不够那么专业吧。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define size 100
char* classname[]={"语文","数学","英语"};
int N=0,falg=0; //定义全局变量 N代表人数,falg代表信息保存的标识。
int arrysize=size; //arrysize代表结构体数组的大小。
struct stu{
char num[10];
char name[10];
float score[3];
float sum;
};
typedef struct stu STU; //定义新类型的结构体。
STU*pro=NULL; // pro保存信息的结构体数组。
int chack(int a,int b,int c) //条件判断函数,c代表条件号。
{
if(c==1||c==2)
{
if(pro[a].sum !=pro[b].sum )
if(c==1)
return pro[a].sum >pro[b].sum ;
else
return pro[a].sum <pro[b].sum;
else return strcmp(pro[a].num ,pro[b].num)<0;
}
if(c==3||c==4)
{
if(c==3) return strcmp(pro[a].num,pro[b].num )<0;
else return strcmp(pro[a].num,pro[b].num )>0;
}
else printf("没有该条件的选项!");
return 0;
}
void incharge(int a,int b) //交换函数。
{
struct stu t;
t=pro[a];
pro[a]=pro[b];
pro[b]=t;
}
void het(int m,int n,int c) //快排函数
{ if(m>n) return;
int i=m-1;
for(int j=m;j<n;j++)
{
if(chack(j,n,c))
incharge(++i,j);
}
incharge(i+1,n);
het(1,i,c);
het(i+2,n,c);
}
void newsect(int i) //添加记录函数
{ float s=0;
printf("请输入学生学号:");
scanf("%s",&pro[i].num);