湖南大学实验报告
- 格式:doc
- 大小:320.50 KB
- 文档页数:16
实验4 多重序列比对及系统发生树的构建1基本信息:姓名:程瑶学号:201378020205班级:医学1301 实验日期:2016-05-032实验目的和要求:1)掌握使用Clustalx进行序列多重比对的操作方法;2)熟悉构建分子系统发生树的基本过程,掌握使用MEGA软件构建系统发生树的操作方法;3)进一步熟练BLAST的使用3实验仪器、设备与材料:计算机(联网)4实验原理:在现代分子进化研究中,根据现有生物基因或物种多样性来重建生物的进化史是一个非常重要的问题。
一个可靠的系统发生的推断,将揭示出有关生物进化过程的顺序,有助于我们了解生物进化的历史和进化机制。
对于一个完整的进化树分析需要以下几个步骤:⑴要对所分析的多条目标序列进行比对;⑵要构建一个进化树(phyligenetic tree);⑶对进化树进行评估。
在实际应用中,多序列比对常用的软件包括ClustalW/X, MUSCLE, MAFFT等,三者的准确性相当,但计算时间依次减少;进化树构建常用的软件包括PHYLIP(软件包,包括多种建树方法),MEGA,MrBayes,Phyml等等。
从用户友好性和功能上来说,MEGA是目前用得最多的进化树构建和分析软件。
本课程将学习如何使用ClustalX和MEGA分别做多序列比对和进化树构建。
5实验步骤:1)使用CLUSTALX软件对已知八条DNA序列(如下)进行多重序列比对;M._mulatta AGCTTTCT GGCGCAACCA TCCTATGAT TGCTCACGGA CTCACCTCTTM._fascicu AAGCTTCTCC GGCGCAACCA CCTATAAT CGCCCGGG CTCACCTCTTM._sylvanu AAGCTTCTCC GGTGCAACTA TCCTAGT TGCCATGGA CTCACCTCTTHomo_sapie AATTCACC GGCGCAGTCA TTCATAAT CGCCCACGGG CTTACATCCTGorilla AATTCACC GGCGCAGTTG TTCTTATAAT TGCCCACGGA CTTACATCATPongo AATCACC GGCGCAACCA CCCTCATGAT TGCCATGGA CTCACATCCTSaimiri_sc AAGCTTCC GGCGCAATGA TCCTAATAAT CGCTCACGGG TTTACTTCGTLemur_catt AAGCTTTA GGAGCAACCA TTCTAATAAT CGCACATGGC CTTACATCAT2)使用MEGA软件构建上述DNA分子系统发生树。
实验二三态门,OC门的设计与仿真一、实验目的熟悉三态门、OC门的原理,用逻辑图和VHDL语言设计三态门、OC门,并仿真。
二、实验内容1.用逻辑图和VHDL语言设计三态门,三态门的使能端对低电平有效。
2.用逻辑图和VHDL语言设计一个OC门(集电极开路门)。
三、实验原理1.三态门,又名三态缓冲器(Tri-State Buffer)用途:用在总线传输上,有效而又灵活地控制多组数据在总线上通行,起着交通信号灯的作用。
功能:三态逻辑输出三种不同的状态,其中两种状态常见的逻辑1和逻辑0,第三个状态高阻值,称为高阻态,用Hi-Z或者Z或z表示三态缓冲器比普通缓冲器多了一个使能输入EN,即连接到缓冲器符号底部的信号。
从真值表可以看出,如果是EN=1.则OUT等于IN,就像普通缓冲器一样。
但是当EN=0时,无论输入的值什么,输出结果为高阻态(Hi-Z)。
逻辑图真值表EN A OUT0 0 Hi-Z0 1 Hi-Z1 0 01 1 1波形图2.OC门,又名集电极开路门(opndrn)用途:集电极开路门(OC门)是一种用途广泛的门电路。
典型应用是可以实现线与的功能。
逻辑图真值表A B0 01 Hi-Z波形图四、实验方法与步骤实验方法:采用基于FPGA进行数字逻辑电路设计的方法。
采用的软件工具是QuartusII软件仿真平台,采用的硬件平台是Altera EPF10K20TI144_4的FPGA试验箱。
实验步骤:1、编写源代码。
打开QuartusⅡ软件平台,点击File中得New建立一个文件。
编写的文件名与实体名一致,点击File/Save as以“.vhd”为扩展名存盘文件。
VHDL 设计源代码如下:三态门:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY tri_s ISPORT (enable,datain:IN STD_LOGIC;dataout:OUT STD_LOGIC);END tri_s;ARCHITECTURE bhv OF tri_s ISBEGINPROCESS (enable,datain)BEGINIF enable='1' THEN dataout<=datain;ELSE dataout<='Z';END IF;END PROCESS;END bhv;OC门:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY oc ISPORT(datain:IN STD_LOGIC;dataout:OUT STD_LOGIC);END oc;ARCHITECTURE bhv OF oc ISBEGINPROCESS (datain)BEGINIF (datain='0') THEN dataout<='0';ELSE dataout<='Z';END IF;END PROCESS;END bhv;2、按照实验箱上FPGA的芯片名更改编程芯片的设置。
课程实验报告课程名称:电子实验实验项目名称:晶体管两极放大器专业班级:物联1301班姓名:学号:晶体管两极放大器一、实验目的:1、掌握两级阻容放大器的静态分析和动态分析方法。
2、加深理解放大电路各项性能指标。
二、实验仪器和元器件:1、双踪示波器2、万用表3、信号发生器三、实验原理:实验电路图:(a )1、阻容耦合因有隔直作用,故各级静态工作点互相独立,只要按实验五分析方法,一级一级地计算就可以了。
2、两级放大电路的动态分析 1)中频电压放大倍数的估算Au = A1 * A2 单管基本共射电路电压放大倍数的公式如下: 单管共射要特别注意的是,公式中的不仅是本级电路输出端的等效电阻,还应包含下级电路等效至输入端的电阻,即前一级输出端往后看总的等效电阻。
2)输入电阻的估算两级放大电路的输入电阻一般来说就是输入级电路的输入电阻,即: Ri ≈Ri1 3)输出电阻的估算两级放大电路的输出电阻一般来说就是输出级电路的输出电阻,即: Ro ≈Ro2 3、两级放大电路的频率响应 1)幅频特性已知两级放大电路总的电压放大倍数是各级放大电路放大倍数的乘积,则其对数幅频特性便是各级对数幅频特性之和,即:||lg 20||lg 20||lg 2021μμμA A A+=2)相频特性两级放大电路总的相位为各级放大电路相位移之和,即四、实验内容:a. 测量静态工作点1、实验原理图中,跳线J3、J5、J8、J9连接,J4、J6、J7、J10断开。
2、输入正弦信号Ui ,测量第一级静态工作点。
然后关闭信号发生器,使Ui 为0,调节RW2电位器使第二级的IC2=1.0mA (即UR7=3V ),用万用表分别测量第一级、第二级的静态工作点,记入表格中。
Re=1.073k Ω Rc 均=3k Ω Vpp=72mV Vcc=12V f=1kHz I C= V E/Reb. 测试两级放大器的各项性能指标 1、关闭系统电源,连接信号源与Vi 。
实验1 DNA Blast(利用DNA数据库上提供的Blast功能)1基本信息:姓名:程瑶学号:201378020205班级:医学1301 实验日期:2016-04-192实验目的和要求:1)掌握BLAST的原理;2)了解如何利用Genbank数据库中提供的Blast功能完成同源性检索3实验仪器、设备与材料:计算机(联网)4实验原理:BLAST是一个NCBI开发的序列相似搜索程序,还可作为鉴别基因和遗传特点的手段。
BLAST能够在小于15秒的时间内对整个DNA数据库执行序列搜索。
BLAST(Basic local alignment search tool),中文意思为基本的基于局部对准的搜索工具,是一种快速查找与靶序列具有连续相同片段的序列的技术。
5实验步骤:1)进入NCBI主页(/),点击BLAST按钮,进入了BLAST HOME界面。
A、选择blastn,在Enter Query Sequence 输入FASTA格式的序列,以枯草芽孢杆菌的葡萄糖-1-脱氢酶为例。
在choose search set栏中的Database中选择“others”,注意此处的program selection选择Highly similar sequences (megablast),再点击“BLAST”按钮,需要一定的反应时间,结果可以看到有很多非常相似的序列,打开匹配度较高的序列,查看来源、功能等。
改变下面几个参数(每次只能变化一个参数),看输出结果中打分最高的10条序列是否会发生变;B:进入blastp,在Enter Query Sequence 输入FASTA格式的序列。
在choose search set栏中的Database中选择“others”,注意此处的program selection选择Highlysimilar sequences (megablast),再点击“BLAST”按钮,需要一定的反应时间,结果可以看到有很多非常相似的序列,打开匹配度较高的序列,查看来源、功能等。
实验报告工程材料液态成型实验报告学院:土木工程学院 专业: 姓名: 学号: 实验时间:一、实验目的和要求1.了解铸造工艺的基本过程。
2.通过具体的熔炼浇注工艺,了解基本概念,工艺特点,以用在日常生活中的具体应用。
3.了解一种金属材料(A356铝合金)的熔炼基本工序。
二、实验原理铸造过程是指将金属置于熔炼炉内的坩埚中, 加热熔炼成符合一定要求的液体并浇铸到锭模或铸模中,经冷却凝固, 液态金属转变成固态金属, 清整处理后获得一定形状、尺寸的铸件或铸件的工艺过程。
铸造工艺可分为三个基本部分,即铸造金属准备、铸型准备和铸件处理。
铸造种类很多,按造型方法习惯上分为:①普通砂型铸造, ②特种铸造. 根据熔制合金的实际重量W ,计算各元素的需要量AA =100W×Q三、仪器设备实验所用设备包括:加热熔炼炉, 熔炼用金属, 坩埚, 熔炼工具,模具四、实验内容及实验数据记录1.了解铸造的基本设备并熟悉其基本操作答:1.压块机:用以将铸造用物料压块的设备。
物料压块后便于储运及减少回收再利用过程中运输、冶炼的损耗。
2.混砂机:用于混制型砂或芯砂的铸造设备。
混砂机一般具有下列功能:将旧砂﹑新砂﹑型砂黏结剂和辅料混合均匀。
3.落砂机:利用振动和冲击使铸型中的型砂和铸件分离的铸造设备。
落砂机的振动源分为机械﹑电磁和气动。
4.抛丸机:利用抛丸器抛出的高速弹丸清理或强化铸件表面的铸造设备。
抛丸机能同时对铸件进行落砂﹑除芯和清理。
5.造芯机:用于制造型芯的铸造设备。
根据制芯时实砂方法的不同,造芯机可分为震击式制芯机﹑挤芯机和射芯机等。
6.造型机:用于制造砂型的铸造设备。
它的主要功能是:填砂,将松散的型砂填入砂箱中,紧实型砂。
7.浇注机:为将液态金属引入铸型型腔而在铸型内开设的信道。
包括:浇口杯,直浇道,横浇道,内浇道。
2、配料熔炼A356铝合金20Kg,A356化学成分: Si 6.5~7.5%,Mg0.20~0.40%;铝为余量,计算各元素Al,Mg,Si的需要量。
课程名称:电子实验实验项目名称:差动放大电路专业班级:物联1301班姓名:学号:晶体管两极放大器一、实验目的:1. 掌握基本差动放大器的工作原理、工作点的调试和主要性能指标的测试。
2. 熟悉恒流源差动放大器的工作原理及主要性能指标的测试。
二、实验仪器和元器件:1、双踪示波器2、万用表3、信号发生器4、模拟电路试验箱三、实验原理:实验电路图:(a)1.静态工作点的估算典型电路2.恒流源电路3.差模电压放大倍数和共模电压放大倍数当差动放大器的射极电阻RE足够大,或采用恒流源电路时,差模电压放大倍数Aud由输出端方式决定,而与输入方式无关。
双端输出:RE=∞,RP在中心位置时,单端输出:当输入共模信号时,若为单端输出,则有:若为双端输出,在理想情况下:实际上由于元件不可能完全对称,因此Auc也不会绝对等于零。
4.共模抑制比KCMR为了表征差动放大器对有用信号(差模信号)的放大作用和对共模信号的抑制能力,通常用一个综合指标来衡量,即共模抑制比差动放大器的输入信号可采用直流信号也可采用交流信号。
四、实验内容及结果:1.测量静态工作点(J1断,J2开)(1)调节放大器零点接通±12V直流电源,在Vi1和Vi2同时接地的情况下,用万用表测量Uo1和Uo2之间的电压Uo,调节调零电位器RW1,使Uo=0,即Uo1= Uo2。
(2)测量静态工作点零点调好以后,用万用表测量T1、T2管各极电位,并计算IC(mA)、IB(mA)、UCE(V),记入表格中。
并与理论值进行比较。
数据记录:Re=0.483KΩ测量值UC1(V) UB1(V) UE1(V) UC2(V) UB2(V) UE2(V) URE(V)6.42 -0.04 -0.63 6.41 -0.04 -0.63 0计算值IC(mA) IB(mA) UCE(V)1.304 0 7.05分析与结论:由测得的数据知,T1管和T2管在输入共地的时候的C、B、E级的参数一致,且UB=0与理论值相等。
实验3 核酸序列分析1基本信息:姓名:程瑶学号:201378020205班级:医学1301 实验日期:2016-04-262实验目的和要求:1)掌握已知或未知序列接受号的核酸序列检索的基本步骤;2)掌握如何获取某个基因的序列,结构和功能信息;3)掌握使用BioEdit软件进行核酸序列的基本分析3实验仪器、设备与材料:计算机(联网)4实验原理:基因是具有遗传效应的DNA片段,其结构包括调控区域与编码区。
前者又包括转录调控和翻译调控,后者包括外显子与内含子。
5实验步骤:1 进入NCBI官方网站/,在Search处选择Gene数据库,在输入框输入”homo sapiens leptin”,查找人leptin的基因(提示:ID:3952),点击进入该基因;2 了解该页面包括哪些方面的信息;特别关注以下信息:基因名字,物种,功能描述,在基因组的位置,基因结构等A:3 在“Genomic regions, transcripts, and products"部分,点击GenBank进入对于该基因的编码结构的描述,查看其以下信息:1)该基因编码的mRNA有多少?各个mRNA之间是否有差异?A:2个。
a : 1-105 ; 10790-10961 ; 13206-16427 ;product="leptin, transcript variant X1"(瘦素,转录变异体X1)b:77-105 ; 10790-10961 ; 13203-16428 ;product="leptin"(瘦素)2)该基因的CDS有多少?CDS之间是否有差异?A:2个。
a: 10818-10961 ; 13203-13562 ;product="leptin precursor"(瘦素前体);c: 10818-10961 ; 13206-13562 ;product="leptin isoform X1"(瘦素蛋白 X1)3)下载所有的mRNA与CDS的FASTA格式的序列A:略4)下载该基因的FASTA格式的序列A:略4 分别比较leptin的mRNA序列与其外显子序列,mRNA序列与基因序列,以及外显子与基因序列。
实验四Verilog基础与modelsim仿真平台一、实验目的1、掌握Verilog语法;2、掌握数字电路的仿真验证方法;2、掌握数字电路仿真平台Modelsim;二、实验内容及要求1、分别使用always语句和assign语句描述与、或、非电路并测试;2、描述检测序列“11001101”的电路并测试。
三、实验原理1. 与门与门是实现逻辑“乘”运算的电路,有两个以上输入端,一个输出端。
只有当所有输入端都是高电平(逻辑“1”)时,该电路输出才是高电平(逻辑“1”),否则输出为低电平(逻辑“0”)。
其二输入与门的数学逻辑表达式:Y = AB2. 或门或门是实现逻辑加的电路,又称逻辑和电路,简称或门。
此电路有两个以上输入端,一个输出端。
只要有一个或几个输入端是“1”,或门的输出即为“1”。
而只有所有输入端为“0”时,输出才为“0”。
或门的数学逻辑表达式为:Y=A+B3. 非门实现逻辑代数非的功能,即输出始终和输入保持相反。
当输入端为高电平(逻辑“1”)时,输出端为低电平(逻辑“0”);反之,当输入端为低电平(逻辑“0”)时,输出端则为高电平(逻辑“1”)。
非门的数学逻辑表达式为:F=A’4. 序列检测器序列检测器是可用来检测一组或多组由二进制编码组成的脉冲序列信号。
当序列检测器连续收到一组穿行的二进制代码后如果这组码与序列检测器中预先设置的码相同则输出为1,否则输出为0。
由于这种检测的关键在于正确码收到必须是连续的这就要求检测器必须记住当前一次的真确码及正确序列,直到连续的检测中所收到的每一位码都与预先设置的数的对应码相同。
在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
四、实验方法与步骤实验方法:硬件:联想Y50计算机软件:操作系统:windows 7应用软件:Modelsim实验步骤:1、打开Modelsim软件,点击File->New->Project,新建一工程。
2、在Create Project对话框中输入工程名、工程路径以及缺省库名(一般库名work不用改)。
湖南大学毕业实习报告湖南大学毕业实习报告对于任何一位大学生来说,毕业实习是一个很关键的学习内容,也是一个很好的锻炼机会。
实习也是我们毕业前的一次综合性实习。
为帮助大家学习方便,收集整理了湖南大学毕业实习报告5篇,希望可以帮助您,欢迎借鉴学习!湖南大学毕业实习报告1时间飞逝,还有半年就要告别大学生活了,即将踏入社会。
我们知道随着中国在国际贸易中地位的不断上升,以及在我国加入世界贸易组织和全球化进一步发展的新形势下,对于我们国贸专业的学生们来说,或对于作为将来从事国际贸易方面业务的我们来说,去外贸公司实习对我们来说非常重要。
这次我有了一个很好的机会就是去外贸公司进行实习。
短短的实习期已经结束,静下心来回想这次实习真是感受颇深。
我们知道实习是大学教育中一个极为重要的实践性环节,通过实习,可以使我们在实践中接触与本专业相关的一些实际工作,培养和锻炼我们综合运用所学的基础理论、基本技能和专业知识,去独立分析和解决实际问题的能力,把理论和实践结合起来,提高我们的实际动手能力,为将来我们毕业后走上工作岗位打下一定的基础。
通过这段时间的学习,从无知到认知,到深入了解,渐渐地我喜欢上这个专业,让我深刻的体会到学习的过程是最美的,在整个实习过程中,我每天都有很多的新的体会,新的想法。
回顾我的实习生活,感触是很深的,收获也是丰硕的。
这次的实习,主要是与非洲、中东、印度等地方的外国商人做生意,他们在我公司下订单,我们再把订单下到厂里,从中赚取差额。
这次的实习经历我对外贸这个专业有了更加理性的认识和更深刻的体会。
通过这次的实习,我由第一天的拘谨,对什么事情都充满着好奇,转而逐渐适应了这样的生活,做事情按部就班,循序渐进。
这次的实习,让我懂得了许多,知道了许多,大学文凭其实只是一块敲门砖。
进入工作单位后,大家都是从头开始,凡事都要自己去摸索,没有人会手把手教你。
所以,我们有必要培养主动学习能力和创新能力,必须努力提高自身的综合素质,适应时代的需要。
实验一、实验二一、实验要求(1)建立单管共发射极放大电路。
(2)分析共发射极放大电路放大性能。
(3)分析共发射极放大电路频率特性。
(4)分析共发射极放大电路静态工作点。
二、实验内容实验内容一:用Ni Multisim软件验证习题2.14,2.15,分析实验结果。
实验内容二:(1)建立单管共发射极放大电路实验电路,如图1-1所示。
NPN型晶体管(QNL电流放大系数为80,基极体电阻为100Ω,发射结电容为3pF,集电结电容为2pF。
用信号发生器产生频率为lkHz、幅值为5mV的正弦交流小信号作为输入信号。
示波器分别接到输入波形和输出端观察波形。
(2)打开仿真开关,双击示波器,进行适当调节后,用示波器观察输入波形和输出波形。
注意输出波形与输入波形的相位关系。
并测量输入波形和输出波形的幅值,计算放大电路的电压放大倍数。
(3)建立共发射极放大电路静态工作点测量电路。
如图1-2所示。
利用直流电压表和电流表测量集电极电压、电流以及基极电流。
判断晶体管是否工作在放大区。
(4)如果将基极电阻由580kΩ改变为400kΩ,再测量各项电压、电流,判断晶体管是否工作在放大区。
然后将图1—1中基极电阻Rb由580kΩ改变为400kΩ,再用示波器观察放大电路的输入波形和输出波形,观察输出波形发生什么样的变化,属于什么类型的失真。
三、实验电路原理图四、实验结果及分析2-14电路图一:要求集电极电压V0=(5~7)V,通过计算可知,R1的电阻值在(2.5~3.5)千欧,R2的电阻值为5.65千欧。
设置R1的电阻值为2.5千欧,R2的电阻值为5.65千欧,测出的VO 为7V。
电路图二:将器件改为PNP管,要求电压数值不变,保证集电极电压|VO|、电流IC不变,通过计算可知,R1的电阻值为5.65千欧,R2的电阻值在(2.5~3.5)千欧。
设置R1的电阻为5.65千欧,R2电阻值为3.5千欧,测出的VO为-5.054V。
2-15电路图一:通过计算可知,VCE为3.35V,实际VCE为3.366。
HUNAN UNIVERSITYC++学生姓名李国龙学生学号************专业班级计算机科学与技术指导老师杨圣洪2015年12月 30日一、实验原理:运用MFC的知识编写一个系统,实现二进制文件的创建,读取,查询,插入,修改,删除,排序,索引,基于索引的查询等功能。
二、实验目标:掌握MFC的相关知识,学会利用MFC进行文件操作系统的编写。
三、实验设计:1、建立框架利用 MFC Exe 模板建立 MFC 的基础界面,其中第 3 步中不选“ActiveX 控件”,在第 5 步中选择“作为静态的DLL”,其他取默认值,等你熟练后,你再百度或搜狗找办法,定制所你的喜欢的模式。
项目名称为 Lt13DTextFile。
建立菜单:我的文件、我的编辑在“我的文件”下方建:建立文本文件 ID_MENUITEMFILENEW、读取文本文件ID_MENUITEMFILEREAD、查询单条记录ID_MENUITEMQUERYONE、查询多条记录 ID_MENUITEMQUERYM 在“ 我的编辑” 下方建:修改 ID_MENUITEMEDITMODI 、删除ID_MENUITEMEDITDEL 、插入 ID_MENUITEMEDITINSERT 、排序ID_MENUITEMEDITSORT1 、排序 2 ID_MENUITEMEDITSORT2 、索引ID_MENUITEMEDITINDEX、根据索引查询ID_MENUITEMEDITQUERYINDEX。
单击后显示一句话。
先建立菜单系统,为每个菜单项的单击事件写上 MessageBox(NULL,"函数名","测试 ",MB_OK),等将来建立相应对话框后,再进行修改。
由于保存在 LT13DTextFileView.cpp 即 View 文件中,显示对话框的命令为:voidCLt13DTextFileView::OnMenuitemeditqueryindex(){ MessageBox("根据索引文件快速查询","初始代码",MB_OK); } 2、建立数据结构类 StudScore在当前项目中建立 StudScore.h,将 LT12B 中同名文件的内容复制过来。
再新建 StudScore.cpp,当我将 LT12B::StudScore.cpp 代码贴到当前文件中,再编译时出现如下错误:studscore.cpp(248) : fatal error C1010: unexpected end of file while looking for precompiled header directive,百度一下在最前面加上“#include"stdafx.h"”,这是将普通的 DOSAPP 迁移到 MFC 时发生的现象,是正常的!因为不符合 MFC 的规范。
3、建立文件操作类 StudScoreAFile在当前项目中建立 studScoreAFile.h,将 LT12B 中同名文件的内容复制过来。
建立 studScoreAFile.cpp,复制 LT12B 中相关代码,可以要进行修改,加上 include"stdafx.h"后,编译竟然能能通过,不是说 MFC 与 DOSAPP 中 C++的文件读写操作不一样吧?不再是流媒体 ofstream 或 iftream,而是采用 CStdioFile 吗?先试试看。
经实际测试,只需要将以上函数中 stringstream sdata 换成string&sdata0 就可以了,然后在各函数内部建立字符串流stringstream 的输入或输出流,从而在沿用 DOSAPP 的框架基础上稍作修改,得到 MFC 的体系,真是伟大呀!为了测试方便,建立每次只在 studScoreAFile.h 与 studScoreAFile.cpp 中增加一个函数,然后建立其最终操作作界面,相当于 DOSAPP 即 Lt12A 与Lt12B 中主控程序,现在采用了窗体形式。
4、创建文件在 studScoreAFile.h 中增加函数 intcreateFileText(stringfn, string &sdata);将 Lt12B 项目中相应代码,复制到 studScoreAFile.cpp 中,修改成如下形式,主要是送来的数据是 string,在函数局部转换为stringstream 变量(哪些出错的程序,也可以这样处理)还需要在studScoreAFile.cpp 的最前面增加#include"stdafx.h"在DOSAPP 中,数据的输入是通过CMD 窗体中进行,实际是cin>>stud 完成的,在 MFC 中需要创建 7 个控件输入相关数据,再建立一个文件文本框,输入文件名,为了一次性写入多条数据,在右边建立一个多行文本框,在界面的按钮中:确定(保存),取消,保存到下方区域,将来点“保存”时,将多行文本区域的内容以stringstream 的形式,发给 studScoreAFile 中的函数。
5、读取文件的内容在studScoreAFile.h 中增加如下函数:intreadFileText(stringfn,string&sdata);将 Lt12B 中 studScoreAFile.cpp 中以上函数代码读过来,稍作修改。
建立输入数据 IDC_EDITFN IDC_EDITRESULT。
6、查询单条记录在studScoreAFile.h 中增加如下函数:intqueryOne(stringfn,stringfieldName,stringfindVal,string&sdata); 将 Lt12B 中 studScoreAFile.cpp 中以上函数代码读过来,稍作修改。
建立输入数据IDC_EDITFN IDC_EDITFIELDNAME IDC_EDITFINDVAL IDC_EDITRESULT。
7、查询多条记录在studScoreAFile.h 中增加如下函数:intqueryMulti(stringfn,stringfieldName,stringfindVal,string &sdata); 将 Lt12B 中 studScoreAFile.cpp 中以上函数代码读过来,稍作修改。
建立输入数据IDC_EDITFN IDC_EDITFIELDNAMEIDC_EDITFINDVAL IDC_EDITRESULT。
8、修改记录在 studScoreAFile.h 中增加如下函数: int modiMulit(string fn,string fieldName,string findVal, int &n,string modiField,string modiVal); 将Lt12B 中studScoreAFile.cpp 中以上函数代码读过来,稍作修改。
建立输入数据 IDC_EDITFN IDC_EDITFIELDNAME IDC_EDITFINDVAL IDC_EDITN IDC_EDITMODIFIELD IDC_EDITMODIVAL IDC_EDITRESULT。
9、插入记录在studScoreAFile.h 中增加如下函数:intinsertMulti(stringfn,stringfieldName,stringfindVal,string &sdata);将 Lt12B 中 studScoreAFile.cpp 中以上函数代码读过来,稍作修改。
建立输入数据IDC_EDITFN fieldName,findVal IDC_EDITFIELDNAME IDC_EDITFINDVAL IDC_EDITSTUDNO ,IDC_EDITSTUDNAME ,IDC_EDITCOURSENAME ,IDC_EDITPS1 ,IDC_EDITPS2 , IDC_EDITEXAMEND , IDC_EDITTOTALSCORE ,,IDC_BUTTONSAVEDOWN,IDC_EDITDATAAREA。
10、删除记录在studScoreAFile.h 中增加如下函数:intdelOne(stringfn,stringfieldName,stringfindVal,int&n,string&sdata);将 Lt12B 中 studScoreAFile.cpp 中以上函数代码读过来,稍作修改。
建立输入删除文件名、删除线索值的界面IDC_EDITFN 、IDC_EDITFIELDNAME 、IDC_EDITFINDVAL 、IDC_EDITN 、IDC_EDITRESULT。
11、排序在studScoreAFile.h 中增加如下函数:intsortFile(stringfn,stringfieldName);在 studScoreAFile.cpp 编写以上函数的实现代码。
建立排序数据对话框只需要输入文件名、排序字段名,与显示结果多行区域就可以了IDC_EDITFN fieldName,findVal IDC_EDITFIELDNAME IDC_EDITDATAAREA。
12、索引由于排序过程中困难,可能索引也不会成功,只能对于二进制文件可能成功,对于二进制文件我没时间再编码了,已经在studScoreAFile.cpp 同步对于二进制进行说明,但是没有具体实施,可能有点小问题。
在 studScoreAFile.h 中增加如下函数:intindexFile(stringfn,stringfnIndex,stringfieldName);在 studScoreAFile.cpp 编写以上函数的实现代码。
建立索引对话框,它与排序对话框一样DC_EDITFN fieldName,findVal IDC_EDITFIELDNAME IDC_EDITDATAAREA。
13、基于索引的查询由于排序过程中困难,可能索引也不会成功,只能对于二进制文件可能成功,对于二进制文件我没时间再编码了,已经在studScoreAFile.cpp 同步对于二进制进行说明,但是没有具体实施,可能有点小问题。
在 studScoreAFile.h 中增加如下函数:intqueryIndex(stringfn,stringfnIndex,stringfindVal,string&s data);在 studScoreAFile.cpp 编写以上函数的实现代码。
建立查询页面IDC_EDITFN fieldName,findVal IDC_EDITFNNDX IDC_EDITDATAAREA IDC_EDITFINDVALUE IDC_EDITFIELDNAME。