程序设计基础实践教学课题报告.docx

上传人:b****5 文档编号:7814096 上传时间:2023-01-26 格式:DOCX 页数:15 大小:219.13KB
下载 相关 举报
程序设计基础实践教学课题报告.docx_第1页
第1页 / 共15页
程序设计基础实践教学课题报告.docx_第2页
第2页 / 共15页
程序设计基础实践教学课题报告.docx_第3页
第3页 / 共15页
程序设计基础实践教学课题报告.docx_第4页
第4页 / 共15页
程序设计基础实践教学课题报告.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

程序设计基础实践教学课题报告.docx

《程序设计基础实践教学课题报告.docx》由会员分享,可在线阅读,更多相关《程序设计基础实践教学课题报告.docx(15页珍藏版)》请在冰豆网上搜索。

程序设计基础实践教学课题报告.docx

程序设计基础实践教学课题报告

昆明理工大学

《程序设计基础》课程

综合设计实践教学课题报告

课程名称:

C语言程序设计

课题名称:

学生成绩管理设计

组长:

学号XXXXXXXXX姓名XXX

学院:

XXXX专业班级:

XXXX指导教师:

方娇莉

昆明理工大学计算中心2010年7月15日

昆明理工大学计算中心

《程序设计基础》课程综合设计实践教学课题考核表

课题名称:

学院:

专业班级

学号

姓名

小组

编号

题号

承担及完成的内容

成绩

备注

小组

自评

教师

评定

1、编写了主函数Voidmain()和主要用于实现一些相关的功

能的函数Voidmixed(intm,intn)并写了实验报告

2、编写了函数IntIntput(intn)和Voidsort(intn)

3、编写了函数Voidstati(intn)

4、编写了Voidskim(intn)和Voidsearch(intn,charm[])

设计说明与功能描述(基本思路及关键语句说明)

该函数的功能是:

(1)选项菜单集成各功能函数模块

(2)录入学生成绩(姓名、学号、语文、数学成绩,总分自动计算)

(3)按总分排名次

(4)按姓名查找某学生成绩

(5)统计各课程的平均分、及格率、最高分、最低分

(6)打印成绩表

基本思路

主要通过主函数main()调用子函数input(),skim(),search(),sort(),stati(),mixed()来分别实现题目要的功能

关键语句说明见程序旁注解

组长签名2010年7月15日

教师评语

教师签名:

2010年月日

《程序设计基础》课程综合设计实践教学课题报告要求

1、系统概述

主要解决问题

(1)选项菜单集成各功能函数模块

(2)录入学生成绩(姓名、学号、语文、数学成绩,总分自动计算)

(3)按总分排名次

(4)按姓名查找某学生成绩

(5)统计各课程的平均分、及格率、最高分、最低分

(6)打印成绩表

基本思路:

主要通过主函数main()调用子函数input(),skim(),search(),sort(),stati(),mixed()来分别实现题目要的功能

关键语句说明见程序旁注解。

2、数据结构设计

要说明本程序或数据表定义、连联中用到的所有数据类型的定义,给出变量名及类型(如结构体、数组)的设计,并明确说明:

(1)数据输入的形式和输入值的范围;

(2)数据输出的形式。

定义结构体

Typedefstructmark

{

Doubleyuwen;

Doubleshuxue;

}

Typedefsttruct

{

Longnumber;

Charname[20];

Doublesum;

Doubleaver;

}student;

Studentstu[N];

定义全局变量

Doubleymin,ymax,smin,smax,yper,sper,yaver=0,saver=0;

主要函数

IntIntput(intn);

Voidskim(intn);

Voidsearch(intn,charm[]);

Voidsort(intn);

Voidstati(intn);

Voidmixed(intm,intn);

Voidmain();

3、模块设计

IntIntput(intn);主要用于实现索要输入的学生人数;

Voidskim(intn);1主要来实现打印学生信息;

Voidsearch(intn,charm[]);2主要用于实现查找相关学生信息;

Voidsort(intn);3主要是对学生信息排序;

Voidstati(intn);4主要用于对相关课程统计平均分,及格率,最高分,最低分

Voidmixed(intm,intn);主要用于实现一些相关的功能。

Voidmain()主函数

4.调试运行及操作说明

(1)显示欢迎界面和并且提示要输入学生的数目

(2)输入学生数后就可以输入相应的信息了。

(3)输入学生的成绩

(4)确定要实现的功能选项

(5)选功能1后

(6)选功能2后

(7)选择功能3后,程序会提示你输入要查的学生的姓名

(8)选择功能4后

5、总结和体会

完成了这次C语言设计,我收获很多,体会也很多,要学好一门学科,没有刻苦钻研的精神是不行的,只有在不断的尝试中,不断尽力失败,然后又不断的尝试才能成功。

要完成一个优秀的程序,必须熟练掌握各种语言的特点和用法,要学会举一反三,充分实现c语言的灵活性,在平时的学习实践中,要不断的动脑筋,学活学用,要善于反问,善于思考。

要学好C语言光知识是不够的,还得有经验,上机操作的经验,只有大脑中有经验,在碰到问题是才有许多解决问题的办法,然后才能去尝试。

我们也清楚的知道21世纪是挑战和机遇并存,没有足够的知识储备将会被历史淘汰,C语言也是在国外广泛用用的一门计算机语言,语言功能丰富,表达能力强,使用灵活方便,具有较高的语言有点,同时我觉得C语言是理论和实践相结合的课程,在不断的编写中去思考。

我觉得在编写一个较大的c语言程序时应该把他分成几个小程序来看,这样就容易了。

程序设计过程犹如解决一个实际问题,从实际的角度去出发,我们可以这样来看,首先了解这个问题的基本要求;其次,要从这个问题的要害出发,从前到后一个一个的解决每个问题的要求。

即:

丛输入开始,这种考虑如何输入如何输出,在这过程中,可以确定所要的变量,数据,函数,然后确定处理过程-算法,可得最后结论。

总之,要学好C语言,一定要认真,踏实,细心。

没有一丝不苟的精神是不行的,没有刻苦钻研的恒心必将不会有一丝的成功的。

最后感谢老师对我的教导。

(1)组长:

组员:

(2)6、程序代码

#include

#include

#include

#defineN175

typedefstructmark//定义成绩结构体

{

doubleyuwen;

doubleshuxue;

}mark;

typedefstruct//定义学生信息结构体

{

longnumber;

charname[20];

doublesum;

doubleaver;

structmarkachie;

}student;

studentstu[N];//定义结构体数组

doubleymin,ymax,smax,smin,yper,sper,yaver=0,saver=0;//定义全局变量

intinput()//学生信息输入函数

{

inti,n;

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

\n");

scanf("%d",&n);

for(i=1;i<=n;i++)

{

printf("请输入第%d个学生的信息(包括学号、姓名、语文、数学的成绩)\n",i);

scanf(

"%ld%s%lf%lf",

&stu[i].number,

stu[i].name,

&stu[i].achie.yuwen,

&stu[i].achie.shuxue

);

}

return(n);

}

voidskim(intn)//学生信息浏览函数

{

inti;

printf("列出的学生信息依次为学号、姓名、语文、数学的成绩、总分、平均分\n");

for(i=1;i<=n;i++)

{

stu[i].sum=stu[i].achie.yuwen+stu[i].achie.shuxue;

stu[i].aver=stu[i].sum/2.0;

printf("第%d个学生的信息为:

\n",i);

printf(

"%d\t%s\t%lf\t%lf\t",

stu[i].number,

stu[i].name,

stu[i].achie.yuwen,

stu[i].achie.shuxue

);

printf("%lf\t%lf\n",stu[i].sum,stu[i].aver);

}

}

voidsearch(intn,charm[])//相关学生信息查找函数

{

inti;

for(i=1;i<=n;i++)

if(strcmp(stu[i].name,m)==0)

break;

if(i>n)

printf("系统查找不到相应学生的信息,请重新输入\n");

else

{

stu[i].sum=stu[i].achie.yuwen+stu[i].achie.shuxue;

stu[i].aver=stu[i].sum/2.0;

printf("你要查询的学生的信息是:

");

printf("%d\t%s\t%lf\t%lf\t",stu[i].number,stu[i].name,stu[i].achie.yuwen,stu[i].achie.shuxue);

printf("%lf\t%lf\n",stu[i].sum,stu[i].aver);

}

}

voidsort(intn)//学生信息排序函数

{

inti,j;

studenttemp;

for(i=1;i<=n;i++)

{

stu[i].sum=stu[i].achie.yuwen+stu[i].achie.shuxue;

stu[i].aver=stu[i].sum/2.0;

}

for(i=1;i<=n;i++)

for(j=i+1;j<=n;j++)

if(stu[i].sum>stu[j].sum)

{

temp=stu[i];

stu[i]=stu[j];

stu[j]=temp;

}

printf("按学生的总分升序排序后的结果是:

");

for(i=1;i<=n;i++)

{

printf("%d\t%s\t%lf\t%lf\t",stu[i].number,stu[i].name,stu[i].achie.yuwen,stu[i].achie.shuxue);

printf("%lf\t%lf\n",stu[i].sum,stu[i].aver);

}

}

voidstati(intn)//学生相关信息的统计函数

{

inti,a=0,b=0;

ymin=stu[1].achie.yuwen;smin=stu[1].achie.shuxue;

ymax=stu[1].achie.yuwen;smax=stu[1].achie.shuxue;

for(i=1;i<=n;i++)

{

if(stu[i].achie.yuwen

ymin=stu[i].achie.yuwen;

if(stu[i].achie.yuwen>ymax)

ymax=stu[i].achie.yuwen;

if(stu[i].achie.shuxue

smin=stu[i].achie.shuxue;

if(stu[i].achie.shuxue>smax)

ymin=stu[i].achie.shuxue;

if(stu[i].achie.yuwen>=60)a++;

if(stu[i].achie.shuxue>=60)b++;

saver+=stu[i].achie.shuxue/2.0;

yaver+=stu[i].achie.yuwen/2.0;

}

yper=(double)a/n;sper=(double)b/n;

printf("语文的平均分、及格率、最高分、最低分分别为:

%lf\t%lf\t%lf\t%lf\n",yaver,yper,ymax,ymin);

printf("数学的平均分、及格率、最高分、最低分分别为:

%lf\t%lf\t%lf\t%lf\n",saver,sper,smax,smin);

}

voidmixed(intm,intn)//实现相应功能选择的函数

{

chark[N];

switch(m)

{

case1:

skim(n);

break;

case2:

stati(n);

break;

case3:

printf("请输入你要查询的学生的姓名:

");

scanf("%s",k);

search(n,k);

break;

case4:

sort(n);

break;

case5:

exit(0);

}

}

voidmain()//主函数,打印菜单……

{

intn,m;

printf("欢迎进入学生成绩管理系统\n");

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

printf("\n\t为使系统正常工作请先按提示输入学生信息\n\n");

n=input();

printf("%d",n);

do

{

printf("请选择你要本系统实现的功能\n");

printf("1:

学生信息浏览功能\n");

printf("2:

统计各课程的平均分、及格率、最高分、最低分\n");

printf("3:

单用户信息查询功能\n");

printf("4:

排序功能(按学生总分绩进行排序)\n");

printf("5:

安全退出\n");

printf("\t\t\t\t\t\t请输入你要实现的功能选项:

");

scanf("%d",&m);

if(m<0||m>4)

break;

else

mixed(m,n);

}while

(1);

}

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

当前位置:首页 > 农林牧渔 > 林学

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

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