c语言学生成绩单制作.docx

上传人:b****5 文档编号:7541774 上传时间:2023-01-24 格式:DOCX 页数:12 大小:100.90KB
下载 相关 举报
c语言学生成绩单制作.docx_第1页
第1页 / 共12页
c语言学生成绩单制作.docx_第2页
第2页 / 共12页
c语言学生成绩单制作.docx_第3页
第3页 / 共12页
c语言学生成绩单制作.docx_第4页
第4页 / 共12页
c语言学生成绩单制作.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

c语言学生成绩单制作.docx

《c语言学生成绩单制作.docx》由会员分享,可在线阅读,更多相关《c语言学生成绩单制作.docx(12页珍藏版)》请在冰豆网上搜索。

c语言学生成绩单制作.docx

c语言学生成绩单制作

C语言课程设计报告

 

项目名称:

学生成绩单制作

所在班级:

####级####班

小组成员:

######

任课教师:

######

起止时间:

2014.06.15——2014.06.26

项目基本信息

项目名称

学生成绩单制作

项目简介

制作一个学生成绩单,输入学生成绩、输入学生信息函数、输出单科成绩,最高学生信息输出三门课平均成绩最高的学生信息将学生按照平均成绩降幂排序,并输出之后求出各平均成绩。

小组成员

#####

任务分工

独立完成

 

课程实践评定成绩记录

指导教师意见

系统完成情况:

优良中差

报告完成情况:

优良中差

答辩评定成绩

团队整体成绩:

成员成绩

综合成绩

一、问题描述及分析

输入学生成绩、输入学生信息函数、输出单科成绩,最高学生信息输出三门课平均成绩最高的学生信息将学生按照平均成绩降幂排序,并输出之后求出各平均成绩,形成一个成绩单。

二、功能模块及数据结构描述

structstudent//定义结构体

voidprint(structstudentawrry[])//输出学生信息

voidprinta(structstudentawrry[])//输出单科成绩最高学生信息

voidprintb(structstudentawrry[])//输出三门课平均成绩最高的学生信息

//主函数

voidmain()

{

structstudentstu[100];//定义结构体数组

shuru(stu);//输入学生信息

print(stu);//输出学生全部信息

printa(stu);//输出单科成绩最高学生信息

printb(stu);//输出三门课平均成绩最高的学生信息

sort(stu);//将学生按照平均成绩降幂排序,并输出

}

三、主要算法流程描述及部分核心算法

流程图如下图所示。

核心算法为:

开始

 

 

 

 

 

 

 

四、系统使用说明

1、进入学生成绩制作

2、输入学生个数

3、输入三个学生的成绩及学号信息

4求出全部学生信息

 

5、结束程序

五、问题及解决办法

1、输出时,有些信息显示不完整或布局不对称;通过对程序格式的进一步改进使其对称布局更美观。

2、学生全部信息输出界面不协调,有待优化改良。

3、再添加函数能实现更多功能。

课外实践总结

通过这个程序的实践我对管理系统有了深刻的了解,了解了怎样制作成绩单,通过自己的改造终于完成工作。

课程设计是把我们所学的理论知识进行系统的总结并应用于实践的良好机会,有利于加强我们用知识理论来分析实际问题的能力,进而加强了我们对知识认识的实践度,巩固了我们的理论知识,深化了对知识的认识,并为走向社会打下一个良好的基础。

六、源程序

#include

#include

//定义结构体

structstudent

{

intnum;

charname[20];

floatchinese;

floatmath;

floatenglish;

floataverage;

};

intN;

//输出学生信息

voidprint(structstudentawrry[])

{

printf("全部学生信息如下:

\n");

printf("====================================================================\n");

for(inti=0;i

{

printf("numbernamemathchineseenglishaverage\n");

printf("%d%s%3.2f%3.2f%3.2f%3.2f\n",awrry[i].num,awrry[i].name,awrry[i].math,awrry[i].chinese,awrry[i].english,awrry[i].average);

}

printf("====================================================================\n");

}

//输入学生信息函数

voidshuru(structstudentawrry[])

{

floatsum;

printf("====================================================================\n");

printf("请输入你想输入学生的个数:

\n");

scanf("%d",&N);

printf("输入%d个学生信息:

\n",N);

for(inti=0;i

{

sum=0;

printf("输入的%d个学生信息:

\n",i+1);

printf("输入学号:

\n");

scanf("%d",&awrry[i].num);

printf("输入姓名:

\n");

scanf("%s",awrry[i].name);

printf("输入语文成绩:

\n");

scanf("%f",&awrry[i].chinese);

sum=(float)(sum+awrry[i].chinese);

printf("输入数学成绩:

\n");

scanf("%f",&awrry[i].math);

sum=(float)(sum+awrry[i].math);

printf("输入英语成绩:

\n");

scanf("%f",&awrry[i].english);

sum=(float)(sum+awrry[i].english);

awrry[i].average=(float)(sum/3.0);

}

printf("====================================================================\n");

}

//输出单科成绩最高学生信息

voidprinta(structstudentawrry[])

{

printf("单科成绩最高学生信息\n");

printf("====================================================================\n");

intk1=0,k2=0,k3=0;

for(inti=0;i

{

if(awrry[k1].chinese

k1=i;

}

for(intj=0;j

{

if(awrry[k2].english

k2=j;

}

for(intp=0;p

{

if(awrry[k3].math

k3=p;

}

printf("语文成绩最高者:

\n");

printf("学号姓名语文成绩\n");

printf("%3d%3s%3.2f\n",awrry[k1].num,awrry[k1].name,awrry[k1].chinese);

printf("数学成绩最高者:

\n");

printf("学号姓名数学成绩\n");

printf("%3d%3s%3.2f\n",awrry[k3].num,awrry[k3].name,awrry[k3].math);

printf("英语成绩最高者:

\n");

printf("学号姓名英语成绩\n");

printf("%3d%3s%3.2f\n",awrry[k2].num,awrry[k2].name,awrry[k2].english);

printf("====================================================================\n");

}

//输出三门课平均成绩最高的学生信息

voidprintb(structstudentawrry[])

{

printf("三门课平均成绩最高的学生信息\n");

printf("====================================================================\n");

floatmax=awrry[0].average;

intk=0;

for(inti=0;i

if(max<=awrry[i].average)

{

max=awrry[i].average;

k=i;

}

printf("平均成绩最高者:

\n");

printf("numbernameaverage\n");

printf("%3d%3s%3.2f\n",awrry[k].num,awrry[k].name,awrry[k].average);

printf("====================================================================\n");

}

//将学生按照平均成绩降幂排序,并输出

voidsort(structstudentawrry[])

{

printf("平均成绩降幂排序\n");

printf("====================================================================\n");

floatt1,t2,t3,t4;inti,j;

charname[20];

for(i=0;i

for(j=0;j

if(awrry[j].average

{

t1=awrry[j].average;

awrry[j].average=awrry[j+1].average;

awrry[j+1].average=t1;

t2=awrry[j].chinese;

awrry[j].chinese=awrry[j+1].chinese;

awrry[j+1].chinese=t2;

t3=awrry[j].math;

awrry[j].math=awrry[j+1].math;

awrry[j+1].math=t3;

t4=awrry[j].english;

awrry[j].english=awrry[j+1].english;

awrry[j+1].english=t4;

strcpy(name,awrry[j].name);

strcpy(awrry[j].name,awrry[j+1].name);

strcpy(awrry[j+1].name,name);

}

printf("平均分降幂排序:

\n");

printf("numbernamemathchineseenglishaverage\n");

for(i=0;i

printf("%d%s%3.2f%3.2f%3.2f%3.2f\n",awrry[i].num,awrry[i].name,awrry[i].math,awrry[i].chinese,awrry[i].english,awrry[i].average);

printf("====================================================================\n");

}

//主函数

voidmain()

{

structstudentstu[100];//定义结构体数组

shuru(stu);//输入学生信息

print(stu);//输出学生全部信息

printa(stu);//输出单科成绩最高学生信息

printb(stu);//输出三门课平均成绩最高的学生信息

sort(stu);//将学生按照平均成绩降幂排序,并输出

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1