程序设计实验心得

  • 格式:docx
  • 大小:206.72 KB
  • 文档页数:6

程序设计实验心得 The latest revision on November 22, 2020
编程的心得体会
作业要求:
考试总分排序。

(1)从文件(.txt)读入你班10个学生的有关信息:学号(int),姓名(字符数组),三门课成绩(int数组)。

要求用结构体数组存放学生信息。

(2)求各个学生的总成绩。

(3)按总分成绩从高到低的顺序将学生的各信息(学号、姓名、三门课成绩、总成绩)输出到另一文件(.txt)中保存。

作业目的:
主要考察我们对结构体的认识,数组的掌握,文件操作的掌握。

本程序涉及定义一个结构体,字符数组,int数组,冒泡法排序,文本文件的读入,创建,输出。

#include<stdio.h>
#include<stdlib.h>
struct student
{
int id;
char name[20];
int score[3];
int total;
}st[10],t; //结构体变量的定义
main()
{
FILE *fp;
int i=0,j;
fp=fopen(“d:\\chengji.txt”,”r”);//文本文件的打开
if(fp==NULL)
{ printf(“file open error!\n”);
exit(0);
}
else
printf(“file open ok!\n”); //文本文件是否正确打开的判断 while(!feof(fp))
{
fscanf(fp,”%d %s %d %d %d”,&st[i].id,st[i].name,&st[i].score[0],&st[i].s core[1],&st[i].score[2]);
st[i].total=st[i].score[0]+st[i].score[1]+st[i].score[2];
i++;
} //从文本文件读取10个学生的成绩并计算总成绩
for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
{
if(st[i].total<st[j].total)
{
t=st[i];
st[i]=st[j];
st[j]=t;
}
} //冒泡法排序10个学生的成绩 fclose(fp); //关闭文本文件
fp=fopen(“d:\\chengjic.txt”,”w”);
if(fp==NULL)
{ printf(“file open error!\n”);
exit(0);
}
else
printf(“file open ok!\n”); //打开输入的文本文件 fprintf(fp,”学号姓名成绩1 成绩2 成绩3 总成绩 \n”);
for(i=0;i<=9;i++)
fprintf(fp,”%-6d %-8s %-4d %-4d %-4d %-
4d\n”,st[i].id,st[i].name,st[i].score[0],st[i].score[1],st[i].score[2],st [i].total); //数据输出
}
不同之处:
我认为我的程序与一般的程序没有太多想法不同的地方。

若要说的话就是在读取数据时,在打开文本文件时,先判断文本文件能否正确打开。

同时算出学生的总成绩,没有另外用一个循环来算总成绩。

输出信息到文本文件时,用了一个表头,下方的数据设置与表头对齐。

改进之处:
还需改进之处就是文本文件的打开位置与文件名能由用户来决定。

排序方法还可以继续改进,现在的冒泡法需要很繁琐的运行,若数据较多时,运算时间就会很长。

可以用一些高级的排序方法,来减短时间。

心得体会:
在编程的时候还犯了一些错误。

比方说字符数组与整型数组在赋值时,老是在字符数组与整型数组前,哪个该加地址符搞混淆。

有时候在行尾,忘记加分号。

在写文件操作时,有时会忘记一些指令。

一些指令会打错。

有时会忘记数组是从0开始的。

编程并不需要去死记硬背一些指令,而是去理解。

学习一年的编程,会发现C语言还是有规律可循的,一些指令在理解的基础上去编,会发现很简单。

我感觉编程是一个需要耐心的工作,你在编程的过程会遇到各种各样的困难,如果你没有耐心,你就很容易打退堂鼓,那你做不好编程这件事。

你要有耐心,知道有
错误后,就得从头到尾反复地看,去发现错误。

所以编程是一个培养一个人耐心的过程。

编程也是一个让人变得更严谨的过程,使人的思维更加缜密。

因为你必须毫无差错地发一个指令,计算机才会去执行。

你必须一步一步,稳打稳扎地去做,不得有半点马虎,也不能偷工减料。

编程也会激发人的思维,使人的思维更加活跃。

你必须自己想算法去做,久而久之,会发现很有创造性。

有人会说,编程是一个枯燥乏味的过程,但我不完全赞同,编程的过程是一个创造的过程,当你编完后,再运行成功了,你会感觉非常的快乐,特别有成就感。

经过一年的学习,我发现学习C语言,让我学会和懂得了很多。