C语言实习报告.docx

上传人:b****8 文档编号:10101965 上传时间:2023-02-08 格式:DOCX 页数:16 大小:65.91KB
下载 相关 举报
C语言实习报告.docx_第1页
第1页 / 共16页
C语言实习报告.docx_第2页
第2页 / 共16页
C语言实习报告.docx_第3页
第3页 / 共16页
C语言实习报告.docx_第4页
第4页 / 共16页
C语言实习报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言实习报告.docx

《C语言实习报告.docx》由会员分享,可在线阅读,更多相关《C语言实习报告.docx(16页珍藏版)》请在冰豆网上搜索。

C语言实习报告.docx

C语言实习报告

******大学

《C语言程序实习》

 

题目学生成绩管理系统

 

指导教师:

姓名:

学号:

班级:

专业:

计算机科学与技术专业

地点:

计算中心

时间:

一、学生成绩管理系统

1、程序的主要功能:

本程序是用来管理学生的成绩,具体包括输入成绩、显示成绩、修改成绩、存储成绩、读取成绩和退出程序几项功能。

2、主要功能的实现:

根据需要输入相关的数据即可实现相应的操作。

例如:

选择1将出现如下界面,按提示输入各项信息即可。

如果想结束录入就将班级名输入为“END”即可返回主界面。

具体实现见程序运行效果图。

二、上机环境

1、操作系统:

WindowsVista

2、开发工具:

VC6.0

三、

函数调用关系图

Main函数

 

Addst函数Displayst函数Putfile函数Getfile函数Changest函数

 

四、各函数功能说明

1、main()—————————————————————主函数

2、voidaddst(structststu[])———————————录入成绩的函数

3、voiddisplayst(structststu[])—————————显示成绩的函数

4、voidputfile(structststu[])——————————存储成绩的函数

5、voidgetfile(structststu[])——————————读取成绩的函数

6、voidchangest(structststu[],intn)——————更改成绩的函数

五、算法描述或流程图

开始

 

调用main函数

返回

输入选择操作的值

 

所选的值=?

 

12345

主函数流程图(图1)

1

 

入口

输入学生的信息

 

No

班级是否为end

Yes

结束

输入学生成绩流程图(图2)

 

2

 

入口

 

显示学生成绩

结束

显示学生流程图(图3)

 

 

存储学生成绩流程图(图4)

 

 

读取成绩流程图(图5)

 

5

 

输入更改后的学生信息

关闭文件

 

结束

 

入口

 

输入要更改的学生的学号

 

打开文件

更改成绩流程图(图6)

 

六、程序运行效果图

输入要进行操作的代号便可执行此项操作:

选择1将出现如下界面,按提示输入各项信息即可。

如果想结束录入就将班级名输入为“END”即可返回主界面。

选择2将出现如下界面。

此界面为显示已输入的学生成绩。

选择3将出现如下界面。

输入要修改的学生的学号即可实现对其信息的更改。

选择4将出现如下界面。

输入学生信息要存储的文件名即可实现存储功能。

选择5将出现如下界面。

输入要打开的文件名即可读取该文件。

选择6将出现如下界面。

此操作为结束本程序的操作。

七、体会

在本次课程设计中,先使用结构化分析方法对系统进行分析,将整个系统细分为几个模块,再针对每个小模块编写代码。

由于时间比较仓促,在进行代码设计时,大约100行代码来源于《C语言案例教程》(机械出版社出版)一书,源码的其他100行均由自己独立编写。

主程序界面也是由自己独立设计完成。

经过对原来的代码进行完善后,目前的程序能实现老师要求的所有功能。

经过这段时间的编程,我体会到编程工作的不容易。

虽然只是编了一个小程序,但是也体会到了编程工作的繁琐程度,不但需要不断的完善、更改和优化代码,还要根据程序的功能进行调试,系统检测不出错误并不代表没有错误,这就需要我们更细心的检查程序,对程序的每项功能都认真的进行不同类型的测试。

在测试过程中能发现程序中的错误和bug,然后再想办法解决。

通过此次的实习还让我锻炼了严谨认真的习惯,因为一个小错误就有可能导致整个程序无法运行,所以必须认真的输入,争取不犯或尽量少犯输入的错误。

对于词法的错误要认真对待,争取以后不犯类似的错误。

通过一个学期的学习,我认为要学好C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能境强和巩固我的知识。

特别是作为在校在学生,更要注重实践这一环节,只有这样我们才能成为合格的计算机人材,才能在21世纪这个激烈的竞争社会中取胜。

八、参考文献

[1]湛为芳C语言程序设计技术清华大学出版社,2006

[2]谭浩强C程序设计(第三版)清华大学出版社,2005

[3]赵睿C语言案例教程机械工业出版社,2007

九、程序清单

#include

#include

#defineRS10

#defineKM3

structst

{

intnum;

charclassname[10];

charname[20];

charsex[3];

floatscore[KM];

}

student[RS]={{0}};

/*成绩录入*/

voidaddst(structststu[])

{

inti;

structst*p;

p=stu;

while(p->num!

=0)p++;

do

{

printf("若想结束录入请将班级名输入为“END”。

\n");

printf("请输入班级:

");

scanf("%s",(*p).classname);

if(strcmp((*p).classname,"end")!

=0)

{

printf("请输入学号:

");

scanf("%d",&(*p).num);

printf("请输入姓名:

");

scanf("%s",(*p).name);

printf("请输入性别:

");

scanf("%s",(*p).sex);

printf("请输入C语言数学英语成绩:

");

for(i=0;i

scanf("%f",&(*p).score[i]);

}

while(p->num!

=0)p++;

}

while(strcmp((*p).classname,"end"));

}

/*显示成绩*/

voiddisplayst(structststu[])

{

inti,k;

structst*p;

p=stu;

printf("\n********************************成绩单********************************");

printf("\n班级\t学号\t姓名\t性别\tC语言\t数学\t英语\n");

for(k=0;k

{

if(p->num!

=0)

{

printf("\n%s\t",(*p).classname);

printf("%d\t",(*p).num);

printf("%s\t",(*p).name);

printf("%s\t",(*p).sex);

for(i=0;i

printf("%5.1f",(*p).score[i]);

}

p++;

}

printf("\n");

printf("\n");

printf("\n");

printf("\n");

printf("\n");

}

/*存储文件*/

voidputfile(structststu[])

{

inti,k;

FILE*fp;

structst*p;

charfile[50];

p=stu;

printf("请输入要存储文件的文件名:

");

scanf("%s",file);

if((fp=fopen(file,"w"))==NULL)

{

printf("不能打开此文件。

\n");

return;

}

for(k=0;k

{

if(p->num!

=0)

{

fprintf(fp,"\n%s\t",(*p).classname);

fprintf(fp,"%d\t",(*p).num);

fprintf(fp,"%s\t",(*p).name);

fprintf(fp,"%s\t",(*p).sex);

for(i=0;i

fprintf(fp,"%5.1f",(*p).score[i]);

}

p++;

}

fclose(fp);

printf("成绩已存入文件%s中。

\n",file);

}

/*读取文件*/

voidgetfile(structststu[])

{

inti;

FILE*fp;

structst*p;

charfile[50];

p=stu;

printf("请输入要读取的文件的文件名:

");

scanf("%s",file);

if((fp=fopen(file,"r"))==NULL)

{

printf("不能打开此文件。

\n");

return;

}

while(!

feof(fp))

{

fscanf(fp,"\n%s",(*p).classname);

fscanf(fp,"%d",&(*p).num);

fscanf(fp,"%s",(*p).name);

fscanf(fp,"%s",(*p).sex);

for(i=0;i

fscanf(fp,"%f",&(*p).score[i]);

p++;

}

fclose(fp);

printf("成绩已从文件%s中读出。

\n",file);

displayst(stu);

}

/*更改成绩*/

voidchangest(structststu[],intn)

{

inti;

structst*p;

p=stu;

while(p->num!

=n)p++;

printf("请输入班级:

");

scanf("%s",(*p).classname);

printf("请输入学号:

");

scanf("%d",&(*p).num);

printf("请输入姓名:

");

scanf("%s",(*p).name);

printf("请输入性别:

");

scanf("%s",(*p).sex);

printf("请输入C语言数学英语成绩:

");

for(i=0;i

scanf("%f",&(*p).score[i]);

}

/*主函数*/

voidmain()

{

charch;

intn;

do

{

printf("********************************主菜单********************************\n");

printf("||\n");

printf("|1.输入成绩|\n");

printf("||\n");

printf("|2.显示成绩|\n");

printf("||\n");

printf("|3.修改成绩|\n");

printf("||\n");

printf("|4.成绩存储|\n");

printf("||\n");

printf("|5.读取成绩|\n");

printf("||\n");

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

printf("||\n");

printf("||\n");

printf("|6.退出程序|\n");

printf("||\n");

printf("||\n");

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

printf("\n请选择要进行的操作:

\n");

scanf("%c",&ch);

if(ch=='1')addst(student),scanf("%c",&ch);

if(ch=='2')displayst(student),scanf("%c",&ch);

if(ch=='3')

{

printf("请输入要修改的学生学号:

");

scanf("%d",&n);

changest(student,n);

scanf("%c",&ch);

}

if(ch=='4')putfile(student),scanf("%c",&ch);

if(ch=='5')getfile(student),scanf("%c",&ch);

}

while(ch!

='6');

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

printf("||\n");

printf("*******************************谢谢使用*******************************\n");

printf("||\n");

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

}

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

当前位置:首页 > 总结汇报 > 其它

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

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