C++-通讯录课程设计报告
CC&SC
二.重要保安特性發展圖
特殊特性符号
嚴重度(S)評分標準建議(I)-設計FMEA
效應
無警告的嚴重危害 有警告的嚴重危害 很高 高 中等 低 很低 輕微 很輕微 無
判定準則:效應的嚴重度
嚴重級別很高。潛在失效模式影響車輛安全運行和/或 包含不符合政府法規情形。失效發生時無預警。 嚴重級別很高。潛在失效模式影響車輛安全運行和/或 包含不符合政府法規情形。失效發生時有預警。 車輛/系統無法運行 (喪失基本功能)統能運行,但舒適性/方便性能下降,顧客不滿 意。 車輛/系統能運行,但舒適性/方便性能下降,顧客有些 不滿意。 裝配和最後完工/尖響聲和卡塔響聲不符合要求,多數 顧客發現有缺陷 (多於75%) 。 裝配和最後完工/尖響聲和卡塔響聲不符合要求, 50%的顧客發現有缺陷。 裝配和最後完工/尖響聲和卡塔響聲不符合要求,有辨 識能力的顧客發現有缺陷 (少於25%) 。 沒有可識別的影響。
實施控制計劃之益處
控制計劃概念
顧客滿意程度:控制計劃集中將資源用於對顧 客來說重要的特性有關的過程和產品。將資源 正確分配在這些重要項目上有於在不影響質量 的情況下,降低成本。 交流:作為一個動態文件,控制計劃識別並傳 達了產品/過程特性、控制方法和特性測量中 的變化。
控制計劃的範圍
控制計劃的範圍
2.试生产控制计划
试生产控制计划地对样件研制后批量生产前,进行的尺寸测 量和材料、功能试验的描述。试生产控制计划应包括正式生产过 程生效前要实施的附加产品/过程控制。试生产控制计划的目的是 为遏制初期生产运行过程中或之前的潜在不符合。例如: · 增加检验次数; · 增加生产过程中的检查和最终验点; · 统计评价; · 增加审核。
51单片机C语言头文件及其使用
51单片机C语言头文件及其使用2007-05-29 16:33很多初学单片机者往往对C51的头文件感到很神秘,而为什么要那样写,甚至有的初学者喜欢问,P1口的P为什么要大写,不大写行不行呢?其实这样的问题,看过本文后,就会明白。
其实这个是在头文件中用sfr定义的,现在定义好了的是这样的sfr P1 = 0x90;,也就是说,到底大写,还是小写,就是在这里面决定的。
这就说明,如果你要用小写,就得在头文件中改为小写。
其实它都是为了编程序方便才这样写的,在程序编译时,就会变成相应的地址(如P1就变成了0x90)。
还有一点就是,现在有很多改进型的单片机,它们有很多新增的特殊功能寄存器在标准的reg51.h或reg52.h中没有定义,这就需要自己加进头文件(相关厂家已经把它们定义好了),当然也可以直接在程序中定义。
下面是一个标准的C51头文件:(此文件一般在C:\KEIL\C51\INC下,INC文件夹根目录里有不少头文件,并且里面还有很多以公司分类的文件夹,里面也都是相关产品的头文件。
如果我们要使用自己写的头文件,使用的时候只需把对应头文件拷贝到INC文件夹里就可以了。
)/* BYTE Registers */sfr P0 = 0x80;sfr P1 = 0x90;sfr P2 = 0xA0;sfr P3 = 0xB0;sfr PSW = 0xD0;sfr ACC = 0xE0;sfr B = 0xF0;sfr SP = 0x81;sfr DPL = 0x82;sfr DPH = 0x83;sfr PCON = 0x87;sfr TCON = 0x88;sfr TMOD = 0x89;sfr TL0 = 0x8A;sfr TL1 = 0x8B;sfr TH0 = 0x8C;sfr TH1 = 0x8D;sfr IE = 0xA8;sfr IP = 0xB8;sfr SCON = 0x98;sfr SBUF = 0x99;/* 8052 Extensions */sfr T2CON = 0xC8;sfr RCAP2L = 0xCA;sfr RCAP2H = 0xCB;sfr TL2 = 0xCC;/* BIT Registers */ /* PSW */sbit CY = PSW^7;sbit AC = PSW^6;sbit F0 = PSW^5;sbit RS1 = PSW^4;sbit RS0 = PSW^3;sbit OV = PSW^2;sbit P = PSW^0; //8052 only/* TCON */sbit TF1 = TCON^7;sbit TR1 = TCON^6;sbit TF0 = TCON^5;sbit TR0 = TCON^4;sbit IE1 = TCON^3;sbit IT1 = TCON^2;sbit IE0 = TCON^1;sbit IT0 = TCON^0;/* IE */sbit EA = IE^7;sbit ET2 = IE^5; //8052 onlysbit ES = IE^4;sbit ET1 = IE^3;sbit EX1 = IE^2;sbit ET0 = IE^1;sbit EX0 = IE^0;/* IP */sbit PT2 = IP^5;sbit PS = IP^4;sbit PT1 = IP^3;sbit PX1 = IP^2;sbit PT0 = IP^1;sbit PX0 = IP^0;/* P3 */sbit RD = P3^7;sbit WR = P3^6;sbit T1 = P3^5;sbit INT1 = P3^3;sbit INT0 = P3^2;sbit TXD = P3^1;sbit RXD = P3^0;/* SCON */sbit SM0 = SCON^7;sbit SM1 = SCON^6;sbit SM2 = SCON^5;sbit REN = SCON^4;sbit TB8 = SCON^3;sbit RB8 = SCON^2;sbit TI = SCON^1;sbit RI = SCON^0;/* P1 */sbit T2EX = P1^1; // 8052 onlysbit T2 = P1^0; // 8052 only/* T2CON */sbit TF2 = T2CON^7;sbit EXF2 = T2CON^6;sbit RCLK = T2CON^5;sbit TCLK = T2CON^4;sbit EXEN2 = T2CON^3;sbit TR2 = T2CON^2;sbit C_T2 = T2CON^1;sbit CP_RL2 = T2CON^0;还有一点就是,现在有很多改进型的单片机,它们有很多新增的特殊功能寄存器在标准的reg51.h或reg52.h中没有定义,这就需要自己加进头文件(相关厂家已经把它们定义好了),当然也可以直接在程序中定义。
维生素C的测定(2-6-二氯酚靛酚滴定法
实验一维生素C的测定(2,6-二氯酚靛酚滴定法一、测定原理2,6-二氯酚靛酚滴定法用于测定还原型抗坏血酸。
抗坏血酸分子中存在烯醇式结构(HO—C═C—OH),因而具有很强的还原性,还原型抗坏血酸能还原2,6-二氯酚靛酚染料。
2,6—二氯酚靛酚染料在酸性溶液中呈红色,在中性或碱性溶液中呈蓝色。
因此,当用2,6—二氯酚靛酚染料滴定含有抗坏血酸的酸性溶液时,被还原后红色消失成为无色的衍生物,可作为维生素C含量测定的滴定剂和指示剂。
还原型抗坏血酸还原染料后,本身被氧化为脱氢抗坏血酸。
当抗坏血酸全部被氧化时,滴下的2,6—二氯酚靛酚溶液则呈红色。
在测定过程中当溶液从无色转变成微红色时,表示抗坏血酸全部被氧化,此时即为滴定终点。
根据滴定消耗染料标准溶液的体积,可以计算出被测定样品中抗坏血酸的含量。
在没有杂质干扰时,一定量的样品提取液还原标准染料液的量、与样品中所含抗坏血酸的量成正比。
反应式如下:二、实验仪器与试剂1.仪器组织捣碎机;水果刀;托盘天平;精密天平;称量纸;卷纸;台式离心机;电炉;吸耳球;玻璃棒;蒸馏水,蒸馏水洗瓶;记号笔、标签纸、定性滤纸;20cm镊子;5ml、10ml移液管、(微量)酸式滴定管、漏斗;漏斗架;50ml、250ml、 500ml 、1000ml烧杯;10ml 、500 ml、1000 ml量筒;100ml具塞量筒(或普通量筒);100mL、250mL棕色容量瓶;50ml或100ml三角烧瓶。
及试剂本实验材料是,用水均为蒸馏水,试剂纯度均为分析纯度。
(1)2%草酸溶液:草酸20g溶于700ml蒸馏水中,稀释至1000ml。
(2)1%草酸溶液:取上述2%草酸溶液450ml,稀释至900ml。
(3)抗坏血酸标准溶液:称取抗坏血酸20mg,用适量1%草酸溶液溶解后,移入100mL棕色容量瓶中,并以1%草酸溶液定容,振摇混匀,备用。
(4)0.02% 2,6-二氯酚靛酚溶液:称取碳酸氢钠52.2mg,溶解在200mL沸水中。
C语言程序的三种基本结构
C语⾔程序的三种基本结构1、程序结构:在C语⾔程序中,⼀共有三种程序结构:顺序结构、选择结构(分⽀结构)、循环结构; 顺序结构:从头到尾⼀句接着⼀句的执⾏下来,直到执⾏完最后⼀句; 选择结构:到某个节点后,会根据⼀次判断的结果来决定之后向哪⼀个分⽀⽅向执⾏; 循环结构:循环结构有⼀个循环体,循环体⾥是⼀段代码。
对于循环结构来说,关键在于根据判断的结果,来决定循环体执⾏多少次; 注:在逻辑上有⼀种bool类型(也叫boolean类型,布尔类型),只有两个值,即真和假。
C语⾔的判断表达式最终的值就是⼀个bool类型,这个判断表达式的bool值就决定了选择结构如何选择,循环结构如何循环;2、顺序结构:顺序结构很简单,⼀般我们遇到的除了选择结构和循环结构外,都是顺序结构;3、选择结构:C语⾔中常⽤的选择结构主要有以下两种: (1) if else:引⼊关键字:if else else if if (bool值) // 如果bool值为真,则执⾏代码段1,否则执⾏代码段2 { 代码段1 } else { 代码段2 } if (bool值1) // 如果bool值1为真,则执⾏代码段1,否则判断bool值2是否为真 { 代码段1 } else if (bool值2) // 若bool值2为真则执⾏代码段2,否则直接执⾏代码段3 { // 开头的if和结尾的else都只能有⼀个,但是中间的else if可以有好多个 代码段2 } else { 代码段3 }1 #include <stdio.h>23int main(void)4 {5int a, b, max;67 a = 456;8 b = 45;910if (a > b) // 判断表⽰式11 {12 max = a;13 printf("true.\n");14 }15else if (a == b)16 {17 max = a;18 printf("a == b.\n");19 }20else21 {22 max = b;23 printf("false.\n");24 }2526 printf("max = %d.\n", max);2728return0;29 } (2) switch case:引⼊关键字:switch case break default switch (变量) // 执⾏到这⼀句时,变量的值是已知的 { // switch case语句执⾏时,会⽤该变量的值依次与各个case后的常数去对⽐,试图找到第⼀个匹配项,找到匹配的项⽬后, case 常数1: // 就去执⾏该case对应的代码段,如果没找到则继续下⼀个case,直到default 代码段1; // 如果前⾯的case都未匹配,则default匹配。
C语言实验题目()
求两个数之和。
在两种情况下完成:①数据在程序内部定义变量时赋初值,或者通过赋值语句赋值。
②数据通过scanf( )函数输入。
静态输入:#include <stdio.h>void main(){int a=1,b=2,s;s=a+b;printf("这两个数的和是%d\n",s);}动态输入:#include <stdio.h>void main(){int a,b,s;printf("请您输入两个数:");scanf("%d,%d",&a,&b);s=a+b;printf("这两个数的和是%d\n",s);}设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆柱表面积、圆柱体积。
要求用scanf 输入数据,输出计算结果。
#include <stdio.h>void main(){float r,h,l,s,sq,vz;float pi=3.1415926;printf("请输入圆的半径r,圆柱高h:");scanf("%f,%f",&r,&h);l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;vz=pi*r*r*h;printf("圆的周长为l=%6.2f\n",l);printf("圆的面积为s=%6.2f\n",s);printf("圆柱的表面积为sq=%6.2f\n",sq);printf("圆柱的体积为vz=%6.2f\n",vz);}输入a、b、c三个整数,求出其中最大者,并连同三个源数据一起输出。
#include <stdio.h>int max(int x,int y,int z){int max;if(x>y){if(x>z)max=x;elsemax=z;}else{if(y>z)max=y;elsemax=z;}return(max);}void main(){int max(int x,int y,int z);int a,b,c,w;printf("请您输入三个整数:");scanf("%d,%d,%d",&a,&b,&c);printf("您输入的三个数是:%d,%d,%d\n",a,b,c);w=max(a,b,c);printf("这三个数中最大的是:%d\n",w);}给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。
C程序获取命令行参数
C程序获取命令⾏参数命令⾏参数命令⾏界⾯中,可执⾏⽂件可以在键⼊命令的同⼀⾏中获取参数⽤于具体的执⾏命令。
⽆论是Python、Java还是C等等,这些语⾔都能够获取命令⾏参数(Command-line argument,与命令同⼀⾏中的附加项)。
C编写的可执⾏⽂件的程序⼊⼝函数是main函数,因此C程序真正读取命令⾏参数的就是main函数。
例:#include <stdio.h>/** test.c 编译后产⽣可执⾏⽂件test.exe或test.out,程序来源于C Primer Plus第⼗⼀章*/int main(int argc,char *argv[]) {int count;printf("The command line has %d arguments :\n",argc-1);for (count = 1; count < argc; ++count) {printf("%d: %s\n",count,argv[count]);}return 0;}我们在test.exe所在⽂件夹打开命令⾏窗⼝,键⼊test I love you,会输出:The command line has 3 arguments:1: I2: love3: youC标准规定main函数作为程序⼊⼝,可以没有参数,也可以有两个参数。
两种参数的情况下,第⼀个参数argc是命令⾏中的字符串个数,字符串的分隔按空格来判断,上例中总共输⼊了4个字符串,分别是 test, I, love, you。
第⼆个参数argv是⼀个指向这些字符串的指针数组。
命令⾏界⾯中输⼊的所有字符串被存储在这个数组中,可以⽤for循环遍历。
第⼀个元素当然是命令的名称。
当然,对于接受参数的main函数也可以⽤另⼀种声明:inr main(int argc, int **argv)。
argv是⼀个指向字符的指针的指针,本质上还是指向包含多个字符串的数组。
小C、中C、大C
C型臂简介C型臂:顾名思义该设备有C型的机架,产生X射线的球管,采集图像的影像增强器和CCD摄像机,以及图像处理的工作站组成。
主要用于各种手术中的透视造影,点片等工作。
另外也区别与其他的x射线设备比如:U型臂,G形臂等等。
C型臂俗称:C型臂X光机、C臂、小C臂、小C、C臂机、C臂X光机等。
C型臂用途骨科:整骨、复位、打钉、椎间盘造影和消融、经皮穿刺等。
疼痛科:与臭氧、半导体激光、射频机配合开展腰椎、颈椎等疼痛介入治疗。
肿瘤科:多部位肿瘤介入整治。
妇科:输卵管导引术、子宫造影、子宫肌瘤介入治疗等。
普外科:创伤外科、取体内异物。
泌尿外科:肾膀胱造影,泌尿外科手术等。
控制方式主要包括:手持控制器控制、双脚闸控制器控制、自动透视、手动透视、脉冲透视等控制方式。
射线防护1.利用脚闸远距离曝光,距离防护。
2.利用限速器,及球管内部的铅皮,防止了散射线。
3.利用脉冲透视缩短曝光时间,从而降低了病人的吃线剂量。
C型臂分类小C: (C臂、小C臂、小C、骨科C臂)主要用途1、骨科:整骨、复位、打钉。
2、外科:取体内异物、心导管、植入起搏器、部分介入治疗、部分造影术及局部摄影等工作。
3、其他:配合臭氧机治疗疼痛,小针刀治疗,妇科输卵管导引手术等。
该型产品在医院普及率很高,基本上二级医院都已经装备。
中C(周边介入型C形臂)定义:周边介入型C形臂,在业界俗称为“中C”,不仅仅是把球管功率提高,就可以谓为“中C”。
中C产品设计的系统性和操控性是开展复杂介入手术的有力保障,主要是增加了DSA相关的许多功能。
它在临床上可以完成大型血管机(大C)80%以上手术需求。
主要的临床范围:神经外科血管造影,减影术消化道介入手术,例如:ERCP、食道支架;腹腔和盆腔脏器肿瘤介入治疗,例如肝脏、肾脏介入手术;四肢血管造影剂减影术,成型术疼痛微创介入手术,例如:腰椎间盘介入、颈椎介入、妇科输卵管再造手术、子宫肌瘤手术。
大C(DSA血管机)DSA是由电子计算机进行影像处理的先进的X线诊断技术,是继CT之后,在X线诊断技术方面的又一重大突破,主要应用于全身血管疾病的诊断和治疗。
C R M 系 统
C R M 系统CRM系统即客户关系管理系统(Customer Relationship Management),以客户为中心的现代企业,以客户价值来判定市场需求,对于正在转变战略从"产品中心" 向 "客户中心" 过渡的企业无疑是一拍即合。
关于CRM的定义,不同的研究机构有着不同的表述。
最早提出该概念的GartnerCRM系统Group认为:所谓的客户关系管理就是为企业提供全方位的管理视角;赋予企业更完善的客户交流能力,最大化客户的收益率。
客户关系管理是企业活动面向长期的客户关系,以求提升企业成功的管理方式,其目的之一是要协助企业管理销售循环:新客户的招徕、保留旧客户、提供客户服务及进一步提升企业和客户的关系,并运用市场营销工具,提供创新式的个性化的客户商谈和服务。
HurwitzGroup认为:CRM的焦点是自动化并改善与销售、市场营销、客户服务和支持等领域的客户关系有关的商业流程。
CRM既是一套原则制度,也是一套软件和技术。
它的目标是缩减销售周期和销售成本、增加收入、寻找扩展业务所需的新的市场和渠道以及提高客户的价值、满意度、赢利性和忠实度。
CRM应用软件将最佳的实践具体化并使用了先进的技术来协助各企业实现这些目标。
CRM在整个客户生命期中都以客户为中心,这意味着CRM应用软件将客户当作企业运作的核心。
CRM应用软件简化协调了各类业务功能(如销售、市场营销、服务和支持)的过程并将其注意力集中于满足客户的需要上。
CRM应用还将多种与客户交流的渠道,如面对面、电话接洽以及Web访问协调为一体,这样,企业就可以按客户的喜好使用适当的渠道与之进行交流。
而IBM则认为:客户关系管理包括企业识别、挑选、获取、发展和保持客户的整个商业过程。
IBM把客户关系管理分为三类:关系管理、流程管理和接入管理。
从管理科学的角度来考察,客户关系管理(CRM)源于市场营销理论;从解决方案的角度考察,客户关系管理(CRM)是将市场营销的科学管理理念通过信息技术的手段集成在软件上面,得以在全球大规模的普及和应用。
CSOX指引解读汇总版(1)
加强代销业务款项的管理,及时与代销商结算款项。第五,收取的现金、银行本票、汇 票等应及时缴存银行并登记入账。防止由销售人员直接收取款项,如必须由销售人员收 取的,应由财会部门加强监控。 主要管控措施: 第一,结合竞争对手客户服务水平,建立和完善客户服务制度,包括客户服务内容、标 准、方式等。 第二,设专人或部门进行客户服务和跟踪。有条件的企业可以按产品线或地理区域建立 客户服务中心。加强售前、售中和售后技术服务,实行客户服务人员的薪酬与客户满意 度挂钩。 第三,建立产品质量管理制度,加强销售、生产、研发、质量检验等相关部门之间的沟 通协调。 第四,做好客户回访工作,定期或不定期开展客户满意度调查;建立客户投诉制度,记 录所有的客户投诉,并分析产生原因及解决措施。 第五,加强销售退回控制。销售退回需经具有相应权限的人员审批后方可执行;销售退 回的商品应当参照物资采购入库管理。 主要管控措施: 第一,企业应当加强对销售、发货、收款业务的会计系统控制,详细记录销售客户、销 售合同、销售通知、发运凭证、商业票据、款项收回等情况,确保会计记录、销售记录 与仓储记录核对一致。具体为:财会部门开具发票时,应当依据相关单据(计量单、出 库单、货款结算单、销售通知单等)并经相关岗位审核。销售发票应遵循有关发票管理 规定,严禁开具虚假发票。财会部门对销售报表等原始凭证审核销售价格、数量等,并 根据国家统一的会计准则制度确认销售收入,登记入账。财会部门与相关部门月末应核 对当月销售数量,保证各部门销售数量的一致性。 第二,建立应收账款清收核查制度,销售部门应定期与客户对账,并取得书面对账凭 证,财会部门负责办理资金结算并监督款项回收。 第三,及时收集应收账款相关凭证资料并妥善保管;及时要求客户提供担保;对未按时 还款的客户,采取申请支付令、申请诉前保全和起诉等方式及时清收欠款。对收回的非 货币性资产应经评估和恰当审批。 第四,企业对于可能成为坏账的应收账款,应当按照国家统一的会计准则规定计提坏账 准备,并按照权限范围和审批程序进行审批。对确定发生的各项坏账,应当查明原因, 明确责任,并在履行规定的审批程序后作出会计处理。企业核销的坏账应当进行备查登 记,做到账销案存。已核销的坏账又收回时应当及时入账,防止形成账外资金。
c语言中的逻辑运算
c语言中的逻辑运算在C语言的世界里呀,逻辑运算就像是一群小精灵,在代码的森林里穿梭玩耍,掌控着程序的各种走向呢。
咱先来说说逻辑与运算,这就好比一群小伙伴要去做一件大事,只有当所有人都同意的时候,这件事才能干成。
在C语言里呀,用“&&”来表示。
比如说,你要进一个秘密基地,需要同时刷脸和输入密码正确才行。
这就像代码里的两个条件,只有两个条件都为真,整个表达式才为真。
要是有一个条件是假的,就像你刷脸没通过或者密码输错了,那整个事情就办不成啦,表达式就为假。
这逻辑与运算啊,在判断多个条件是否同时满足的时候可太有用啦。
就像你去超市买东西,你想既要这个苹果又要那个香蕉,只有两个东西都在货架上,你才能顺利地把它们都装进购物袋里,对吧?再看看逻辑或运算,用“||”表示。
这就像是一群人里只要有一个人会做某件事,那这件事就能做起来。
好比在一个小组里,有一个人会修电脑,那不管其他人会不会,只要有这一个人在,电脑坏了就有办法修。
在代码里也是这样,如果两个条件中有一个为真,整个表达式就为真。
比如说,你要找个交通工具去上班,要么坐公交,要么打车。
只要有公交能坐或者能打到车,你就能去上班。
要是两个都不行,那才是真的没办法啦,表达式才为假。
还有个逻辑非运算,用“!”表示。
这就像是在说反话呢。
如果一个条件是真的,经过逻辑非运算后就变成假的了;要是一个条件本来是假的,那经过这个运算就变成真的啦。
这就像你原本说今天天气好,那逻辑非运算就像是在说今天天气不好。
在代码里也很实用呀,有时候你要判断某个条件不成立的时候就会用到它。
比如说,你要判断一个数不是偶数,那就可以用逻辑非运算和判断偶数的条件组合起来。
逻辑运算在C语言里的嵌套使用也很有趣呢。
就像搭积木一样,你可以把各种逻辑运算组合起来,形成更复杂的判断。
比如说,你要判断一个人是不是成年人并且是男性或者是女性而且不是学生。
这听起来有点绕,但是用逻辑运算就能很清楚地表达出来。
C语言的应用领域
C语言的应用领域C语言的应用领域1.数据库管理和应用程序方面C语言的非数值处理功能很强,因此它被广泛地应用于数据库管理系统和应用软件。
大多数的关系数据库管理系统,如dBASE,Fox$ASE, ORACLE等,都是由C语言编写的。
各种不同部门的应用软件也大都是用G语言开发的,C语言在开发数据库应用软件方面应用很广,深受开发者的欢迎。
2.图形图像来统的应用程序方面C语言在图形图像的开发中也有着广泛的市场。
很多图形图像系统,如AutoCAD通用图形系统等,就是使用C语言开发的,并且在这些图形系统中可以直接使用C语言编程,实现某些功能。
C语言编译系统带有许多绘图功能的函数,利用这些函数开发图形应用软件十分方便。
所开发的应用程序常用C语言编写接口界面,这样既方便又灵活,效果很好。
这是因为该语言提供有图形处理功能,便于实现图形图像的'各种操作。
因此,C语言在图形图像的应用方面很好地发挥了它的作用。
3.编写与设备的接。
程序方面C语言不仅在建立友好界面方面有着广泛应用,如下拉式菜单、弹出菜单、多窗口技术等;而且在编写与设备的接口程序方面也有着广泛应用。
这是因为C语言不仅具有高级语言的特性还具有低级语言的功能,因此,在编写接口程序方面十分方便,有时它与汇编语言一起使用,会显示出更高的效率。
4.数据结构方面由于C语言提供了十分丰富的数据类型,不仅有基本数据类型还有构造的数据类型,如数组、结构和联合等,把它们用于较复杂的数据结构〔例如,链表、队列、伐、树等)中显得十分方便,这方面已有许多成熟的例程供选择使用。
5.排序和检索方面排序和检索是数据处理中最常遇到并较为复杂的间题。
使用C语言来编写排序和检索各种算法的程序既方便又简洁。
特别是有些排序算法采用了递归方法进行编程,更显得清晰明了。
因此、人们喜欢使用G语言来编写这方面的程序。
上述列举了五个方面的应用,但绝不是说C语言的应用仅限如此,而是说在这几个方面目前使用得更多些。
C语言综合练习题
《C语言程序设计》综合练习题一、单项选择题1.下列( D )是字符串比较函数。
A. puts()B.gets()C. strcpy ()D. strcmp()2.构成一个完整的C源程序必须有且只有一个( C )。
A. 函数B.过程C. 主函数D. 程序3. 设有int i,j,k;则表达式i=1,j=2,k=3,i&&j&&k的值为( A )。
A. 1B. 2C. 63D. 04.在C语言中,不同类型数据混合运算时,要先转化成同一类型后进行运算。
设一表达式中包含有int、long、unsigned、char类型的变量和数据,则表达式最后的运算结果是(D)类型数据。
A.int B.char C.unsigned D.long 5.下列(D)不是构成标识符的字符。
A.字母B.数字C.下划线D.标点符号6.表达式:3>5&&-1||6<3-!-1的值是( A )。
A. 0B.1C. 表达是不合法D. 均不对7. 以下标识符中能做为合法的C用户标识符的是(D)。
A.A3+B3B. floatC. 3dxD. x3d8. 以下数据中不正确的数值或字符常量是(B)。
A. 0.0B. 3E2.7C. 9861D. 0xabcd9. fp=fopen(''test.txt",''r''); 语句中,r对文件处理方式是(A)。
A. 只读打开文件B. 只写打开文件C. 追加打开文件D. 读写打开文件10.表示关系x<=y<=z的C语言表达式为(A)A. (x<=y)&&(y<=z)B. (x<=y)and(y<=z)C. (x<=y)&(y<=z)D. (x<=y<=z)11.如果要把常量327存入变量a中,a不能定义的类型是(B)。
%c在c语言中的用法
%c在c语言中的用法C语言是一种通用的高级程序设计语言,由美国计算机科学家Dennis Ritchie于1972年在贝尔电话实验室开发而成。
C语言的设计目的是用于系统编程,尤其是操作系统和其他大型软件的编写。
它是一种结构化、面向过程的编程语言,同时也支持面向对象编程,具有高效性、可移植性和可扩展性等优点。
在C语言中,%c是一种格式控制符,用于读取或输出一个字符。
1. 输出字符要输出一个字符,需要使用printf()函数,并在字符前加上格式控制符%c,表示输出字符。
例如,下面的代码将输出字母'A':```printf("%c", 'A');```除了直接输出字符外,还可以通过输入一个整数,再通过强制类型转换的方式将其转换成字符,然后再输出字符。
例如,下面的代码将输出ASCII码为65的字符'A':2. 读取字符在读取字符时,需要注意一些细节。
首先,scanf()会读取空白字符,例如空格、制表符和换行符等,因此要使用一个空格或换行符来消耗掉它们;其次,如果要读取多个字符,可以使用%c格式控制符并在循环中反复调用scanf()函数。
3. 字符数组字符数组是一种特殊的数组类型,它用于存储多个字符。
在C语言中,字符数组的定义方式如下:```char str[100];```这段代码定义了一个长度为100的字符数组str,可以用来存储最多100个字符。
要给字符数组赋值,可以使用strcpy()函数,例如:```char str[100] = "Hello world";printf("%s", str);```4. 字符串处理字符串是由多个字符组成的序列,C语言中使用字符数组来表示字符串。
在处理字符串时,需要使用一些字符串处理函数,例如strlen()、strcmp()和strcat()等。
下面介绍几个常用的字符串处理函数:- strlen()函数:用于求字符串的长度,即其中包含多少个字符。
R×C表资料的
R×C表资料的R×CR×C表⼜称为⾏×列表, 其检验⽤于多个样本率的⽐较、两个或多个构成⽐的⽐较、以及双向⽆序分类资料的关联性检验。
基本数据有三种情况:①多个样本率⽐较时,有R⾏2列,称为R×2表;②两个样本的构成⽐⽐较时,有2⾏R列,称2×R表;③多个样本的构成⽐⽐较,以及双向⽆序分类资料关联性检验时,有R⾏C列,称为R×C表。
2、⾏×列表资料的卡⽅检验⾏×列表资料的卡⽅检验⽤于多个率或多个构成⽐的⽐较。
1)专⽤公式:r⾏c列表资料卡⽅检验的卡⽅值=2)应⽤条件:要求每个格⼦中的理论频数T均⼤于5或1但在使⽤时须注意,简化计算公式只有在所有Tij均⼤于5的情况下使⽤。
若出现⼀个理论数⼩于1的格⼦,或1处理的⽅法继续观察,适当扩⼤样本量。
②将邻近有意义的(或性质相同)分类进⾏合并,以适当增加频数,满⾜计算公式的应R×C 表的分类及其检验⽅法的选择R×C表可分为双向⽆序、单向有序、双向有序属性相同和双向有序属性不同4类。
1.双向⽆序R×C表R×C表中两个分类变量皆为⽆序分类变量。
对于该类资料:①若研究⽬的为多个样本率(或构成⽐)⽐较,可⽤⾏×列表资料的检验;②若研究⽬的为分析两个分类变量之间有⽆关联性以及关系的密切程度时,可⽤⾏×列表资料的检验以及Pearson列联系数进⾏分析。
2.单向有序R×C表①R×C表分组变量(如年龄)是有序的,⽽指标变量(如传染病的类型)是⽆序的;研究⽬的通常是多个构成⽐的⽐较,如分析不同年龄组传染病的构成情况;此时可⽤⾏×列表资料的检验分析。
3.双向有序属性相同的R×C表R×C表中的两分类变量皆为有序且属性相同。
实际上是2×2配对设计的扩展,即⽔平数≥3的诊断试验配伍设计,如⽤两种检测⽅法对同⼀批样品的测定结果。
c课程设计 教学方法
c课程设计教学方法说实话c课程设计教学方法这事,我一开始也是瞎摸索。
我试过很多方法,有些成功了,有些则失败得很惨。
我一开始呢,就想着按照书上的步骤来教。
我把那些概念、语法结构啥的,一条一条地给学生讲。
就好比盖房子,我以为把一块块砖头(各种概念)堆砌起来就大功告成了。
结果完全不是那么回事,学生听得云里雾里的,就像一群站在迷宫里找不到出口的人。
这就是典型的失败教训。
后来我就改变了策略。
我想先从实际的例子入手,就像先展示一个已经盖好的漂亮小房子,让学生们看到成果,然后再一点点分析这个房子是怎么盖起来的。
比如说教循环结构的时候,我给他们展示了一个简单的计算1到100累加的程序。
我先把这个程序运行了一遍,让他们看到最后的结果5050。
然后我开始拆这个程序,告诉他们这里面的循环是怎么工作的,变量是如何变化的。
这个方法好像有点效果,学生们开始有点兴趣了。
还有一个重要的点就是项目驱动教学。
我不确定是不是对每个场景都适用,但在我的一些尝试中,效果很不错。
我让学生分组来做一些小的项目,像制作一个简单的学生成绩管理系统。
他们在做这个项目的过程中,就不得不自己去学习相关的知识,遇到不懂的再来问我。
这样比我干巴巴地讲要好很多。
而且在做项目的时候,他们会发现很多书上没有讲到的实际问题,像如何优化程序性能,如何更好地组织代码结构。
我还试过让学生自己讲课。
这个有点冒险,我心里一直也没个底。
我选了几个学得还不错的同学,给他们一个小的知识点,让他们在课堂上给大家讲解。
我就在旁边听着看着。
有些学生真的准备得特别好,他们用自己的方式解读这个知识,其他同学还挺爱听的。
不过也有同学会紧张得说不利索,但这也是一种锻炼嘛。
这些就是我在c课程设计教学方法上的一些摸索尝试,每一种方法都有它的优点和不足,但只要能让学生更好地学习,就是值得尝试的方法。
c语言入口函数
c语言入口函数C语言是一种广泛应用的高级编程语言,其入口函数是整个程序的执行的入口和出口。
所以掌握C语言入口函数是学习和应用C语言的基础。
下面我们分步骤阐述C语言入口函数的基本概念、作用和用法。
一、入口函数的基本概念1.入口函数是什么?入口函数是C语言程序的起点,程序在执行之前必须要有一个入口,也就是程序的入口。
在C语言中,一般都会设置main函数作为入口函数。
2.入口函数的作用入口函数的作用是启动程序,其主要功能包括程序的初始化、调用其它函数,以及最终结束程序的运行。
3.入口函数的用法入口函数的用法也很简单,一般是定义一个函数,函数名为main,然后在函数内部进行需要的操作。
接下来我们就介绍一下如何定义main函数。
二、定义main函数1.main函数的声明在C语言中,main函数是程序的入口,同时也是程序的出口,其格式为:int main(void)我们来简单了解一下上面的声明:• int 表示返回值类型为整型,也就是整个程序的运行结果是一个整数。
• main 是函数名,不能修改。
• void 表示函数不接受任何参数。
2.main函数的用法接下来我们就根据上面的声明来定义一个简单的main函数:#include <stdio.h>int main(void){printf("Hello, World!\n");return 0;}到这里,我们已经成功定义了一个简单的main函数。
其作用是在屏幕上输出一个字符串,并返回0。
三、总结通过上面的介绍,我们已经了解到C语言入口函数的基本概念、作用和用法。
在日常学习和应用中,需要我们不断地进行实践和熟练掌握,才能更好地发挥入口函数的作用。
c语言程序设计形考任务二标准答案
c语言程序设计形考任务二答案————————————————————————————————作者:————————————————————————————————日期:一、选择题(共20分,每小题2分)当处理特定问题时的循环次数已知时,通常采用的语句是()。
a. forb. whilec. do-whiled. switch题目2在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成的语句是()。
a. forb. ifc. dod. while题目3for语句能够被改写成的语句是()。
a. 复合b. ifc. switchd. while题目4下面循环语句执行结束后输出的i值为()。
for(int i=0; i<n; i++) if(i>n/2) {cout<<i<<endl; break;}a. n/2b. n/2+1c. n/2-1d. n-1题目5在下面循环语句中,内层循环体S语句的执行总次数为()。
for(int i=0; i<n; i++)for(int j=i; j<n; j++) S;a. n2b. (n+1)/2c. n(n-1)/2d. n(n+1)/2题目6在下面的do循环语句中,其循环体被执行的次数为()。
int i=0; do i++; while(i*i<10);a. 4b. 3c. 5d. 2题目7在下面的一维数组定义中,有语法错误的选项是()。
a. int a[]={1,2,3};b. int a[10]={0};c. int a[];d. int a[5];题目8在下面的二维数组定义中,语法正确的选项是()。
a. int a[5][];b. int a[][5];c. int a[][3]={{1,3,5},{2}};d. int a[](10);题目9假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][1]的值为()。
c语言 大数字处理
c语言大数字处理摘要:一、引言二、C 语言中数字类型的限制三、大数字处理的方法1.使用字符串表示大数字2.采用Big-Endian 和Little-Endian 字节序表示大数字3.使用第三方库四、大数字计算的注意事项五、结论正文:一、引言C 语言是一种广泛应用于计算机编程的编程语言。
在实际应用中,常常需要处理大数字,例如IP 地址、大额支付等。
C 语言本身对数字类型的处理有一定的限制,因此需要寻找合适的方法来处理大数字。
二、C 语言中数字类型的限制C 语言中,整型数字最大可以表示到2^31 - 1,即约21 亿。
当需要处理的数字超过这个范围时,就需要采用其他方法。
此外,C 语言中的浮点数表示也有一定的限制,可能导致精度问题。
三、大数字处理的方法1.使用字符串表示大数字将大数字转换为字符串,这样可以避免溢出问题。
但是,这种方法在进行数值计算时会比较麻烦,需要将字符串转换为整型或浮点型数字。
2.采用Big-Endian 和Little-Endian 字节序表示大数字Big-Endian 和Little-Endian 是两种字节序表示方法。
Big-Endian 表示数值的高位字节放在内存的高地址,而Little-Endian 表示数值的高位字节放在内存的低地址。
通过使用这两种方法,可以表示任意大小的数字。
3.使用第三方库有许多现成的第三方库可以处理大数字,例如GMP、MPFR 等。
这些库提供了丰富的数学函数,可以方便地进行大数字计算。
四、大数字计算的注意事项在进行大数字计算时,需要注意以下几点:1.避免溢出问题,采用合适的方法表示大数字。
2.注意数字的位数,确保计算过程中不会产生错误。
3.使用可靠的第三方库,确保计算结果的准确性。
五、结论C 语言处理大数字是一项常见的任务。
通过使用字符串表示、字节序表示和第三方库等方法,可以方便地进行大数字处理。
C序列各岗级层级评级参考标准
的成交与操作;
内会议;
3、能够完全独立地完成订单成交
后与后台的操作工作;
4、成为 2 个旅游局专家; 5、获得领队证;
中 级 销售 1、独立地承担考核指标;08 年度 1、12 个月内可以获得一次不超
销 售 经理 标准,完成实际毛利润指标 40 万 过一周的出国培训机会;
顾问
(含)-60 万(不含)
7、能够指导 C1,C2 员工的日常 6、公司颁发职称证书
工作,帮助其掌握常用业务知识;
8、能够对岗位工作的流程规范有
一些建设性的思考与看法; 9、开始能够稳定地维护少数优质 的客户;
C5 高 级 高级 1、独立地承担考核指标;08 年度 1、12 个月内可以获得一次不超
销 售 销售 标准,完成实际毛利润指标 60 万 过 15 天的出国培训机会;
级 销 / 万(含)以上;
3、可以 参加高 级管理 人员的培
售 顾 资深 2、能够在助手辅助下每月大约稳 训课程;
问
销售 定完成 8-10 个团的成交与操作; 4、可做为 M3 以下后备人选;
总监 3、、能够主导完成任何人数规模 5、可参加或代表经理参加重要
和复杂难度的团队服务;
公司管理会议;
5、成为 3 个以上旅游局专家; 6、允许参与相关业务的决策讨
3、可以 参加高 级管理 人员的培
总监 3、、能够主导完成任何人数规模 训课程;
和复杂难度的团队服务;
4、可做为 M2 以下后备人选;
5、成为 3 个以上旅游局专家; 5、可参加或代表经理参加重要
6、获得领队证;
公司管理会议;
7、能够熟练良好地指导本岗专家 6、允许参与相关业务的决策讨
级以下员工的业务操作,帮助其 论和正式发表意见;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++面向对象程序设计课程设计报告》设计题目:通讯录系统学生学号: P P学生姓名: 王元波次仁多布杰专业班级:2009级计算机科学与技术(3)班学生成绩:指导教师:蔡正琦]计算机科学与信息工程学院2010-6-26一、设计任务分析实现以下功能:·1) 通讯录编辑(添加、删除);2) 按不同的项进行查找;3) 对已存在的通讯录按不同的项排序;4) 将通讯录写入文件;5) 从文件读入通讯录。
二、模块设计本次程序设计主要设计了六个模块(主要是:(),(),(),(),(),(),())()函数用于通讯录中的信息进行添加,主要流程如下:—()函数用于通讯录中的信息进行删除,主要流程如下:()函数用于通讯录中的信息进行修改,主要流程如下:()函数用于通讯录中的信息进行查找,主要流程如下:~()函数用于通讯录中的信息进行排序,主要流程如下:()函数用于从文本文件中读取信息,主要流程如下:()函数用于将信息写入文本文件,主要流程如下:三、…四、主要数据结构结构数组:struct studento<<endl;cout<<"姓名:"<<st[i].name<<endl;cout<<"地址:"<<st[i].address<<endl;cout<<"电话号码:"<<st[i].tel_no<<endl;cout<<"邮编:"<<st[i].post_code<<endl;cout<<"E_MAIL:"<<st[i].e_mail<<endl;/}};通讯录编辑. 4. 按序排列 . ※" <<endl<<"\t\t※※" <<endl<<"\t\t※ 2. 查询联系人. 5. 将文件读入程序. ※" <<endl<<"\t\t※※" <<endl<<"\t\t※ 3. 将资料写入文件. 6. 格式化(慎用). ※" <<endl<<"\t\t※※" <<endl }<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★" <<endl<<"\t\t"<<endl<<endl<<"\t\t\t选择 :" ;cin>>select1;switch(select1){case '1':cout<<" (1)添加:"<<endl;cout<<" (2)删除:"<<endl;、cout<<" (3)修改:"<<endl;char select2;cout<<" 请选择:"<<endl;cin>>select2;switch(select2){case '1':cout<<" 输入添加的资料:"<<endl;char no[13];-char name[20];char address[100];char tel_no[12];char post_code[7];char e_mail[40];cout<<" 输入学号:"<<endl;cin>>no;cout<<" 输入姓名:"<<endl;·cin>>name;cout<<" 输入地址:"<<endl;cin>>address;cout<<" 输入电话号码:"<<endl;cin>>tel_no;cout<<" 输入邮编:"<<endl;cin>>post_code;cout<<" 输入E_mail:"<<endl;¥cin>>e_mail;(no,name,address,tel_no,post_code,e_mail);cout<<" 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ";char back_add;cin>>back_add;if(back_add=='R'||back_add=='r')goto top;else,goto bottom;break;case '2':cout<<" 输入要删除人的姓名:"<<endl;char name2[20];cin>>name2;(name2);cout<<" 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ";char back_del;\cin>>back_del;if(back_del=='R'||back_del=='r')goto top;elsegoto bottom;break;case '3':cout<<" 输入需要修改人的姓名:"<<endl;char name3[20];、cin>>name3;if(name3))goto top;else goto bottom;break;}break;case '2':cout<<" (1)根据姓名查找"<<endl;^cout<<" (2)根据学号查找"<<endl;char select3;cout<<" 请选择: ";cin>>select3;switch(select3){case '1':char name4[20];cout<<" 输入姓名: ";]cin>>name4;(name4);cout<<" 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ";char back_f1;cin>>back_f1;if(back_f1=='R'||back_f1=='r')goto top;else(goto bottom;break;case '2':char no4[13];cout<<" 输入学号: ";cin>>no4;(no4);cout<<" 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ";char back_f2;《cin>>back_f2;if(back_f2=='R'||back_f2=='r')goto top;elsegoto bottom;break;}break;—case '3':();cout<<" 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ";char back_w;cin>>back_w;if(back_w=='R'||back_w=='r')goto top;elsegoto bottom;(break;case '4':cout<<" (1)按学号排序:"<<endl;cout<<" (2)按姓名排序:"<<endl;cout<<" 请选择:";char select4;cin>>select4;switch(select4){!case '1':();cout<<" 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ";char back;cin>>back;if(back=='R'||back=='r')goto top;elsegoto bottom;~break;case '2':();cout<<" 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ";char back1;cin>>back1;if(back1=='R'||back1=='r')goto top;else-goto bottom;break;}break;case '5':();cout<<" 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ";char back_r;cin>>back_r;`if(back_r=='R'||back_r=='r')goto top;elsegoto bottom;break;case '6':cout<<" 请确认删除所有资料!(Y/N) ";char select5;cin>>select5;]if(select5=='Y'||select5=='y')();cout<<" 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ";char back_f;cin>>back_f;if(back_f=='R'||back_f=='r')goto top;else,goto bottom;break;}bottom:cout<<" ★★★★★★★★★★★★欢迎使用本软件!★★★★★★★★★★★ "<<endl;return 0;}o,"0")){、strcpy(st[i].address,address);strcpy(st[i].e_mail,e_mail);strcpy(st[i].name,name);strcpy(st[i].no,no);strcpy(st[i].post_code,post_code);strcpy(st[i].tel_no,tel_no);x=0;}、if(x==0)break;}}ame,name)){strcpy(st[i].address,"0");strcpy(st[i].e_mail,"0");·strcpy(st[i].name,"0");strcpy(st[i].no,"0");strcpy(st[i].post_code,"0");strcpy(st[i].tel_no,"0");}else x=0;}if(x==0)!cout<<" error:输入姓名错误!"<<endl; }ame,name))x=i;}char select;cout<<" (1)修改姓名:"<<endl;cout<<" (2)修改学号:"<<endl;]cout<<" (3)修改地址:"<<endl;cout<<" (4)修改邮编:"<<endl;cout<<" (5)修改电话号码:"<<endl;cout<<" (6)修改E_MAIL:"<<endl;cout<<" 请选择:";cin>>select;switch(select){·case '1':cout<<" 输入要修改的姓名:";char name1[30];cin>>name1;strcpy(st[x].name,name1);cout<<" 修改成功!"<<endl;return back();break;case '2':cout<<" 输入要修改的学号:";`char no1[13];cin>>no1;strcpy(st[i].no,no1);cout<<" 修改成功!"<<endl;return back();break;case '3':cout<<" 输入要修改的地址:";char address1[100];—cin>>address1;strcpy(st[x].address,address1);cout<<" 修改成功!"<<endl;return back();break;case '4':cout<<" 输入要修改的邮编:";char post_code1[7];cin>>post_code1;{strcpy(st[x].post_code,post_code1);cout<<" 修改成功!"<<endl;return back();break;case '5':cout<<" 输入要修改的电话号码:";char tel_no1[12];cin>>tel_no1;strcpy(st[x].tel_no,tel_no1);`cout<<" 修改成功!"<<endl;return back();break;case '6':cout<<" 输入要修改的E_MAIL:";char e_mail1[40];cin>>e_mail1;strcpy(st[x].e_mail,e_mail1);cout<<" 修改成功!"<<endl;|return back();break;}}o,no)){x=i;z=0;[}else y=0;if(z==0)break;}if(y==0)cout<<" 输入的学号查找不到!!!"<<endl; print(x);…}ame,name)){x=i;z=0;}else y=0;>if(z==0)break;}if(y==0)cout<<" 输入的姓名查找不到!!!"<<endl;print(x);}xt");\ifstream file(name1);char line[120];char no[120];char name[120];char address[120];char post_code[120];char tel_no[120];char e_mail[120];<int time=0;(line,120);while(!()){for(int k=0;k<35;k++){if(time==0){@strcpy(no,line);time=1;for(int i=0;i<120;i++){if(no[i]==':'){i++;for(int j=0;j<13;j++)|{st[k].no[j]=no[i];i++;}}}(line,120,'\n');}【if(time==1){strcpy(name,line);time=2;for(int i=0;i<120;i++){if(name[i]==':'){!i++;for(int j=0;j<20;j++){st[k].name[j]=name[i];i++;}}}%(line,120,'\n');}if(time== 2){strcpy(address,line);time=3;for(int i=0;i<120;i++){【if(address[i]==':'){i++;for(int j=0;j<100;j++){st[k].address[j]=address[i];i++;}/}}(line,120,'\n');}if(time==3){strcpy(tel_no,line);time=4;;for(int i=0;i<120;i++){if(tel_no[i]==':'){i++;for(int j=0;j<12;j++){st[k].tel_no[j]=tel_no[i];!i++;}}}(line,120,'\n');}if(time==4)|{strcpy(post_code,line);time=5;for(int i=0;i<120;i++){if(post_code[i]==':'){i++;'for(int j=0;j<7;j++){st[k].post_code[j]=post_code[i];i++;}}}(line,120,'\n');}if(time==5){strcpy(e_mail,line);time=0;for(int i=0;i<120;i++){if(e_mail[i]==':')…{i++;for(int j=0;j<40;j++){st[k].e_mail[j]=e_mail[i];i++;}}?}(line,120,'\n');}}}();}xt");#ofstream savefile(name);for(int i=0;i<35;i++){savefile << "学号:"<<st[i].no<<endl;savefile << "姓名:"<<st[i].name<<endl;savefile << "地址:"<<st[i].address<<endl;savefile << "电话号码:"<<st[i].tel_no<<endl;savefile << "邮编:"<<st[i].post_code<<endl; 'savefile << "E_MAIL:"<<st[i].e_mail<<endl;}();}o,st[j+1].no)>0){char no[13];char name[20];char address[100];char tel_no[12];char post_code[7];char e_mail[40];strcpy(no,st[j].no);strcpy(st[j].no,st[j+1].no);strcpy(st[j+1].no,no);!strcpy(name,st[j].name);strcpy(st[j].name,st[j+1].name);strcpy(st[j+1].name,name);strcpy(address,st[j].address);strcpy(st[j].address,st[j+1].address);strcpy(st[j+1].address,address);…strcpy(tel_no,st[j].tel_no);strcpy(st[j].tel_no,st[j+1].tel_no);strcpy(st[j+1].tel_no,tel_no);strcpy(post_code,st[j].post_code);strcpy(st[j].post_code,st[j+1].post_code);strcpy(st[j+1].post_code,post_code);~strcpy(e_mail,st[j].e_mail);strcpy(st[j].e_mail,st[j+1].e_mail);strcpy(st[j+1].e_mail,e_mail);}}}for(int k=0;k<35;k++)【{int x=0;if(strcmp(st[k].no,"0")){print(k);x=1;}if(x==1)cout<<endl;cout<<"-----------------------------------------------------------------------------"<<endl;}}}ame,st[j+1].name)>0){—char no[13];char name[20];char address[100];char tel_no[12];char post_code[7];char e_mail[40];strcpy(no,st[j].no);*strcpy(st[j].no,st[j+1].no);strcpy(st[j+1].no,no);strcpy(name,st[j].name);strcpy(st[j].name,st[j+1].name);strcpy(st[j+1].name,name);strcpy(address,st[j].address);(strcpy(st[j].address,st[j+1].address);strcpy(st[j+1].address,address);strcpy(tel_no,st[j].tel_no);strcpy(st[j].tel_no,st[j+1].tel_no);strcpy(st[j+1].tel_no,tel_no);strcpy(post_code,st[j].post_code);strcpy(st[j].post_code,st[j+1].post_code);strcpy(st[j+1].post_code,post_code);strcpy(e_mail,st[j].e_mail);strcpy(st[j].e_mail,st[j+1].e_mail);strcpy(st[j+1].e_mail,e_mail);}}for(int k=0;k<35;k++){int x=0;if(strcmp(st[k].no,"0")){print(k);x=1;}if(x==1){cout<<endl;cout<<"---------------------------------------------------------------------"<<endl;}}}ddress,"0");strcpy(st[i].e_mail,"0");strcpy(st[i].name,"0");strcpy(st[i].no,"0");strcpy(st[i].post_code,"0");strcpy(st[i].tel_no,"0");}}五、测试情况运行程序,首页显示如下:按1选择通讯录编辑,编辑通讯录,显示(1)添加,(2)删除,(3)修改,运行后结果如下:第一次使用,按1添加联系人,填入相关信息,运行图如下:返回首页,按2可以查找联系人,可以根据姓名查找和学号查找,本次运用学号查找,运行如下:返回首页,按4可以进行排序,可以根据姓名和学号排序,按姓名排序需要自己编辑的姓氏排序规则才能使用,本次使用学号排序,运行如下:将资料写入文件功能是将编辑好的通讯录写入文本文件,文本文件的名字可以自己输入。