C语言课程设计:学生综合信息测评系统(附源码)

题目:学生综合信息测评系统

程序要求

每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。

A、学生信息处理

(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。

(2) 插入(修改)同学信息:

(3) 删除同学信息:

(4) 浏览学生信息:

B、学生数据处理

(1) 按考试科目录入学生成绩并且按公式:

考试成绩=(语文+数学+外语)/3 计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中。

扫描二维码关注公众号,回复: 8040768 查看本文章

(2) 学生测评数据输入并计算综合测评总分及名次。

综合测评总分=(考试成绩)*0.6+(同学互评分)*0.1+品德成绩*0.1+任课老师评分*0.2。

(3) 学生数据管理

输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件

(4) 学生数据查询:

输入学号或其他信息,即读出所有数据信息,并显示出来。

博主VX:15813406574,永久在线,承接JAVA、C\C++、python、matlab等课程设计
博主VX:15813406574,永久在线,承接JAVA、C\C++、python、matlab等课程设计
博主VX:15813406574,永久在线,承接JAVA、C\C++、python、matlab等课程设计

接下来就是效果图展示:







核心代码展示(由于篇幅限制这里就只展示部分代码,如果需要全部代码的可以私聊)

void data_xiugai()                  	                  //数据修改
{
	int pp;
	int i,j,k;
	data_daoru();
	printf("\n\t请输入要修改学生的学号:");
	scanf("%d",&pp);
	printf("\n");
	for(i=0;i<=count;i++){
        if(data[i].number==pp) break;
		 
	}
	if(i>=count) { printf("\n\t没有找到该学生!\n"); return;}

	printf("\n\t学号:%.0d 姓名:%s \n\n\t语文:%d 数学:%d 英语:%d 品德成绩:%d 老师评分:%d\n\n",data[i].number,info[i].name,data[i].chinese,data[i].math,data[i].english,data[i].pinde,data[i].teacher);

	printf("\n\t是否修改?\t 1.是 \t 2.否 \t ");
	while(1){                  	                       //询问
    	scanf("%d",&j);
    	switch(j){
		    case 1:{
				for(k=0;k<=count;k++){                  	                  //重新排名次
					if(data[i].avg>data[k].avg) data[k].ksmc=data[k].ksmc-1;
				}
				printf("\n\t请输入语文成绩:");
				scanf("%d",&data[i].chinese);
				while( data[i].chinese   < 0 || data[i].chinese  > 100 )
				{  printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");
				printf("\t请输入老师评分:");
				scanf("%d",&data[i].chinese );
				}
	
				printf("\t请输入数学成绩:");
				scanf("%d",&data[i].math);
				while( data[i].math  < 0 || data[i].math  > 100 )
				{   printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");
					printf("\t请输入数学成绩:");
					scanf("%d",&data[i].math);
				}
				printf("\t请输入英语成绩:");
				scanf("%d",&data[i].english);
				while( data[i].english  < 0 || data[i].english  > 100 )
				{	 printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");
					printf("\t请输入英语成绩:");
					scanf("%d",&data[i].english);
				}
				printf("\n\t请输入同学互评成绩:");
       	        scanf("%d",&data[i].huping );
				while( data[i].huping  < 0 || data[i].huping  > 100 )
				{  printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");
					printf("\t请输入同学互评成绩:");
       				scanf("%d",&data[i].huping );
				}
				printf("\n\t请输入品德成绩:");
				scanf("%d",&data[i].pinde);
				while( data[i].pinde  < 0 || data[i].pinde  > 100 )
				{  printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");
				 printf("\t请输入品德成绩:");
				scanf("%d",&data[i].pinde);
				}
				printf("\t请输入老师评分:");
				scanf("%d",&data[i].teacher);
				while( data[i].teacher  < 0 || data[i].teacher  > 100 )
				{  printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");
				  printf("\t请输入老师评分:");
				scanf("%d",&data[i].teacher);
				}
				data[i].avg=(data[i].chinese+data[i].math+data[i].english)/3.0;
				data[i].ceping=(data[i].avg*0.6+data[i].huping *0.1+ data[i].pinde*0.1+data[i].teacher*0.2);
				data[i].ksmc=count;

				for(k=0;k<count;k++){                  	                  //重新排名次
					if(data[i].avg>data[k].avg){
             		    data[k].ksmc=data[k].ksmc+1;
					  	if(data[i].ksmc>data[k].ksmc-1)
							data[i].ksmc=data[k].ksmc-1;
					}
				}

				printf("\n\t修改成功!\n\n");  data_xieru(); return;              //写入文件
			}
            case 2: return;
            default : printf("输入错误!请重新输入!");break;
		}
    	break;
	}
	printf("\n\n\t\t");
    system("pause");
}

猜你喜欢

转载自www.cnblogs.com/crh666/p/11967531.html