课程设计心得体会范文

课程设计心得体会范文

范文一

整个设计通过了软件和硬件上的调试。我想这对于自己以后的学习和工作都会有很大的帮助。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于教材管理系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。

这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。其次,这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解,给我们的设计以极大的帮助,使我们获益匪浅。因此非常感谢老师的教导。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名软件工程专业的学生,这次课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。

我认为这个收获应该说是相当大的。一开始我们从参考书上找来了课题,但是毕竟是参考书,做到后来发现很多程序都是不完整的,这让我们伤透了脑筋。看着别的小组都弄得有模有样了,可是我们连一个课题都还没有定好。好不容易又找到了课题,可是结果还是很不尽人意。程序接线什么的都弄好了,调试也没有问题,可是就是无法达到预期想要的结果。参考书毕竟只是一个参考,设计这种东西最后还是要靠自己动脑筋。然后我们大家一起齐心协力,从平时做的实验﹑老师上课的举例﹑书本上的知识以及老师的辅导和其他同学的帮助下终于完成了。应该说这是通过我们小组成员的共同努力和动脑完成的,虽然内容并不是很复杂,但是我们觉得设计的过程相当重要,学到了很多,收获了很多。我觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合﹑相处,以及自身的动脑和努力,都是以后工作中需要的。

所以我认为这次的课程设计意义很深,和其他4位同学的共同学习﹑配合﹑努力的

过程也很愉快,另外还要感谢老师的耐心辅导。

范文二

对于此次课程设计,我早在寒假就借了linux相关书籍参看,但上面讲的主要是有关linux操作方面的内容,编程方面讲得很少,而且在假期中也并不知道课设的题目是什么,因此此次课设基本上都是在开学后的这两周内完成的。

以前做过的软件方面的课设如C语言课设、数据结构课设都是在假期完成的,由于自己是一个十分追求完美的人,因此几乎每次都花了将近大半个假期的时间来做,如C语言就花了一个多月的时间来做,分数当然也较高,有90来分。对于课程设计,我历来都是相当认真的,此次操作系统的课程设计当然也不例外。可是linux以前没怎么接触过,学校也没怎么系统地讲过,在刚接到题目时除了知道如何用gcc编译等等,几乎可以算作处于一无所知的状态。时间紧任务重,要从对linux一无所知的状态到独立出色地完成课设,不下点苦功夫是不成的。那两周里我除了吃饭睡觉几乎就没离开电脑过,有时时间晚了食堂关门饭都没得吃了。终于,在这样近乎玩命地学习工作下,身体撑不住了,在第二周周三晚上我发烧了。但是眼看就要到检查的日期了,而我的课设也就快完工了。我不想因为看病而耽误下去弄得前功尽弃,因此只买了点药,继续在电脑前拼命??最后,总算赶在周五检查前做出了较满意的作品。

在周五检查那天,老师看了我第4题后,又抽查了一下我的第3题,其实也只是要我把第3题运行一下而已罢了。若放在平时,这绝对是小菜一碟,但当时正在发烧,加上一点紧张,居然把模块加载命令insmod fdev.o错打成insmod fdev.c了,由于这个低级失误造成心中慌乱,于是后面的一条生成设备文件命令mknod干脆就照着参考资料打上去了。于是老师认为我不熟,在那题上打了个半钩。当时心里确实感到十分地遗憾和沮丧,心想所谓“台上一分钟,台下十年功”,一分钟若把握不好,也同样尽毁十年功啊!

但最后,我终于明白,分数不过是个数字,知识才是自己的。通过这次课程设计,我确实学到了很多东西,多年后我可能已经忘记这次课设最后打了多少分,但这些学到的东西却可以使我受益终生。除了知识技术上的东西,我更锻炼了自己的快速学习能力;我学会了如何快速有效地从图书馆、网络获取自己需要的信息;我尝到了在周围很多同学拷来拷去时孤军奋战的痛苦;我体会了夜以继日完成一个项目时中途过程的艰辛及最终完成后巨大的成就感??我更加深了人生的信心,以后面对任何一个困难的项目,我想我都不会惧怕,并最终能够成功地将其完成。

感谢老师,感谢此次课程设计。虽然在其中吃了不少苦头,但我毫不后悔,因为我满载而归。

范文三

时光飞逝,岁月如歌,繁忙的两周课程设计转眼间就结束了。在这两周的时间里,我们每天在寝室—教室-食堂这三点一线的生活里,让我们回忆起了那高中时代的点点滴滴,那久违的充实的而又温馨的气息涌入心头,而这两周时光也成为我在大学两年里

最为充实的学习时间。虽说每天8节课的的安排对于我们大学生来说,有点不可思议,但我们还是坚持着并沉浸在这课程设计的美好时光之中。

在这两周的课程设计的学习中,前两周我们忙于铜精炼反射炉的计算,而后一周我们则进行着铜精炼反射炉的图纸的设计。在前一周的计算过程不仅检验者我们对有色冶金原理及设备的课程知识的了解及掌握程度,同时也培养了我们将所学知识同理论实际相结合的能力。而且,在设计过程中,当我们遇到问题时,我们同学之间相互讨论,相互学习,相互监督,加强了同学之间的友谊,也让我们学会了合作,学会了宽容,学会了理解,学会了做人与处世。

年产2.2万吨铜精炼的反射炉设计使我们也进工程专业的必修功课,也是对我们有色冶金化工过程原理及设备专业知识的综合应用的实践训练,是我们巩固、学习、运用专业知识必要的过程。同时,也是我们由学校迈向社会,从事职业工作前的必不可少的过程,所谓“千里之行,始于足下”,的确是真实的体现出来。通过这次课程设计,我深深的体会到了这句真理的的内涵,我现在认真的进行课程设计的任务,学会理论联系实际,学会脚踏实地的迈开人生的一步就是为了明天的辉煌,为明天能稳健的在社会大潮中立足打下了坚实的基础。

通过这次课程设计,我在各方面都有了一定程度的加强,通过对反射炉的计算及结构图的设计,加强了对铜冶炼知识的了解及掌握,同时,综合运用本专业所学知识及理论和生产实际的知识进行了一次同精炼反射炉的设计工作的实际问题从而培养基加强了我们的学习独立自主能力,巩固和扩从了有色冶金化工设备原理及设备等课程的内容,掌握了铜精炼反射炉的设计方法及步骤,掌握了铜精炼反射炉设计的基本知识,怎样确定设计方案,了解反射炉的基本结构,提高了计算能力及绘图的能力,熟悉了规范和标准,同时各科有关的的课程度有了全面的复习,独立思考的能力也得到显著的提高。

在这次设计过程中,体现出自己单独设计反射炉的能力及综合运用知识的能力,体现了学以致用,突出劳动成果的喜悦心情。同时,也从这次课程设计中发现了自已平时的学习的不足与薄弱环节,而这些也将是我们今后学习与工作需加强的方面。

在这课程设计结束之际,我衷心的感谢我们的课程设计郭年祥老师,郭老师教学严谨细致,一丝不苟的作风,固然让们倍感不适应,但他的这种态度正是当今社会所需要的,是我们今后学习工作所需具备的能力。同时,感谢那些帮助过我的同学们,谢谢你们对我的帮助与支持,让我倍感温馨与充实。

最后,由于本人的专业知识及对实际问题的了解程度有限,在设计过程中难免出现错误,恳请老师多多指点,我十分乐意接受你们的批评与指正,谢谢!

 

第二篇:课程设计范文

安徽新华学院

数据结构课程设计报告

题目: 运动会分数统计系统 学院: 专业: 10级信息管理与信息系统 班级: 一班 小组成员: 焦盟 学号: 1042152120 指导教师: 设计时间: 20xx年12月18日星期日

课程设计任务书

一. 设计任务(黑体 小四 居左)

参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w 个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五 或前三名记分,取前五名的记分分别为:7、5、3、2、1,前三名的记分分别 5、3、2,哪些项目取前五名或前三名由自己设定。(m<=20,n<=20)

二. 设计要求

(1)可以输入各个项目的前三名或前五名的成绩;

(2)能统计各学校总分;

(3)可以按学校编号、男女团体总分排序输出;

(4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。

规定:

(1)输入数据形式和范围:20以内的整数;

(2)输出形式:有中文提示,各学校分数为整型;

(3)界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求;

(4)存储结构:运动会的相关数据要存储在数据文件中。

三. 设计期限

2

3

前言

正文(宋体 五号 1.5倍行距)

4

目录

第1章 需求分析‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥页码

1.1 ?‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥页码

1.2 ?‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥页码

第2章 总体设计 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 页码

2.1 ?‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥页码

2.2?‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 页码

第3章 详细设计‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥页码

第 4章 编码与调试‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥页码

第 5章 总结 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 页码

参考文献 (黑体 小四 居左)

附录

5

第1章需求分析

1.1 名称(宋体 小三 加粗 居左)

正文(宋体 五号 1.5倍行距)

第2章总体设计

第3章详细设计

第4章编码与调试

#include<stdio.h>

#include<math.h>

#include <conio.h>

#include <process.h>

#define n 2 //学校数目

#define m 1 //男子项目数目

#define w 1 //女子项目数目

#define null 0

int flag1=1;

int flag2=1; //全局变量,用来标识是否已经向系统输入信息

FILE *report;

//定义项目结点的类型

typedef struct

6

{

int itemnum; //项目编号

int top; //项目取名次的数目,由用户定义3或5 int range[5]; //名次

int mark[5]; //分数

}itemnode;

//定义学校结点类型

typedef struct

{

int schoolnum; //学校编号

int score; //学校总分

int mscore; //男团体总分

int wscore; //女团体总分

itemnode c[m+w]; //项目数组

}schoolnode;

schoolnode h[n]; //定义一个学校结点数组

//信息输入模块,用来输入信息,建立系统

void inputinformation()

{

int i,j,k,s;

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

{

h[i].score=0;

h[i].mscore=0;

h[i].wscore=0;

} //初始化各结点 for(i=0;i<n;i++)

{

7

do

{

printf("***学校编号:");

scanf("%d",&h[i].schoolnum);

}while(h[i].schoolnum>n || h[i].schoolnum<=0); //输入学校结点信息 for(j=0;j<m+w;j++)

{

do

{

printf("***

scanf("%d",&h[i].c[j].itemnum);

}while(h[i].c[j].itemnum>m+w || h[i].c[j].itemnum<=0);

do

{

printf("***

scanf("%d",&h[i].c[j].top);

}while(h[i].c[j].top!=3 && h[i].c[j].top!=5);

printf("***

scanf("%d",&k); //

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

h[i].c[j].range[s]=0, h[i].c[j].mark[s]=0; //

for(s=0;s<k;s++)

{

printf("*****

scanf("%d",&h[i].c[j].range[s]); //

if(h[i].c[j].top==3)

switch(h[i].c[j].range[s])

{

case 0: h[i].c[j].mark[s]=0; break; 项目编号:"); 取前3名or前5名:"); 获得几个名次:"); 输入项目信息 初始化排名和分数 名次:"); 输入所获名次信息

8

case 1: h[i].c[j].mark[s]=5; break;

case 2: h[i].c[j].mark[s]=3; break;

case 3: h[i].c[j].mark[s]=2; break;

}

else

switch(h[i].c[j].range[s])

{

case 0: h[i].c[j].mark[s]=0; break;

case 1: h[i].c[j].mark[s]=7; break;

case 2: h[i].c[j].mark[s]=5; break;

case 3: h[i].c[j].mark[s]=3; break;

case 4: h[i].c[j].mark[s]=2; break;

case 5: h[i].c[j].mark[s]=1; break;

}

h[i].score=h[i].score+h[i].c[j].mark[s];

//按取前三名还是取前五名分别记分

if(j<=m-1)

h[i].mscore=h[i].mscore+h[i].c[j].mark[s];

//是男子项目则记到男子分数里面去

else

h[i].wscore=h[i].wscore+h[i].c[j].mark[s];

//是女子项目则记到女子项目里面去

}

printf("\n");

}

}

}

//信息输出模块,用来输出信息,可以选择按不同的方式输出信息

9

void output()

{

int choice,i,j,k;

int remember[n];

int sign;

do

{

printf("***1.按学校编号输出.***\n");

printf("***2.按学校总分输出.***\n");

printf("***3.按男团总分输出.***\n");

printf("***4.按女团总分输出.***\n");

printf("\n\n*** 请选择编号***\n\n:");

scanf("%d",&choice);

switch(choice)

{

case 1: //按编号顺序输出

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

{

printf("\n\n***学校编号:%d\n",h[i].schoolnum); printf("***学校总分:%d\n" ,h[i].score); printf("***男团总分:%d\n",h[i].mscore);

printf("***女团总分: %d\n\n\n",h[i].wscore); } break;

case 2: //按学校总分输出

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

remember[i]=i;

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

{

10

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

if(h[remember[i]].score<h[j].score)

{

k=remember[i];

remember[i]=remember[j];

remember[j]=k;

}

} // 用冒泡排序方法,用辅助数组记住学校结点下标

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

{

printf("\n\n***学校编号:%d\n",h[remember[i]].schoolnum); printf("***学校总分:%d\n" ,h[remember[i]].score);

printf("***男团总分:%d\n",h[remember[i]].mscore);

printf("***女团总分: %d\n\n\n",h[remember[i]].wscore);

//按所记下标顺序输出

}

break;

case 3: //按男团总分输出

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

remember[i]=i;

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

{

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

if(h[remember[i]].score<h[j].score)

{

k=remember[i];

remember[i]=remember[j];

remember[j]=k;

11

}

}

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

{

printf("\n\n***学校编号:%d\n",h[remember[i]].schoolnum); printf("***学校总分:%d\n" ,h[remember[i]].score); printf("***男团总分:%d\n",h[remember[i]].mscore); printf("***女团总分: %d\n\n\n",h[remember[i]].wscore); }

break;

case 4: //按女团总分输出

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

remember[i]=i;

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

{

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

if(h[remember[i]].score<h[j].score)

{

k=remember[i];

remember[i]=remember[j];

remember[j]=k;

}

}

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

{

printf("\n\n***学校编号:%d\n",h[remember[i]].schoolnum); printf("***学校总分:%d\n" ,h[remember[i]].score);

12

printf("***男团总分:%d\n",h[remember[i]].mscore);

printf("***女团总分: %d\n\n\n",h[remember[i]].wscore); }

break;

}

printf("请选择 2 继续,0 跳出\n");

scanf("%d",&sign);

}while(sign==2); //循环执行输出语句

}

//查询模块,用来查询信息

void inquiry()

{

int choice;

int i,j,k,s;

printf("\n***1:按学校编号查询\n");

printf("\n***2:按项目编号查询\n");

printf("\n\n***请选择查询方式:"); //提供两种查询方式 scanf("%d",&choice);

switch(choice)

{

case 1:

do

{

printf("要查询的学校编号:");

scanf("%d",&i);

if(i>n)

printf("错误:这个学校没有参加此次运动会!\n\n\n"); else

{

13

printf("要查询的项目编号:");

scanf("%d",&j);

if(j>m+w||j==0)

printf("此次运动会没有这个项目\n\n\n");

//学校编号超出范围,则输出警告

else

{

printf("这个项目取前 %d名,该学校的成绩如下:\n", h[0].c[j-1].top);

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

if(h[i-1].c[j-1].range[k]!=0)

printf("名次:%d\n",h[i-1].c[j-1].range[k]);

//输出要查询学校项目的成绩

}

}

printf("请选择 2 继续 , 0 跳出\n");

scanf("%d",&s);

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

}while(s==2); //循环执行输出语句

break;

case 2:

do

{

printf("要查询的项目编号:");

scanf("%d",&s);

if(s>m+w||s==0)

printf("此次运动会不包括这个项目.\n\n\n");

//项目编号超出范围则输出警告

else

14

{

printf("该项目取前 %d名,取得名次的学校\n",h[0].c[s-1].top); for(i=0; i<n;i++)

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

if(h[i].c[s-1].range[j]!=0)

printf("学校编号:%d,名次:%d\n",h[i].schoolnum,h[i].c[s-1].range[j]); } //输出该项目取得名次学校的成绩 printf("\n\n\n继续 2,跳出 0\n");

scanf("%d",&i);

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

}while(i==2);

break;

}

}

//把数据存储在文件中

void writedata()

{

//FILE *report;

int i;

if((report=fopen("sportsdata.txt","w"))==null)

{

printf("文件不存在,不能打开文件!\n");

exit(1);

}

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

fwrite(&h[i],sizeof(schoolnode),1,report);

fclose(report);

} //按头结点块写入

15

//读出文件中数据的函数

void readdata()

{

//FILE *report;

int i,j,s;

if((report=fopen("sportsdata.txt","r"))==null)

{

printf("文件不存在,不能打开文件!\n");

exit(1);

}

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

{

//printf("***学校编号:");

fread(&h[i].schoolnum,sizeof(int),1,report); //printf("***学校总分:");

fread(&h[i].score,sizeof(int),1,report);

//printf("%d\n",k);

//printf("***男团总分:");

fread(&h[i].mscore,sizeof(int),1,report);

//printf("%d\n",k);

//printf("***女团总分:");

fread(&h[i].wscore,sizeof(int),1,report);

for(j=0;j<m+w;j++)

{

fread(&h[i].c[j].itemnum,sizeof(int),1,report); fread(&h[i].c[j].top,sizeof(int),1,report); for(s=0;s<5;s++)

{

fread(&h[i].c[j].range[s],sizeof(int),1,report); }

16

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

{

fread(&h[i].c[j].mark[s],sizeof(int),1,report); }

}

}

fclose(report); //关闭文件

} //按照读一个数据就输出一个数据的方式显示数据内容

//主函数

void main()

{

int choice;

do

{

printf("====欢迎使用====\n");

printf("\n\n***运动会分数统计系统***\n");

printf("\n\n***1.输入信息***\n");

printf("***2.输出信息***\n");

printf("***3.查询信息***\n");

printf("***4.退出系统***\n\n\n");

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

printf("***请选择要实现步骤的编号( 请确保已经输入信息! ):\n\n"); scanf("%d",&choice);

if(choice==1)flag1=0;

else if((report=fopen("sportsdata.txt","r"))!=null )flag2=0; else

{

system("cls");

printf("\n\n\n\n系统中无任何信息!\n\n请先输入信息!!\n\n\n\n");

17

}

}while(flag1 && flag2);

switch(choice)

{

case 1:

printf("输入信息:\n");inputinformation();writedata();printf("信息已存入档案!");main();

case 2:

printf("输出信息:\n");

if(flag1)readdata();

output();main();

case 3:

printf("查询信息:\n");

if(flag1)readdata();

inquiry();main();

case 4:

printf("退出系统!谢谢使用!\n\n\n"); exit(0);

default:

printf("输入错误!\n"); exit(0);

}

}

第5章总结

18

说明:

1. 图在上,图的编号在下。 2. 表在下,表的编号在上。

3.从正文开始,加页码。如单面打印,页号居右;如双面打印奇数页居右,偶数页居左。 4. 参考文献规范如下。

5.请将论文和代码的电子稿打包发至 liming3305@163.com,包名为本人的学号和姓名,

如:1042152106丁苇苇

参考文献

[1] 谭浩强著。《C程序设计(第三版)》。北京:清华大学出版社,20xx年 [2] 苏小红著。《C语言大学实用教程》。北京:电子工业出版社,20xx年

图1-1 例1-1的运行结果

课程设计范文

19

课程设计范文

安徽新华学院课程设计成绩评定表

课程设计范文

20

21

相关推荐