C语言程序设计课程设计 之《学生成绩管理系统》

C语言程序设计课程设计

学生成绩管理系统

#include
#include
#include
#include
#define M 1000
//***********结构体***** 
struct student{
	char name[30];// 学生姓名 
	char num[30];//学号 
	int zy;//专业 
	int bj;//班级 
	int math;//数学成绩 
	int yy;//英语成绩 
	int dl;//专业课导论成绩 
	int cyy;//C语言成绩 
	int ty;//体育成绩 
	int s;//总分 
	double pj;//平均分 
};
//¥¥¥¥¥¥¥开始函数声明¥¥¥¥¥¥¥¥
void fileread(struct student stu[M]);//*读取文件函数 
void filesave(struct student stu[M]);//*保存文件函数 
void input(struct student stu[M]);//****输入数据函数 
void output(struct student stu[M]);//***输出函数 
void del(struct student stu[M]);//******删除学生信息函数 (1 、2) 
void gai(struct student stu[M]);//******改成绩函数 
void chakang(struct student stu[M]);//**查询学生成绩信息函数 
void name_(struct student stu[M]);//****使用学生姓名删其信息 1 
void num_(struct student stu[M]);//*****使用学生学号删其信息 2
void order(struct student stu[M]);//****进行排序函数 
//¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥ 
int count=0;//输入学生成绩信息的个数,一开始为零 
struct student t;
//这个t是进行order排序时用的 
int main()
{
    	int sum=0,xuan;//xuan一开始进入界面进行选择 ,
		system("mode con: cols=369 lines=3690"); //控制编译器高和宽 
		struct student stu[M];
    	//**********代码运行界面*********
    	printf("\t\t\t\t\t\t   欢迎使用学生成绩管理信息系统\n");
    do{
    	printf("\t\t\t\t\t  -------------------------------------------\n");
    	printf("\t\t\t\t\t\t   ***学生成绩信息管理系统***\n");
		printf("\t\t\t\t\t\t\t ***************\n");
	    printf("\t\t\t\t\t\t\t 1、输入学生信息\n");
	    printf("\t\t\t\t\t\t\t 2、浏览学生信息\n");
	    printf("\t\t\t\t\t\t\t 3、查看学生信息\n");
	    printf("\t\t\t\t\t\t\t 4、修改学生成绩\n");
	    printf("\t\t\t\t\t\t\t 5、删除学生信息\n");
	    printf("\t\t\t\t\t\t\t 6、学生信息排序\n"); 
	    printf("\t\t\t\t\t\t\t 7、读取文件信息\n");	  //从文件读取
	    printf("\t\t\t\t\t\t\t 8、保存到文件\n");    //保存到文件
	    printf("\t\t\t\t\t\t\t 9、退出系统\n");   
	    printf("\t\t\t\t\t\t\t ***************\n"); 
	    printf("\t\t\t\t\t\t\t 请输入你的选择\n");
	    scanf("%d",&xuan); //进行选择功能 
	    fflush(stdin);       //清除输入缓冲区
	if (xuan>9||xuan<=0)
	{
	sum++;
	if (sum>=8)
	{
	printf("输入错误次数过8次,程序将重新开始\n");
	//通过限制错误输入,避免进入死胡同 
	system("pause");        //程序暂停,重新选择 
	system("cls");   //清屏语句
    }
    }  
switch (xuan)       //根据选择,调用不同的函数来完成不同的任务
	{
	case 1:input(stu);break;   //输入 
	case 2:output(stu);break;  //输出 
	case 3:chakang(stu);break; //查询 
	case 4:gai(stu);break;     //修改 
	case 5:del(stu);break;     //删除
	case 6:order(stu);break;   //排序 
	case 7:fileread(stu);break;//读取文件数据 
	case 8:filesave(stu);break;//保存文件数据 
	case 9:printf("使用完毕,请关掉程序\n");system("pause");break;
	default:printf("无效的选择,请重新输入\n");break;
	}
	}while (xuan!=9);
	printf("本程序结束 over\n");
	return 0;		
}
void filesave(struct student stu[M])//*******保存文件函数***** 
{
	int a=0;
	char b;
	FILE *fp;
	printf("请确认一边是否已经输入学生信息了:'y' or 'n'?\n");
	scanf("%c",&b);
	fflush(stdin);//清除输入缓冲区
	while(b!='y'&&b!='n')
	{
			if(b!='y'&&b!='n')
			printf("输入错误,重新输入\n");
			printf("确定请输入'y' or 'n'?\n");
	        scanf("%c",&b);
	        fflush(stdin);//清除输入缓冲区
	}
	if(b=='y')
	{
		if((fp=fopen("E:\123\新建文件夹","wb"))==NULL)
		{
			printf("文件打开错误,程序无法进行\n");
			exit(0);
		}
		for(a=0;a100||stu[count].yy>100||stu[count].dl>100||stu[count].cyy>100||stu[count].ty>100);
	//判断分数值是否超过100 ,若超过则重新输入 
	stu[count].s=(stu[count].math+stu[count].yy+stu[count].dl+stu[count].cyy+stu[count].ty);
	//先求总分
	stu[count].pj=stu[count].s/5.0;      //求出平均值
	count++;   //输入学生成绩信息的个数 
    
} 
void output(struct student stu[M])     //*******输出函数****** 
{
	int j;
	system("cls");//清屏语句 
	if (count==0)
	{
	printf("目前没有学生信息记录\n");
	return;
	}
	for (j=0;jstu[a].s)
			{
				t=stu[b];
				stu[b]=stu[a];
				stu[a]=t;
			}
		}
	}
	int d=1;
	for(a=0;a低分)** 
    {  
	for (j=i+1;jstu[i].math)
    	{	t=stu[j];
			stu[j]=stu[i];
			stu[i]=t;
		}
    }
	};break;
	case 2:for (i=0;i低分)** 
    {  
	for (j=i+1;jstu[i].yy)
    	{	t=stu[j];
			stu[j]=stu[i];
			stu[i]=t;
		}
     	}
	}
	break;
	case 3:for (i=0;i低分)** 
    {  
	for (j=i+1;jstu[i].dl)
    	{	t=stu[j];
			stu[j]=stu[i];
			stu[i]=t;
		}
     	}
	}
	break;
	case 4:for (i=0;i低分)**  
    {  
	for (j=i+1;jstu[i].cyy)
    	{	t=stu[j];
			stu[j]=stu[i];
			stu[i]=t;
		}
     	}
	}
	break;
	case 5:for (i=0;i低分)** 
    {  
	for (j=i+1;jstu[i].ty)
    	{	t=stu[j];
			stu[j]=stu[i];
			stu[i]=t;
		}
     }
	}
	break;
	case 6:for (i=0;i低分) *** 
    {  
	for (j=i+1;jstu[i].pj)
    	{
			t=stu[j];
			stu[j]=stu[i];
			stu[i]=t;
		}
    }
	}
	break;
    case 7:for (i=0;i

你可能感兴趣的:(C语言程序设计课程设计 之《学生成绩管理系统》)