计算机网络课程设计校验码的计算
校验码的计算方法

校验码的计算方法一、为什么要设置给原代码设置校验码?代码是数据的重要组成部分,它的正确性将直接影响系统的质量。
当人们抄写、录入时,发生错误的可能性很大,如抄写错(把1234写成1235)、易位错(1234记为1243)、隔位易位错(1234记为1432)等等。
因此,为了验证输入代码的正确性,要在代码本体的基础上,再外加校验码(通常算出后置于补在原代码的最后面),使它成为代码的一个组成部分。
二、补上校验码后系统怎么确认其正确与否?(工作原理)校验码是根据事先规定好的数学方法及代码本体计算出来的。
当计算后的自检码输入系统,系统将按照同样的数学方法,也对代码本体进行计算,将它得出的结果与原来计算出来的校验位比较,检验输入的代码是否正确(只要双方一致就说明是正确的)。
三、校验码的生成过程如下:(计算方法)(1)对代码本体的每一位加权求和设代码本体为C1、C2^Cn,权因子为P1、P2^Pn,加权求和:S=ΣCi Pi。
其中权因子可取自然数1,2,3,…,几何级数2,4,8,16,32,…,质数2,3,5,7,11,…,等等。
(2)以模除和得余数R=Smod(M)其中:R表示余数;M表示模数,可取M=10,11,等等。
(3)模减去余数得校验位四、实例:代码本体为123456,权因子为1,7,3,1,7,3,模为10,则:S=ΣCi Pi=1×1+2×7+3×3+4×1+5×7+6×3=81R=S MOD M=81 mod (10)=1校验位为:J=M–R=10—1=9所以自检码为1234569,其中9为校验位。
(这个实例惟一缺的就是公式的规范性,请用课本p154-155的公式然后才算)关键点:P自然数请反过来从7 ――― 1,得出余数后直接用余数作校验位,不要用模10去减它了。
2、原编码: 5 8 9 6 4 3 7权因子: 7 6 5 4 3 2 1乘积之和:S=35 + 48 +45 +24 +12 +6 +7 = 177R= S MOD M = 177 MOD 10 =7J = M – R=10-7=3原代码加校验码:58964377。
校验码的计算方法

校验码的计算方法
一、校验码的基本概念
校验码作为信息的一部分,用来对数据在传送、存储过程中的完整性进行检查,用于检测出数据正确性,也可用于发现出数据在传输过程中的错误。
它是常用的信息认证技术,其目的是通过用位等方式通过算术或逻辑函数及其他运算,由发送端计算出一个校验码,传输给接收端,由接收端重新计算,与发送端传输的校验码进行比较,从而验证发送和接收的准确性。
二、常用校验码计算方法
1.奇偶校验码:
奇偶校验码是将发送的数据按位进行XOR运算,最终计算出一个校验码。
其计算方法如下:首先令n为要发送的数据的位数,即有n个位,每一位记为d(0),d(1),d(2),……,d(n-1);将它们看成二进制数,将它们相加,即可得出最后的校验码C=
d(0)⊕d(1)⊕d(2)⊕……⊕d(n-1)。
2.CRC校验码:
CRC(全称循环冗余校验码),它是一种比较高效的数据校验技术,其校验效果很好,强度高,可检测出多重错误,用于检测经过网络或外界媒介传输的软件或文件中的错误。
CRC校验码的计算方式如下:首先,将原始数据分成以位为单位的、等长的字节块,每一段连续的字节块称为一个字。
校验码的3种计算方法

校验码的3种计算方法
校验码是一种用于检测数据传输或存储过程中是否出现错误的技术。
以下是三种常见的校验码计算方法:
1. 奇偶校验(Parity Check):奇偶校验是一种简单的校验码计算方法,它通过检查数据的奇偶性来判断数据是否正确。
如果数据的位数为奇数,则在末尾添加一个校验位,该位的值为0或1,取决于数据的最后一位是否为0。
如果数据的位数为偶数,则在末尾添加两个校验位,每个校验位的值都为0或1,取决于数据的最后一位是否为0。
2. 循环冗余校验(CRC):循环冗余校验是一种更复杂的校验码计算方法,它使用多项式除法和生成多项式来计算校验码。
生成多项式是一个固定长度的多项式,通常为2的n次方减1,其中n是数据位数的二进制表示中最高位的位置。
在计算校验码时,将数据与生成多项式进行异或运算,然后将结果取反并加到生成多项式的系数中。
最后得到的结果就是校验码。
3. 海明码(Hamming Code):海明码是一种基于循环冗余校验的纠错码,它可以在接收端检测到传输中的错误并进行纠正。
海明码使用多个校验位来表示数据,每个校验位都是一个独立的多项式。
在发送端,将数据和所有校验位一起发送给接收端。
接收端首先计算出所有校验位的值,然后将这些值与接收到的数据进行比较。
如果发现任何一位不匹配,则说明传输中出现了错误,接收端可以使用已知的纠错规则来纠正错误并重新发送正确的数据。
校验码的计算

校验码的计算
1、试用几何级数法确定原代码为1684的校验位和新代码。
要求以11为模,以27、9、3、1为权。
解:原代码 1 6 8 4
各乘以权 27 9 3 1
乘积之和 27+54+24+4=109
以11为模除乘积之和109/11=9 (10)
因余数是10,所以校验位按0处理
故校验位为0,新代码为16840
2、用质数法设计代码校验位:原代码共7位,从左到右取权3,5,7,13,17,19,23,以11为模,试求出2690088的校验位?如果让“11”既作模,又作权,会存在什么缺陷(可以举例说明)?解:校验位的计算:
原码: 2 6 9 0 0 8 8
权: 3 5 7 13 17 19 23
乘积: 6 30 63 0 0 152 18
4
435
乘积之
和:
模11结果435/11=39 (6)
校验位: 6
新码:26900886
(2)如果“11”既作模,又作权,那么当该位发生错误时,校验位将无法检测到这位发生错误。
如:不妨将权13改为11(左边第四位权),原代码是2690088,其校验位仍为6,新码是26900886;在输入或传输过程中发生错误:第四位由0变为9(或其它任意数字1-9),即输入“26990886”此时的校检位6将无法检测到已发生的错误!因为2X3+6X5+9X7+9X11+0X17+8X19+8X23=435+9X11=534模11后所得余数仍为6,计算机会认为:“26900886”输成“26990886”没有发生错误!。
计算ip校验和课程设计

计算ip校验和课程设计一、课程目标知识目标:1. 学生能理解IP校验和的概念,掌握其基本计算方法;2. 学生能了解IP校验和在网络通信中的作用及其重要性;3. 学生掌握计算机网络基础知识和IP地址的基本概念。
技能目标:1. 学生能运用所学知识,独立完成IP校验和的计算;2. 学生能通过实际案例分析,发现并解决IP校验和计算过程中的问题;3. 学生能运用所学知识,解释网络通信中IP校验和的作用。
情感态度价值观目标:1. 培养学生对计算机网络知识的兴趣,提高学习积极性;2. 培养学生严谨、细心的学习态度,提高问题解决能力;3. 增强学生的团队协作意识,提高沟通能力。
课程性质:本课程为计算机网络基础知识的应用课程,旨在让学生掌握IP校验和的计算方法,理解其在网络通信中的作用。
学生特点:学生已具备一定的计算机网络基础,具有一定的逻辑思维能力和问题解决能力。
教学要求:结合学生特点,以实际案例为引导,注重理论与实践相结合,培养学生的实际操作能力和问题解决能力。
通过分解课程目标,使学生在掌握知识的同时,提高技能和情感态度价值观。
后续教学设计和评估将以此为基础,确保课程目标的实现。
二、教学内容1. 引言:回顾计算机网络基础知识,介绍IP校验和在网络通信中的重要性。
2. IP校验和概念:讲解IP校验和的定义、作用及其计算原理。
- 教材章节:第三章 计算机网络基础,第五节 网络层协议。
3. IP校验和计算方法:- 步骤分解:将IP数据报文分为多个16位的段,对每个段进行求和,然后取反码得到校验和;- 实例演示:通过具体案例分析,展示IP校验和的计算过程。
- 教材章节:第三章 计算机网络基础,第五节 网络层协议。
4. IP校验和实际应用:- 分析网络通信中IP校验和的作用,如数据完整性验证、错误检测等;- 举例说明IP校验和在实际通信中的应用场景。
5. 课堂实践:- 安排学生进行IP校验和的计算实践,巩固所学知识;- 引导学生通过分组讨论、互相检查,提高问题解决能力。
《计算机网络》实验指导书

《计算机网络》实验指导书信息科学与工程学院目录实验1:校验码设计 (2)实验2:零比特插入 (4)实验3:Winsock编程 (6)实验4:CRC循环冗余校验 (9)实验5:计算机网络连接设备制作 (11)实验6:IP协议实验 (13)实验7:TCP/UDP协议 (15)实验8:ARQ协议的实现 (17)实验9:以太网的组建 (27)实验10:虚拟局域网实践 (29)实验11:FTP服务配置 (33)实验12:DNS服务配置 (36)实验13:DHCP服务配置 (41)实验14:常用网络命令 (46)实验15:根据最小路由算法编程并测试 (50)实验16:利用TCP/IP套接字接口编程实现串口通讯 (52)实验1:校验码设计实验目的:了解差错检测原理,掌握CRC循环冗余校验原理及方法实验要求:编程写程序,实现CRC循环冗余校验实验原理:现实的通信链路不会是理想的,因此比特在传输过程中可能产生差错,传输错误的比特占所传输比特的总数的比率称误码率。
为了保证数据传输的可靠性,在计算机网络传输数据时,采用各种差错检测措施,在数据链路层广泛使用循环冗余(CRC)技术。
CRC检错技术:在发送端,设待传送数据M=101001(共k比特,这里k=6)。
在从后添加供差错检验用的n比较冗余码(共发送k+n比特)。
n比特冗余码由以下方法得出:先用二进制模2运算进行2n乘以M的运算,这相当于在从M后添n个0,得到(k+n)bit的数据除以收发双方事先商定的长度为(n+1)bit的除数P,得出商是Q而余数是R(n bit).例如:设n=3,除数P=1101,经模2除法运算,得结果:商Q=110101,余数R=001(n bit).将余数R添加到数据M后面发送出去,则发送数据为:101001001共(k+n)bit.算法:1101110101 101001000 1101111011011110110111001101001得出:发送数据:101001001除数:1101冗余:001在接收端对接收到的帧进行CRC检验,把接收到的帧除以同样的P(模2运算)得出余数R,如果数据在传输过程中没有差错,得出的余数应为0。
CRC校验码计算过程
CRC校验码计算过程CRC(Cyclic Redundancy Check)校验码是一种常用的数据校验方法,它通过计算数据的校验码来检测和纠正数据传输过程中可能发生的错误。
1.待校验数据的表示方式:首先需要将待校验数据转换为二进制形式。
例如,如果待校验数据是一个ASCII字符串,就需要将每个字符转换为对应的ASCII码,然后将每个ASCII码转换为8位的二进制数。
如果待校验数据本身就是一个二进制数,则无需进行转换。
2.生成多项式的选择:选择一个合适的生成多项式,用于生成校验码。
生成多项式通常用一个二进制数表示,最高位必须为1,且低位几个1的个数越多,校验能力越强。
3.将待校验数据与一个特定的预设值(称为校验值或者初始值)相异或:校验值通常是一个全为0的数,它的位数与生成多项式的位数相同。
4.将异或后的结果和生成多项式进行除法运算:从结果的最高位开始,依次进行除法运算。
如果当前位是1,就用生成多项式异或当前位对应位置的数据;如果当前位是0,就直接进行异或运算。
重复这个运算,直到遍历完所有位。
5.获取校验码:将除法运算的结果作为校验码。
6.将校验码追加到原数据后面,形成最终的发送数据。
接收端收到数据后,需要进行校验。
校验的步骤如下:1.将接收到的原始数据和校验码分离。
2.用同样的生成多项式对原始数据进行除法运算,得到一个余数。
3.如果余数为0,则表示数据传输没有错误;如果余数不为0,则表示数据传输过程中发生了错误。
4.通过比较接收到的校验码和计算得到的余数,可以确定是否有错误发生。
如果两者相等,则数据传输没有错误;如果两者不相等,则数据传输过程中发生了错误。
需要注意的是,CRC校验码能够检测错误,但无法纠正错误。
如果发现数据传输中存在错误,需要重发数据。
crc校验码计算
crc校验码计算
CRC校验码(Cyclic Redundancy Check,即循环冗余校验)是一
种数据传输中用来检查错误的技术,可以把多余的数据发送到接收到
的机器,并将期望的结果通过校验码进行比较,以检查在传输过程中
是否出现错误。
要计算CRC,首先需要将数据分割成一系列字节,然后用这些字节填充一个n位的CRC字段,n的大小取决于想要获取的校验码的精确度。
接下来,需要使用一些特定的位并将每个字节与位进行异或操作,以
计算出校验码。
其实,CRC校验码计算过程并不复杂,基本操作可以分成三步:
(1)将一个信息帧中的所有字节按一定的次序排列;
(2)以某一特定的模数,将这些字节与一个特定的多项式进行运算;
(3)把结果值放入CRC校验码字段,该值用于表示这一帧中任何
字节出现错误的几率是多少。
有了这样的计算表达式,对于一个给定的数据流,按上面的步骤,经过一些固定的运算,就能计算出一个CRC校验码。
而当接收方收到
数据后,也可以按同样的计算过程,计算出一个收到的CRC校验码。
接收方只需比较接收到的CRC校验码与计算出来的CRC校验码是否一致,就能判断数据是否发送过程中出现错误。
当然,CRC校验码有其自身的特点,它能够检查给定数据中比原数据本身更多的数据,可以检测比1位误码更多的多位误码,具有比校
验和的可靠性更高的优点。
C1 CRC12计算机网络课设
计算机通信网络课程设计C1 CRC-12 校验通信软件设计所在学院:信息科学与工程学院专业班级:通信工程学生姓名:学生学号:指导教师:时间: 2015年9月20引言:循环冗余码 CRC 检验技术广泛应用于测控及通信领域,CRC 计算可以靠专用的硬件来实现,但是对于低成本的微控制器系统,在没有硬件支持下实现CRC 检验,关键的问题就是如何通过软件来完成CRC 计算,也就是CRC 算法的问题。
CRC 码是数据通信领域中最常用的一种差错检验码,其特征是信息字段和校验字段的长度可以任意选定。
实验设计要求:C1.CRC-12 校验通信软件设计环境要求:Windows/XP/7;C ;信息交换内容为键盘输入的字符串;通信传输通过共享文件实现编码要求:用模2 除法计算CRC 码,生成多项式为CRC-12功能要求:能在两台计算机机上运行程序,一台产生CRC 码,另一台校验。
课程设计目标:用C 语言设计课程程序,完成用模2出发计算CRC 码的CRC 校验软件设计,1.掌握CRC 码的计算方法;2.掌握用C 语言计算CRC 码的算法;3.熟练并掌握C 语言在通信网络中的编程实现方式及功能。
CRC 简介CRC 校验的基本思想是利用线性编码理论,在发送端根据要传送的 k 位二进制码序 列,以一定的规则产生一个校验用的监督码(既 CRC 码)r 位,并附在信息后边,构成 一个新的二进制码序列数共(k+r)位,最后发送出去。
在接收端,则根据信息码和 CRC 码之间所遵循的规则进行检验,以确定传送中是否出错。
12位的 CRC 码产生的规则是先将要发送的二进制序列数左移 12 位(既乘以122 )后,再除以一个多项式,最后所得到的余数既是 CRC 码,如式(2-1)式所示,其中 B(X)表示 n 位的二进制序列数,G(X)为多项式,Q(X)为整数,R(X)是余数(既 CRC 码)。
)()()()(2)(12x G x R x Q x G x B +=⋅ (2-1) 求CRC 码所采用模 2 加减运算法则,既是不带进位和借位的按位加减,这种加减运算实际上就是逻辑上的异或运算,加法和减法等价,乘法和除法运算与普通代数式的乘除法运算是一样,符合同样的规律。
计算机网络课程设计(第二章)计算校验和(完整程序代码+操作步骤)
计算机网络课程设计——机械工业出版社第二章:计算校验和➢完整程序:#include<stdio.h>#include<stdlib.h>void main(int argc,char *argv[]){FILE *fp;char ch;unsigned char chr1,chrh;unsigned int count=0,checksum=0,chr=0;unsigned long sum=0;if(argc!=2){printf("please input command:ChechSum input_file");return;}if((fp=fopen(argv[1],"r"))==NULL){printf("file cannot be opened!");return;}printf("Output Type:data--sum\n");while(1){if((ch=fgetc(fp))!=EOF){count++;if(ch!=' '){if(ch>='0'&&ch<='9')ch-='0';else{if(ch>='a'&&ch<='f')ch=ch-'a'+10;else{if(ch>='A'&&ch<='F')ch=ch-'A'+10;}}if(count%2==1)chrh=ch<<4;else{chr1=ch&0x0f;chr=chrh|chr1;if(count%4==2)sum+=chr<<8;else{if(count%4==0)sum+=chr;}printf("%x--%1x ",chr,sum);}}elsecount--;}else break;}if(sum>>16)checksum=~(long(sum>>16)+long(sum&0x0000ffff));checksum=checksum&0x0000ffff;printf("\nCheckSum: %x",checksum);fclose(fp);}➢执行方法:在程序创建的目录下的Debug下创建文本文档,点击开始运行,输入cmd弹出命令提示窗口下输入程序的位置(如下)标题:222.txt内容:0001f203f4f5f6f7➢结果:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆师范大学计算机网络课程设计课程名:计算校验和院系:计算机科学与技术专业:计算机科学与技术(师范)姓名:罗鹏学号:20090512145指导教师:余磊完成时间:2011年12月18日课程设计名称:计算校验和一.程设计目的: (2)二.设计要求 (3)三.设计分析(流程图、模块功能) (3)1.数据的输入方式 (3)2.校验和的计算及代码 (3)四.结果(截图): (8)五.设计总结 (8)一.程设计目的:网络上的信号最终都是通过物理传输线路进行传输的,如果高层没有采用差错控制,那么物理层传输的数据信号是可能有差错的。
为了保证数据的正确性,在物理层的基础上设计了数据链路层。
设计数据链路层的主要作用就是在原始的、有差错的物理传输线路的基础上,采用差错检测、差错控制与流量控制等方法,将有差错的物理线路改进成逻辑上无差错的数据链路,以向网络层提供高质量的服务。
本课程设计主要通过一个简单例子使学生了解网络协议中校验和的计算过程,以及设置校验和的作用。
目前,进行差错检测和差错控制的主要方法是:在需要传输ude数据分组后面加上一定的冗余信息,这样的冗余信息通常都是通过对所发送的数据应用某种算法进行计算而得到的。
数据的接收方在接收到数据后进行同样的计算再与收到的冗余信息进行比较,如果结果不同就说明出现了差错,此时可以要求发送方重传该组数据,以此达到保证数据准确性的目的。
在普遍使用的网络协议中都设置了校验和项以保存这些冗余信息,例如Ipv4、ICMPv4、IGMPV4、UDP和TCP等等二.设计要求根据前面介绍的算法,编制程序为给定数据计算校验和。
(1)建立合法的ip数据文件。
(2)输出:数据文件的校验和。
三.设计分析(流程图、模块功能)校验和的计算主要分三个步骤:数据文件的输入,校验和的计算和校验结果的输出,主要的是数据的输入和校验和的计算过程。
1.数据的输入方式:数据源是以文档的的形式提供,文档中是一些十进制的数字。
使用C++编程时直接打开输入文件。
ifstream in("aaa.txt");//打开外部的aaa.txt文档(ip数据报文)文档如:2.校验和的计算及代码校验和的算法是本程序的核心算法,这里我采用的是一种最为简单的算法,算法的主要思想如下:(1).将所得的十进制文件转换为二进制编码(2).将所得的二进制编码重新按照所求从低到高的顺序排列(3).对二进制编码分为十组,再转换为十进制并求和。
(4)对所求的和再转换为二进制并求反码。
具体的代码及解释如下:#include"iostream"#include"fstream"#include"sstream"#include<stdio.h>#include<stdlib.h>#include<math.h>//#include"vector"using namespace std;void xiaoyanmahe(int b[10]) //效验码函数{int x=0,c[1000],g[1000];for(int i=0;i<16;i++){c[x++]=b[10]%2;b[10]/=2;}--x;cout<<"转换为二进制:";while(x>=0)cout<<c[x--];cout<<endl<<" "<<"取反码:";for(int j=0;j<16;j++){if(c[j]==0)g[j]=1;if(c[j]==1)g[j]=0;}j--;while(j>=0)cout<<g[j--];}void erzhuanshi(int f[]) //二进制转换为十进制求和{int b[10],j=0;b[10]=0;for(int k=0;k<10;k++){j=k*16;b[k]=f[j]*pow(2,(j-16*k))+f[j+1]*pow(2,(j+1-16*k))+f[j+2]*pow(2,(j+2-16*k))+ f[j+3]*pow(2,(j+3-16*k))+f[j+4]*pow(2,(j+4-16*k))+f[j+5]*pow(2,(j+5-16*k))+f[j+6]*pow(2,(j+6-16*k))+f[j+7]*pow(2,(j+7-16*k)) +f[j+8]*pow(2,(j+8-16*k))+f[j+9]*pow(2,(j+9-16*k))+f[j+10]*pow(2,(j+10-16*k))+f[j+11]*pow(2,(j+11-16*k))+f[j+12]*pow(2,(j+12-1 6*k))+f[j+13]*pow(2,(j+13-16*k))+f[j+14]*pow(2,(j+14-16*k))+f[j+15]*pow(2,(j+15-16*k));//cout<<b[k]<<" ";b[10]+=b[k];}cout<<endl<<"所求的效验和和十进制表示为:"<<b[10]<<endl;xiaoyanmahe( b);//校验码函数}void main() //主函数{int x=0,i=0,j=-1,c[1000],d[1000],f[1000];int n[]={4,4,8,16,16,4,12,8,8,16,8,8,8,8,8,8,8,8};//定义每个ip数据报所占的位数cout<<"************"<<" "<<"************"<<endl<<" "<<"小罗制作"<<endl<<"************"<<" "<<"************"<<endl<<endl;ifstream in("aaa.txt");//打开外部的aaa.txt文档(ip数据报文)for(int a;in>>a;){//cout<<"yuanwendangdeshu "<<a<<" ";//i++;//cout<<"dang qian de i="<<i<<endl;j+=n[i];for(int b=0;b<n[i];b++) //将数据报文转换为二进制和改变二进制的排列{//j+=n[i];c[x]=a%2;d[j]=c[x];x++;j--;a/=2;}j+=n[i];i++;}--x;cout<<"原来所得的二进制:"<<endl;while(x>=0)cout<<c[x--];cout<<endl<<"校正位置后的二进制编码低到高:"<<endl;int p=159;for(int e=0;e<160;e++)//将二进制的首尾一次交换放入另一个数组,便于后面的计算{f[p]=d[e];cout<<d[e];p--;}cout<<endl;erzhuanshi(f);//二进制转换为十进制求和}图4-2给出了一个相关扩展的流程图。
四.结果(截图):所输入数据为课本176页4-13的ip数据报文。
五.设计总结本次计算机网络课程设计维持了一周的时间,通过这次的课程设计,使我对网络协议中校验和的设置与计算有了很好的理解与掌握,拓宽了我网络方面的知识,同时也加强了我程序设计的能力,不得不说这次的课程设计让我收获很大。
本次课程设计主要是完成校验和的计算,由于之前对这方面的知识了解不是很多,所以在课设刚开始的我们都不知道从何入手,随后我结合老师发给我们的资料对校验和做了进一步的了解,才对校验和的知识有了一定的掌握,并且知道了设置校验和的作用。
计算校验和的算法其实就是把被校验的数据按16位进行累加,然后取反码。
若数据字节长度为奇数,则在数据尾部补一个字节的0以凑成偶数。
有了思路,程序的设计就变得容易许多,加上一些关键代码的提示,很快我就把整个程序的基本代码都完成了。
当然在调试的过程中还是出现了一点问题,不过在老师和同学的耐心帮助下最后我还是把程序给调试出来了。
一周的课程设计使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助过我的同学。
同时,让我知道课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。
通过这次课程设计使我明白了自己原来知识还比较欠缺。
自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。
通过这次课程设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。
在整个设计中我懂得了许多东西,也培养了我独立学习工作的能力,树立了对自己学习工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。
而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。
虽然这个设计做的并不是最好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。
最后,我的这个程序中间是有漏洞,在debug文件中单独打开会报错误,但是将源程序运行又可以,对于这点我感到抱歉,如广大亲们找到解决的方法和我联系,qq:873893558.谢谢。