C语言课程设计报告格式2.docx

上传人:b****3 文档编号:26730057 上传时间:2023-06-22 格式:DOCX 页数:15 大小:20.92KB
下载 相关 举报
C语言课程设计报告格式2.docx_第1页
第1页 / 共15页
C语言课程设计报告格式2.docx_第2页
第2页 / 共15页
C语言课程设计报告格式2.docx_第3页
第3页 / 共15页
C语言课程设计报告格式2.docx_第4页
第4页 / 共15页
C语言课程设计报告格式2.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C语言课程设计报告格式2.docx

《C语言课程设计报告格式2.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告格式2.docx(15页珍藏版)》请在冰豆网上搜索。

C语言课程设计报告格式2.docx

C语言课程设计报告格式2

 

《C语言课程设计》报告

题目:

学生成绩管理系统

 

班级:

动力1341

学号:

1303411122

姓名:

于伟强

指导老师:

黄亮

成绩:

 

1、课程设计目的和意义

二、总体设计思路(功能模块图)

三、详细设计

四、课程设计总结体会

五、教师评语

 

一、课程设计目的和意义

一.

课程设计的目的和意义

目的:

1.根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解内容2.通过调试典型例题或习题积累调试程序的经验。

3.通过完成辅导教材中的编程题,逐渐培养学生的编程能力,用计算机解决实际问题的能力。

意义:

1.有助于加深我们对操作系统这门课程的理解,我们的

都是基础理论知识,对于如何用程序语言来描述所学知识还是有一定难度。

通过课程设计,我们可以真正理解其内涵。

2.

有利于我们逻辑思维的锻炼,程序设计能直接有效练的

创新思维、培养分析问题、解决问题能力。

即使是一个简单的程序,依然需要学生有条不理的构思。

3.

有利于培养严谨认真的学习态度,在程序设计过程里,当我们输入程序代码的时候,如果不够认真或细心,法

错误,从而无法得出运行结果。

那么,这个我们反复调试,反复修改的过程,其实也是对我们认真严谨治学的一个锻炼.

 

二、总体设计思路(功能模块图)

学生信息包括学号,姓名,性别,年龄,学历,工资,住址,电话等。

是设计一学生成绩管理系统,使之能提供以下功能:

系统以菜单方式工作

学生信息录入功能(职工信息用文件保存)——输入

学生信息浏览功能——输出

查询和排序功能——算法

按学号查询

按姓名查询等

学生信息删除,修改功能。

补充要求:

1)整个系统均用c语言实现;

2)可以利用数组,指针,链表来实现数据结构设计;

3)系统具有输入,显示,查询,删除,排序,插入,保存,读取等基本功能;

4)系统的各个功能模块都用函数的形式来实现;

5)可以将信息保存在文件中读取出来。

1.程序采用模块化设计,主函数为程序的入口,各模块独立,可分块调试,各模块由主函数控制调用。

主函数的控制功能通过循环执行一个开关语句来实现。

该开关语句的条件值为调用主菜单函数得到的返回值,根据该值,调用相应的各功能函数。

2.应用高级语言程序设计中的基本控制结构,如选择和循环等,并且包含对文件的读、写等基本操作,在软件开发过程中应用了软件工程的基本理论。

因此,系统的设计方法是结构化设计方法,开发手段是C语言。

3.源程序运用多个函数,开头先进行函数声明,然后分别定义、调用各函数。

 

系统功能模块图

 

三、详细设计

1、模块功能介绍

1)主菜单

学生成绩管理系统

1.成绩录入

2.成绩查询

3.成绩统计

4.成绩排名

5退出

2)各菜单项功能①成绩录入:

输入学生的学号、姓名及三门课的成绩,查询不及格学生的记录。

③成绩统计:

l计算学生的平均分;2根据学生的平均分高数统2、

利用结构体数组实现学生成绩统计管理的数据结构设计;3、

系统具有增加,查询,排序等基本功能;

4、系统的各个功能模块要求用函数的形式实现

 

2、程序清单

#include

#include

#include

structstudent

{charnum[10];

charname[20];

charsex[5];

intgrade[5];

floatv;

intsum;

}stu[50];

intk=0;

voidinput();

voiddisplay();

voidlook();

voidchange();

voiddelete();

voidsumandave();

voidpaixu();

voidmain()

{

inta;

do

{

printf("\n\n

***********************************************************

*******\n");

printf("

*");

printf("\t\twelcome

enter

the

student

management

system");printf("\t*");

printf("\n

***********************************************************

*******\n");

printf("*");printf("\t1.Accessstudentinformation");

printf("\t\t\t\t*\n");

printf("*");printf("\t2.lookstudentinformation");

printf("\t\t\t\t*\n");

printf("*");printf("\t3.Changestudentinformation");

printf("\t\t\t\t*\n");

printf("*");printf("\t4.deletestudent

information");printf("\t\t\t\t*\n");

printf("

*");

printf("\t

5.By

sum

Sort

student

information

and

output");printf("\t\t*\n");

printf("*");printf("\t6.exit");

printf("\t\t\t\t\t\t*\n");

printf("

***********************************************************

*******\n");

printf("Enteryouchoice:

");

scanf("%d",&a);

switch(a)

{

case1:

printf("\n");input();break;

case2:

printf("\n");look();break;

case3:

printf("\n");change();break;

case4:

printf("\n");delete();break;

case5:

printf("\n");paixu();break;

case6:

printf("\n");exit(0);break;

default:

printf("\nThechoiceisbetween1to6.\n");

}

}while(a!

=0);

}

voidinput()

{intj;

charch[20];

printf("\nenterstudentinformation:

\n");

do

{printf("\nnum:

");

scanf("%s",stu[k].num);

printf("\nname:

");

scanf("%s",stu[k].name);

printf("\nsex:

");

scanf("%s",stu[k].sex);

for(j=0;j<5;j++)

{printf("\ngrade%d:

",j+1);

scanf("%d",&stu[k].grade[j]);}

k++;

printf("\nif

want

continue

input

student

information(y/n):

");

scanf("%s",ch);

}while(strcmp(ch,"y")==0||strcmp(ch,"Y")==0);

sumandave();

display();

}

voiddisplay()

{inti;

printf("thestudentinformationis:

\n");

for(i=0;i

{printf("%-10s%-10s%-5s%2d%2d%2d%2d%2d%5d%5f\n",s

tu[i].num,stu[i].name,stu[i].sex,stu[i].grade[0],stu[i].gra

de[1],stu[i].grade[2],stu[i].grade[3],stu[i].grade[4],stu[i

].sum,stu[i].v);

printf("\n");}

}

voidsumandave()

{inti,j;

for(i=0;i

{stu[i].sum=0;

for(j=0;j<5;j++)

stu[i].sum=stu[i].sum+stu[i].grade[j]

stu[i].v=stu[i].sum/5.0;}

}

voidlook()

{{inti;

chara[20];

printf("\nenteryouwantlookstudentnum:

");

scanf("%s",a);

for(i=0;i

if(strcmp(stu[i].num,a)==0)

printf("%-10s%-10s%-5s%2d%2d%2d%2d%2d%5d%5f\n",stu

[i].num,stu[i].name,stu[i].sex,stu[i].grade[0],stu[i].grade

[1],stu[i].grade[2],stu[i].grade[3],stu[i].grade[4],stu[i].

sum,stu[i].v);

printf("\nenteryouwantlookstudentname:

");

scanf("%s",a);

for(i=0;i

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

printf("%-10s%-10s%-5s%2d%2d%2d%2d%2d%5d%5f\n",stu

[i].num,stu[i].name,stu[i].sex,stu[i].grade[0],stu[i].grade

[1],stu[i].grade[2],stu[i].grade[3],stu[i].grade[4],stu[i].

sum,stu[i].v);}

display();

}

voidchange()

{inti,j;

chara[20],ch[10];

printf("\nenteryouwantchangestudentnum:

");

scanf("%s",a);

for(i=0;i

{

if(strcmp(stu[i].num,a)==0)

{printf("\nyousurewantchangestudentnum(y/n):

");

scanf("%s",ch);

if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)

{

printf("\nnum:

");

scanf("%s",stu[i].num);}

printf("\nyousurewantchangestudentname(y/n):

");

scanf("%s",ch);

if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)

{

printf("\nname:

");

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

printf("\nyousurewantchangestudentsex(y/n):

");

scanf("%s",ch);

if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)

{

printf("\nsex:

");

scanf("%s",stu[i].sex);}

printf("\nyousurewantchangestudentgrade(y/n):

");

scanf("%s",ch);

if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)

{for(j=0;j<5;j++)

{printf("\ngrade%d:

",j+1);scanf("%d",&stu[i].grade[j]);}

stu[i].sum=0;

for(j=0;j<5;j++)

stu[i].sum=stu[i].sum+stu[i].grade[j]

stu[i].v=stu[i].sum/5.0;}}

display();

}}

voiddelete()

{inti,j;

charch[10],c[20];

printf("\nyou

sure

want

delete

student

information(y/n):

");

scanf("%s",ch);

if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)

{printf("\nenteryouwantdeletenum:

\n");

printf("num:

");

scanf("%s",&c);

for(i=0;i

if(strcmp(c,stu[i].num)==0)break;

for(j=i;j<=2;j++)

stu[j]=stu[j+1];

printf("\t\t\tyouhaddelete%s\n",c);

k--;}

display();

}

voidpaixu()

{structstudentT;

inti,j;

for(i=0;i

{

for(j=i+1;j

{

if(stu[i].sum

{

T=stu[i];

stu[i]=stu[j];

stu[j]=T;

}

}}

display();}

 

3、系统运行结果

 

四、课程设计总结体会

本程序在刚开始调试时有许多错误,

但在我的努力及同学的帮助下都被一一

克服,现在在操作本程序时可根据提示进行相关操作,能正确输出结果。

刚开始的几次调试中曾经出现过不能运行、不能进行循环输入、不能进行数

据储存、不能输出有效的数据等等问题。

经过我的努力及同学的帮助,这些

问题得到克服,并且使程序的功能也得到了一定的完善。

现在它能进行了数

据输入储存、数据打印等等。

在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学

学到了课本上没有的知识。

从而启发我,要想写好程序,在写好课本知识的

同时还需要多读和专业有关的一些书籍,同时还需要多动脑子,尽量把所学

的知识综合起来应用,力争写出完美的程序。

除此之外,我还得到了一些有

用的教训:

写程序时必须要细心,不能输错一个字符标点,就连花括号的输

入也得注意。

在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能

心急浮躁,否则修改之后还会有新的错误。

 

五、教师评语

 

评阅教师:

评阅日期:

2014年6月

 

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

当前位置:首页 > 教学研究 > 教学案例设计

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

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