C++-通讯录课程设计报告

合集下载

CC&SC

CC&SC

二.重要保安特性發展圖
特殊特性符号
嚴重度(S)評分標準建議(I)-設計FMEA
效應
無警告的嚴重危害 有警告的嚴重危害 很高 高 中等 低 很低 輕微 很輕微 無
判定準則:效應的嚴重度
嚴重級別很高。潛在失效模式影響車輛安全運行和/或 包含不符合政府法規情形。失效發生時無預警。 嚴重級別很高。潛在失效模式影響車輛安全運行和/或 包含不符合政府法規情形。失效發生時有預警。 車輛/系統無法運行 (喪失基本功能)統能運行,但舒適性/方便性能下降,顧客不滿 意。 車輛/系統能運行,但舒適性/方便性能下降,顧客有些 不滿意。 裝配和最後完工/尖響聲和卡塔響聲不符合要求,多數 顧客發現有缺陷 (多於75%) 。 裝配和最後完工/尖響聲和卡塔響聲不符合要求, 50%的顧客發現有缺陷。 裝配和最後完工/尖響聲和卡塔響聲不符合要求,有辨 識能力的顧客發現有缺陷 (少於25%) 。 沒有可識別的影響。

實施控制計劃之益處

控制計劃概念


顧客滿意程度:控制計劃集中將資源用於對顧 客來說重要的特性有關的過程和產品。將資源 正確分配在這些重要項目上有於在不影響質量 的情況下,降低成本。 交流:作為一個動態文件,控制計劃識別並傳 達了產品/過程特性、控制方法和特性測量中 的變化。
控制計劃的範圍
控制計劃的範圍

2.试生产控制计划
试生产控制计划地对样件研制后批量生产前,进行的尺寸测 量和材料、功能试验的描述。试生产控制计划应包括正式生产过 程生效前要实施的附加产品/过程控制。试生产控制计划的目的是 为遏制初期生产运行过程中或之前的潜在不符合。例如: · 增加检验次数; · 增加生产过程中的检查和最终验点; · 统计评价; · 增加审核。

51单片机C语言头文件及其使用

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-二氯酚靛酚滴定法

实验一维生素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语言程序的三种基本结构

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语言实验题目()

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程序获取命令行参数

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

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 系 统

C R M 系统CRM系统即客户关系管理系统(Customer Relationship Management),以客户为中心的现代企业,以客户价值来判定市场需求,对于正在转变战略从"产品中心" 向 "客户中心" 过渡的企业无疑是一拍即合。

关于CRM的定义,不同的研究机构有着不同的表述。

最早提出该概念的GartnerCRM系统Group认为:所谓的客户关系管理就是为企业提供全方位的管理视角;赋予企业更完善的客户交流能力,最大化客户的收益率。

客户关系管理是企业活动面向长期的客户关系,以求提升企业成功的管理方式,其目的之一是要协助企业管理销售循环:新客户的招徕、保留旧客户、提供客户服务及进一步提升企业和客户的关系,并运用市场营销工具,提供创新式的个性化的客户商谈和服务。

HurwitzGroup认为:CRM的焦点是自动化并改善与销售、市场营销、客户服务和支持等领域的客户关系有关的商业流程。

CRM既是一套原则制度,也是一套软件和技术。

它的目标是缩减销售周期和销售成本、增加收入、寻找扩展业务所需的新的市场和渠道以及提高客户的价值、满意度、赢利性和忠实度。

CRM应用软件将最佳的实践具体化并使用了先进的技术来协助各企业实现这些目标。

CRM在整个客户生命期中都以客户为中心,这意味着CRM应用软件将客户当作企业运作的核心。

CRM应用软件简化协调了各类业务功能(如销售、市场营销、服务和支持)的过程并将其注意力集中于满足客户的需要上。

CRM应用还将多种与客户交流的渠道,如面对面、电话接洽以及Web访问协调为一体,这样,企业就可以按客户的喜好使用适当的渠道与之进行交流。

而IBM则认为:客户关系管理包括企业识别、挑选、获取、发展和保持客户的整个商业过程。

IBM把客户关系管理分为三类:关系管理、流程管理和接入管理。

从管理科学的角度来考察,客户关系管理(CRM)源于市场营销理论;从解决方案的角度考察,客户关系管理(CRM)是将市场营销的科学管理理念通过信息技术的手段集成在软件上面,得以在全球大规模的普及和应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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可以进行排序,可以根据姓名和学号排序,按姓名排序需要自己编辑的姓氏排序规则才能使用,本次使用学号排序,运行如下:将资料写入文件功能是将编辑好的通讯录写入文本文件,文本文件的名字可以自己输入。

相关文档
最新文档