基于C语言的学生成绩及学分统计系统

功能展示:

基于C语言的学生成绩及学分统计系统_第1张图片

主菜单

基于C语言的学生成绩及学分统计系统_第2张图片

 报错功能

基于C语言的学生成绩及学分统计系统_第3张图片

各科成绩

基于C语言的学生成绩及学分统计系统_第4张图片

学分统计

基于C语言的学生成绩及学分统计系统_第5张图片

总分统计

基于C语言的学生成绩及学分统计系统_第6张图片

最终成绩单

基于C语言的学生成绩及学分统计系统_第7张图片

内容讲解:

1.自定义类型(结构体)
//学生结构体
struct student{
	char num[11];
	char name[10];
	int gaoshu;
	int Cyuyan;
	int zhuandao;
	int tiyu;
	int yingyu;
	int junshi;
	int xingzheng;
	int xinli;
	int jindaishi;
	float xf;
	float s;
}a[30]; 

 

2.菜单模块
(1)主菜单(主函数)
while(true){
		printf("\t\t\t************************************************\n");
 	    printf("\t\t\t*                                              *\n");
 	    printf("\t\t\t*   计算机科学与技术2023级1班成绩管理系统      *\n");
 	    printf("\t\t\t*                                              *\n");
 	    printf("\t\t\t*           1.输入学生的学号和姓名             *\n");
 	    printf("\t\t\t*           2.输入学生各科成绩                 *\n");
 	    printf("\t\t\t*           3.计算学生获得学分                 *\n");
 	    printf("\t\t\t*           4.计算学生总分                     *\n");
 	    printf("\t\t\t*           5.输出学生成绩信息                 *\n");
 	    printf("\t\t\t*           6.退出系统                         *\n");
 	    printf("\t\t\t************************************************\n");
 	    printf("请输入您的选择:");
 	    scanf("%d",&choice);
(2)成绩菜单(函数menu实现)
	while(true){
 		printf("\t\t\t\t**********************************************\n");
 		printf("\t\t\t\t*                                            *\n");
 		printf("\t\t\t\t*   计算机科学与技术2023级1班成绩管理系统    *\n");
 		printf("\t\t\t\t*                                            *\n");
 		printf("\t\t\t\t*       1.输入高数成绩                       *\n");
 		printf("\t\t\t\t*       2.输入C语言成绩                      *\n");
 		printf("\t\t\t\t*       3.输入计算机科学与技术专业导论成绩   *\n");
 		printf("\t\t\t\t*       4.输入体育成绩                       *\n");
 		printf("\t\t\t\t*       5.输入英语成绩                       *\n");
 		printf("\t\t\t\t*       6.输入军事理论成绩                   *\n");
 		printf("\t\t\t\t*       7.输入形势与政策成绩                 *\n");
 		printf("\t\t\t\t*       8.输入大学生心理健康辅导成绩         *\n");
 		printf("\t\t\t\t*       9.输入中国近代史纲要成绩             *\n");
 		printf("\t\t\t\t*       10.返回主菜单                        *\n");
 		printf("\t\t\t\t**********************************************\n");
 		printf("\t\t\t请输入您的选择:");
     	scanf("%d",&choice) ;

3.功能函数

input_xx:学生信息(输入学生学号与姓名)

void input_xx(){
	char str[3]; 
	for(int i=0;i=10){
			strcpy(a[i].num,"23080101");
			itoa(i+1,str,10);
			strcat(a[i].num,str);
		}
		fflush(stdin);
		printf("\t\t\t\t学号:%s  姓名:",a[i].num );
		scanf("%s",&a[i].name );
	}
}

input_gaoshu…jindaishi:学生单科成绩

void input_gaoshu(){
	for(int i=0;i100){
			printf("\t\t\t\t请重新输入%s号%s同学高数成绩:",a[i].num,a[i].name);
			scanf("%d",&a[i].gaoshu);	
		}
	}
	n++; 
}

input_xf:学生学分(根据课程与成绩输出学分)

void input_xf(){
	double sum;
	sum=0;
	if(n=60){
				sum+=5.0;
			}if(a[i].Cyuyan >=60){
				sum+=3.5;
			}if(a[i].zhuandao >=60){
				sum+=2.5;
			}if(a[i].tiyu >=60){
				sum+=1;
			}if(a[i].yingyu >=60){
				sum+=2;
			}if(a[i].junshi >=60){
				sum+=1;
			}if(a[i].xingzheng >=60){
				sum+=2;
			}if(a[i].xinli >=60){
				sum+=1;
			}if(a[i].jindaishi >=60){
				sum+=2.5;
			}
			a[i].xf=sum;
		}		
		printf("---------------------------------\n");
		printf("|序号|学      号|姓  名|获得学分|\n");
		printf("---------------------------------\n");
		for(int i=0;i

input_total:总成绩(根据输入的单科成绩输出总分)

void input_total(){
	if(n

menu:菜单

output:学生成绩单

void output(){
	printf("---------------------------------------------------------------------------------------------------\n");
 	printf("|序号|学      号|姓  名|获得学分|高 数|C语言|专 导|体 育|英 语|军 事|形 政|心 理|近代史|总 分|\n");
 	printf("---------------------------------------------------------------------------------------------------\n");	
 	for(int i=0;i

4.细节强调

1.定义全局变量n,作为计数器,记录已填报成绩的科目。以便后续判断是否输入全科成绩

2.注意数组不要越界!

3.菜单制作注意排版

system("pause");//暂停
system("cls");//清屏
fflush(stdin);//清除缓冲区

4.保证数据类型无误

参考:

QUST2023级软件工程实训作业(大一上)

你可能感兴趣的:(c语言,开发语言)