![[学习总结]南邮 软件设计报告.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-2/26/dde03b29-7621-4fe8-93d9-ca6e3cf1ad79/dde03b29-7621-4fe8-93d9-ca6e3cf1ad791.gif)
![[学习总结]南邮 软件设计报告.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-2/26/dde03b29-7621-4fe8-93d9-ca6e3cf1ad79/dde03b29-7621-4fe8-93d9-ca6e3cf1ad792.gif)
![[学习总结]南邮 软件设计报告.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-2/26/dde03b29-7621-4fe8-93d9-ca6e3cf1ad79/dde03b29-7621-4fe8-93d9-ca6e3cf1ad793.gif)
![[学习总结]南邮 软件设计报告.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-2/26/dde03b29-7621-4fe8-93d9-ca6e3cf1ad79/dde03b29-7621-4fe8-93d9-ca6e3cf1ad794.gif)
![[学习总结]南邮 软件设计报告.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-2/26/dde03b29-7621-4fe8-93d9-ca6e3cf1ad79/dde03b29-7621-4fe8-93d9-ca6e3cf1ad795.gif)
已阅读5页,还剩73页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0 软件设计报告 姓名姓名: 蒋彬蒋彬 学号:学号:09005830 2012 年年 6 月月 11 日日2012 年年 6 月月 24 日日 1 目目 录录 第一章 软件设计介绍3 第二章 软件开发平台简介. 4 第三章 软件设计的内容.6 3.1分数统计软件(A1)6 3.1.1 设计题目及要求 6 3.1.2 设计思想及程序流程框图 6 3.1.3 逻辑功能程序 7 3.1.4 结果及完善方向 9 3.2打字软件(A2).13 3.2.1 设计题目及要求 .13 3.2.2 设计思想及程序流程框图 .14 3.2.3 逻辑功能程序 .15 3.2.4 结果及完善方向 .19 3.3文本编辑器(A3).20 3.3.1 设计题目及要求 .20 3.3.2 设计思想及程序流程框图 .21 3.3.3 逻辑功能程序 .21 3.3.4 结果及完善方向 .26 3.4加密软件(A4).27 3.4.1 设计题目及要求 .27 3.4.2 设计思想及程序流程框图 .28 3.4.3 逻辑功能程序 .29 3.4.4 结果及完善方向 .33 3.5进制转换器(A5).34 3.5.1 设计题目及要求 .34 3.5.2 设计思想及程序流程框图 .35 3.5.3 逻辑功能程序 .36 3.5.4 结果及完善方向 .43 3.6学生成绩核算系统的设计与实现(B1).43 3.6.1 设计题目及要求 .44 3.6.2 设计思想及程序流程框图 .44 3.6.3 逻辑功能程序 .45 3.6.4 结果及完善方向 .57 3.7模拟电信计费系统的设计与实现(B2).57 3.7.1 设计题目及要求 .57 3.7.2 设计思想及程序流程框图 .58 3.7.3 逻辑功能程序 .58 3.7.4 结果及完善方向 .74 第四章 心得体会.75 2 第一章第一章 软件设计介绍软件设计介绍 软件工程采用的生命周期方法学是指从时间的角度对软件开发和维护的复杂问题进行分解,把 软件生存的漫长周期依次划分为三个大的阶段: (1)软件定义阶段:包括问题定义、可行性研究和需求分析三个子阶段; (2)软件设计阶段:包括总体设计、详细设计、编码和测试四个子阶段; (3)软件维护阶段:使软件在运行期间满足用户的需要。 上述的软件生命周期可以用瀑布模型来表示。软件设计阶段的总体设计或一般设计,它的任务 是确定软件结构。现在大多用结构化设计方法用于设计软件结构。SD 方法的基本思想是采用自顶 向下的模块化设计方法,按照模块化原则和软件设计策略,将软件分析得到的数据流图,映射成由 相对独立、单功能的模块组成的软件结构。SD 方法采用模块化原理进行软件结构的设计。 软件 结构图是精确表达系统内模块组织结构的图形工具。一个好的模块应该符合信息隐蔽和模块独立性 原则。软件结构通常采用模块分解的方法得到,分解时应遵循下列四个原则:提高模块的独立性;模 块的规模适中;模块的扇入、扇出适当;作用域保持在控制域中。结构化设计就是要将数据流图映 射为软件结构。 软件=文档+程序。因而注意在软件设计和开发过程中的文档是十分必要以及关键的,好的开 发文档可以使得软件的设计及开发过程比较有效,并且在软件及程序的耦合性及内聚性做到较为合 理,进一步避免了当初引起软件危机的一些基本问题。 在团队协作开发的情况下,编程时应该强调的一个重要方面是程序的易读性,在保证软件的速 度等性能指标能满足用户需求的情况下,能让其他程序员容易读懂自己的程序。一套鲜明的编程风 格,可以让协作者、后继者和自己一目了然,在很短的时间内看清程序的结构,理解设计的思路。大 大的提高代码的可读性、可重用性、程序健壮性、可移植性和可维护性。 制定本编程规范的目的是 为了提高软件开发效率及所开发的软件的可维护性,提高软件的质量。 本次软件设计综述: 一、软件设计总时间:二周 二、软件设计的性质、目的: 本课程是一门技能训练课,为在校学生的必修课程。通过设计培养学生良好的编程习惯, 使学生掌握编程的基本步骤,规范学生的编写程序的格式,锻炼学生编写程序的能力,为 将来编写较大程序的打好基础。 三、软件设计的任务 通过集中时间上机实验,使学生充分发挥已有的编程能力,熟悉编译环境,选择若干课题, 进行审题、分析、设计和调试,并根据要求写出实验报告。 四、实验内容 软件设计课题共分 A 、B 两档。A 档共 5 题,第一周完成;B 档共 2 题,第二周完成。 3 第二章第二章 软件开发平台简介软件开发平台简介 Visual C+是一个功能强大的可视化软件开发工具。自 1993年 Microsoft 公司推出 Visual C+1.0后,随着其新版本的不断问世, Visual C+已成为专业程序员进行软件开发的 首选工具。 虽然微软公司推出了 Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只 适用于 Windows 2000,Windows XP 和 Windows NT4.0。所以实际中,更多的是以 Visual C+6.0为平台。 Visual C+6.0不仅是一个 C+编译器,而且是一个基于 Windows 操 作系统的可视化集成开发环境( integrated development environment,IDE) 。Visual C+6.0 由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导 Class Wizard 等 开发工具。 这些组件通过一个名为 Developer Studio 的组件集成为和谐的开发环境。 Visual C+分分类类 Visual C+它大概可以分成三个主要的部分: 1 Developer Studio 这是一个集成开发环境,我们日常工作的 99%都是在它上面完成的,再加上它的标题赫然 写着“Microsoft Visual C+”,所以很多人理所当然的认为,那就是Visual C+了。其实不然, 虽然 Developer Studio 提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和 链接程序的功能,真正完成这些工作的幕后英雄后面会介绍。我们也知道,Developer Studio 并不是专门用于 VC 的,它也同样用于 VB,VJ,VID 等 Visual Studio 家族的其他同 胞兄弟。所以不要把 Developer Studio 当成 Visual C+, 它充其量只是 Visual C+的一个 壳子而已。这一点请切记! 2 MFC 从理论上来讲, MFC 也不是专用于 Visual C+,Borland C+,C+Builder 和 Symantec C+同样可以处理 MFC。同时,用 Visual C+编写代码也并不意味着一定要用 MFC,只要愿意,用 Visual C+来编写 SDK 程序,或者使用 STL,ATL,一样没有限制。 不过,Visual C+本来就是为 MFC 打造的,Visual C+中的许多特征和语言扩展也是为 MFC 而设计的,所以用 Visual C+而不用 MFC 就等于抛弃了 Visual C+中很大的一部分功 能。但是, Visual C+也不等于 MFC。 3 Platform SDK 4 这才是 Visual C+和整个 Visual Studio 的精华和灵魂,虽然我们很少能直接接触到它。 大致说来, Platform SDK 是以 Microsoft C/C+编译器为核心(不是 Visual C+,看清楚了) ,配合 MASM,辅以其他一些工具和文档资料。上面说到Developer Studio 没有编译程序的 功能,那么这项工作是由谁来完成的呢?是CL,是 NMAKE,和其他许许多多命令行程序, 这些我们看不到的程序才是构成Visual Studio 的基石。 Frontpage 设计的界面 1.请点击“验收界面请打开这里”这个文件 2.进入虚拟桌面后,可以查看不同的程序文件。 5 3.进入文件后可以看到应用程序和源程序 4.跟平时打开文件一样,点击就可以打开 6 第三章第三章 软件设计的内容软件设计的内容 3.1 分数统计软件(分数统计软件(A1) .1 设计题目及要求设计题目及要求 分数统计 要求:(1)输入某班级学生的姓名、分数; (2)对(1)的分数进行降幂排列并输出; (3)具有输入输出界面。 附加功能附加功能: (1)显示排序前后的学生学号、姓名、分数,对学生成绩进行降幂排名; (2)输入的分数可有小数,显示是只显示小数点后一位。 .2 设计思想及程序流程框图设计思想及程序流程框图 (1)设计思想: 建立学生结构体数组,结构体成员包括存储姓名的字符型数组以及存储分数的整型,使用 for 循环语句从输入处获取 n 个学生的姓名和成绩,成绩输入的信息存入结构体数组。再选择按成绩降 幂排名,将结构体数组从头进行输出。 (2)程序流程框图: N Y 开 始 自动降幂排序 输出排序后的成绩 单 结 束 输入是否正确? 清屏 输入学 生人数 输入学生姓名 name 和分数 grade 7 .3 逻辑功能程序逻辑功能程序 #include #include #include struct student /存放学生信息的结构体 char name20; /字符型数组存放姓名 int grade; /成绩类型 temp,std100; int main() int err; char x5; int n; int i; int m; char ch20; do system(“cls“); printf(“ nn“); printf(“ - n“); printf(“ | 欢迎使用本系统 | n“); printf(“ - n“); printf(“ n“); printf(“ -请输入学生数-nn“); do printf(“tt 学生数: “); err=0;i=0; scanf(“%s“,x); /输入选项 getchar(); while(xi!=0) /依次检查输入的字符串是否为数字 if(xi9|xi #include #include #include void main(void) int i,num,flag,m=0,k,over=1; char str100; /产生随机数组 char str1100; /输入随机数组 char c; float p; while(over) /选择是否继续 num=0; /产生字符长度 num 初始化为 0 m=0; /统计正确个数变量 m 初始化为 0 system(“cls“); /清除屏幕 printf(“nnn“); printf(“ - n“); printf(“ 欢迎使用本系统 n“); printf(“ - n“); printf(“ n“); srand(time(NULL); /提取系统时间,以时间为 seed 产生随机数 num=1+ rand()%10; /产生长度不大于 10 的字符串 for(k=0;k #include /包含 exit(1)的原型 #include #include“windows.h“ void create_file(FILE *fp,char *fname); /建立文本函数 void write_file(FILE *fp,char *fname); /编辑函数 void read_file(FILE *fp,char *fname); /读取函数 int main() FILE *fp; int count=0; char choose100; int flag1,flag2,flag3; char F_name20; while(1) printf(“*n“); printf(“*文本编辑器 *n“); 文件不存在 输入路径 结束 建立文本 编辑文本 输出文本 choose=2 choose=4 choose=3 输入路径 输入路径 文件不存在 文件不存在 22 printf(“*n“); printf(“* 1、建立文本 *n“); printf(“* 2、编辑文本 *n“); printf(“* 3、读取文本 *n“); printf(“* 4、退出程序 *n“); printf(“*n“); printf(“t 请选择你要进行的文件操作:“); scanf(“%s“,choose); getchar(); switch(choose0) case 1: flag1=1; break; case 2: flag2=1; break; case 3: flag3=1; break; case 4: printf(“t“);printf(“nnt* 谢谢使用! *n“);exit(0); break; default : printf(“t 输入错误!n“);Sleep(500);system(“cls“); if(flag1=1) flag1=0; printf(“n*建立文件*n“); create_file(fp,F_name); else if(flag2=1) flag2=0; printf(“n*编辑文件*n“); write_file(fp,F_name); else if(flag3=1) flag3=0; printf(“n*读取文件*n“); read_file(fp,F_name); 23 return 0; void write_file(FILE *fp,char *fname) char ch; printf(“请键入编辑的文件名(如 D:name.txt):nt“); gets(fname); if(fp=fopen(fname,“w“)=NULL) printf(“不能打开文件!n“); exit(0); printf(“请输入内容(以#号键结束):n“); ch=getchar(); while(ch!=#) fputc(ch,fp); ch=getchar(); printf(“nn“); getchar(); fclose(fp); Sleep(500); system(“cls“); void create_file(FILE *fp,char *fname) printf(“请键入新建的文件名(如 D:name.txt):nt“); gets(fname); if(fp=fopen(fname,“w+“)=NULL) printf(“不能打开文件!n“); exit(0); printf(“%s 文件已经创建好!nn“,fname); fclose(fp); Sleep(500); system(“cls“); void read_file(FILE *fp,char *fname) char ch; printf(“请键入读取的文件名(如 D:name.txt):nt“); 24 gets(fname); if(fp=fopen(fname,“r“)=NULL) printf(“不能打开文件!n“); exit(0); printf(“*文件内容*n“); printf(“- n“); while(ch=fgetc(fp)!=EOF) /输出文件直到文件结束符 putchar(ch); printf(“n- nn“); fclose(fp); Sleep(1000); printf(“nn“); .4 运行结果运行结果 1.1.系统界面:系统界面: 2.2.建立文本:建立文本: 25 3.3.编辑文本:编辑文本: 4.4.读取文本:读取文本: 26 5.5.文件不存在时:文件不存在时: 6.6.输入错误时:输入错误时: 27 Sleep()和 System()这两个函数的适当配合,使输入界面保持一个简洁明了 的状态。当输入错误时,程序不必重新载入界面,而是等待 0.5 秒后自动 清屏,这样使使用者更加舒适。 3.3.5 思考完善:思考完善: 本程序界面美观,通过程序优化,在输入菜单选择项时即使输入的是 很长的混乱字符,程序也会提示你输入错误,不会发生程序崩溃的现象。 本程序可以根据指定文件名进行建立文件、读取文件、编辑文件等操作。 本程序不足之处在于在编辑文本阶段,只是以覆盖的方式进行编辑, 这样会导致文件以前的内容完全丢失。应该在编辑函数中增加“追加编辑” 28 的功能,这样可以使使用者灵活的通过“覆盖方式” “追加方式”进行文件 编辑。 3.4 加密软件(加密软件(A4) .1 设计题目及要求设计题目及要求 题目:加密 要求:(1)输入任意一段明文 M,以及密钥 K; (2)根据以下公式将其转换为密文 C。 Ci = mi + K ,其中 i = 0,1,n-1 , K 为密钥; (3)具有输入输出界面。 .2 设计思想及程序流程框图设计思想及程序流程框图 (1)设计思想:输入明文,保存在字符串中,输入密钥,以字符数组形式获取,若为数字字符, 则取其数值,若为其他,则取其 ASCII 码值,最后转换成十进制数,将每个字符+密钥后生成密文 字符,然后按顺序输出显示密文。 (2)程序流程图: 3 2 1 输出功能菜单 输入 n n 结 束 输入明文 m 和密钥 k ci=mi+key0-0 输入密文 C 和密钥 k mi=ci-(key0-0) 开 始 29 .3 逻辑功能程序逻辑功能程序 #include #include #include void dis_menu(); /显示函数 void set_menu(); /输入函数 void encryption(char *m, char *c, char *key); /加密函数 void decryption(char *m, char *c, char *key); /解密函数 int main() while(1) dis_menu(); set_menu(); return 0; void dis_menu() printf(“t*n“); printf(“t*加密解密程序*n“); printf(“t* 1、加密 *n“); printf(“t* 2、解密 *n“); printf(“t* 3、退出 *n“); printf(“t*nn“); printf(“t 请选择你要进行的操作:“); void set_menu() char m100=“; /明文 char c100=“; /密文 char key100=“; /密钥 char n100; scanf(“%s“,n); if(strlen(n)1) 输出 m 和密文 C 输出密文 C 和 明文 m 30 printf(“t 输入错误!请重新输入:“); set_menu(); else switch(*n) case 1: encryption(m, c, key); break; case 2: decryption(m, c, key); break; case 3: printf(“t“); exit(1); break; default: printf(“t 输入错误!请重新输入:“); set_menu(); break; void encryption(char *m, char *c, char *key) printf(“t-n“); printf(“t-加密环节-n“); printf(“t-n“); printf(“t 请输入需加密的明文:“); scanf(“%s“,m); printf(“t 请输入密钥:“); scanf(“%s“,key); while(strlen(key)1) /密钥长度不能大于 1 printf(“t 输入密钥有误,请重输:“); scanf(“%s“,key); int i,length; length=strlen(m); printf(“t 你输入的明文为:“); printf(“%sn“,m); for(i=0;i1) printf(“t 输入密钥有误(应输入一个字符),请重输:“); scanf(“%s“,key); int i,length; length=strlen(c); printf(“t 你输入的密文为:“); printf(“%sn“,c); for(i=0;i void bishow(int m); void main() char x,w; char c10; int i=0,err=0,quitflag=0; int num=0; do system(“cls“); printf(“t- n“); printf(“t 欢迎数制转换系统 n“); printf(“t- n“); printf(“t n“); printf(“t- n“); printf(“t| 1 二进制 |n“); printf(“t| 2 八进制 |n“); printf(“t| 3 十进制 |n“); printf(“t| 4 十六进制 |n“); printf(“t| 0 退出 |n“); printf(“t- n“); printf(“nt 请选择: “); do err=0; scanf(“%c“,/输入选项 getchar(); if(x4|x7 | ci9 | ci=0) err=0;/若输入数据为非数字符号,则错误 else if(ci=a /输出二进制数 printf(“n“); .4 运行结果运行结果 初始界面: 41 选择输入二进制: 若输入错误: 选择输入八进制: 42 选择输入十进制: 选择输入十六进制: 43 进制数转换在本程序中只进行了对输入数据进行十进制和二进制的转换, 而八进制、十六进制则可以通过字符类型%o、%x 输出。 二进制转换算法: 44 3.5.5 思考完善:思考完善: 该程序实现了四种进制的数互相转化的功能,并能够判断每一次的输 入是否正确,唯一的缺点是程序不能对小数部分进行进制转换,有待优化。 3.6 学生成绩核算系统的设计与实现(学生成绩核算系统的设计与实现(B1) .1 设计题目及要求设计题目及要求 题目:学生成绩核算系统的设计与实现(25) 要求:(1)按班级按课程从文件中读入相应的平时成绩、期中考试成绩和期末考试成绩。 (2)三个成绩对总评成绩的百分比被定义为常数,各占总成绩的 30%、30%和 40%。 (3)计算每位学生的总评成绩。 (4)计算该班级本课程的总平均成绩。 (5)计算处于优、良、中、及格、不及格的学生人数以及占总人数的百分比。其中 100- 90 为优,89-80 为良,79-70 为中,69-60 为及格,60 分以下为不及格。 (6)按要求输出成绩在优、良、中、及格、不及格各区间的学生学号、成绩。 45 .2 设计思想及程序流程框图设计思想及程序流程框图 (1)设计思想: 1.建立文本文件 note.dat,每个学生的成绩信息占一行,格式为: 15 B08041101 88 75.5 66 B08041102 91 79.5 76 B08041103 85 75 77 B08041104 79 82 80.5 B08041105 94 83.5 81.5 B08041106 80 69 68 B08041107 82 77 71 B08041108 77 57 58 B08041109 91 88 86 B08041110 96 89 90 B08041111 70 45.5 50 B08041112 74 65 66 B08041113 81 71 76 B08041114 83 75 77 B08041115 85 78 79 2. 数据结构 本题中共设计了两个类:学生(Student)和学生成绩(marks) (1)基类学生(Student) ,定义如下: class Student /基类学生 private: /私有成员: char stu_no10; /学号 char stu_zhy20; /专业 public: /公有成员: Student() /构造函数 strcpy(stu_no,“NULL“); strcpy(stu_name,“NULL“); strcpy(stu_zhy,“NULL“); Student() /析构函数 void setno(char no) /设置学号 strcpy(stu_no,no); void setzhy(char zhy) /设置专业 strcpy(stu_zhy,zhy); char *getno() /取学号 return stu_no; char *getzhy() /取专业 46 return stu_zhy; ; (2)基类学生(Student)的派生类学生成绩(marks) ,定义如下: class marks:public Student /派生类学生成绩 protected: /保护成员: float sco1; /平时成绩 float sco2; /期中成绩 float sco3; /期末成绩 float avg; /总评成绩 char dengj; /等级 public: /公有成员: void setsco1(float s1)sco1=s1; /设置平时成绩 void setsco2(float s2)sco2=s2; /设置期中成绩 void setsco3(float s3)sco3=s3; /设置期末成绩 float getsco1()return sco1; /取平时成绩 float getsco2()return sco2; /取期中成绩 float getsco3()return sco3; /取期末成绩 float getavg() return avg; /取总评成绩 char getdengj()return dengj; /取等级 void Computavg(); /计算总评成绩 void GetDJ(); /计算等级 mark100; 3从文件中读入相应的平时成绩、期中考试成绩和期末考试成绩时,用 C+中的 流实现。 4. 每次计算出的结果可在屏幕输出,并把每个学生的总评成绩输入到新文件 out.dat 文件中,格式为: 学号 总评成绩 等级 班级平均成绩 B09040802 81.55 B 76.8 B09040803 78.8 C 76.8 B09040804 80.5 B 76.8 B09040805 85.85 B 76.8 B09040806 71.9 C 76.8 B09040807 76.1 C 76.8 B09040808 63.4 D 76.8 B09040809 88.1 B 76.8 B09040810 91.5 A 76.8 B09040811 54.65 E 76.8 B09040812 68.1 D 76.8 B09040813 76 C 76.8 B09040814 78.2 C 76.8 B09040815 80.5 B 76.8 为查询方便,可把总评成绩所处等级(优、良、中、及格、不及格)同时保存在文 47 件 out.dat 中,分别用字母 A、B、C、D、E 表示。本系统采用自顶向下,逐步细化的 方法,将整个系统细化成不同的模板。 (2)程序流程图: 1 2 3 4 5 .3 逻辑功能程序逻辑功能程序 #include /包含输入输出流对象的头文件 #include #include #include using namespace std; /声明空间 std FILE *fp1; /定义外部文件变量 开 始 输出功能菜单 读入文件 计算成绩 选择 n 输入查询等级 总评成绩、 等级、班级 平均成绩 显示学生成 绩 成绩等级比 例 成绩等级查询 该区间成绩 结束 48 FILE *fp2; int i; /文件中存储数据数量 float ave; /平均值 float p5; void dis_menu(); /菜单显示 void set_menu(); /菜单设置 void dis_score(); /显示学生成绩函数 void dis_zp(); /总评函数 void read_data(); /读取 void write_file(); /写入 void calc_grades(); /计算成绩函数 void dis_proportion(); /等级分级 void display(char ch); void check_grade(); struct student /定义学生成绩的结构体 char stu_num10; float ps_score;/平时成绩 float qz_score;/期中成绩 float qm_score;/期末成绩 float zp_score;/总评成绩 char grades; s40; int main() read_data(); calc_grades(); while(1) dis_menu(); set_menu(); return 0; void dis_menu() coutn; if(strlen(n)1) printf(“t 输入错误!请重新输入:“); set_menu(); else switch(*n) case 1: dis_score(); break; case 2: dis_zp(); write_file(); break; case 3: dis_proportion(); break; case 4: coutch; if(A #include #include #include #include int num1=0; /话单数 int num2=0; /长途费率种类数 int num3=0; /用户数 char order; /命令选择字符 int F1=0,F2=0,F3=0,F=0; /文件打开成功标志。三个文件均成功时 F 为。 int quitflag=0; /退出系统标志 int jsf=0; /费用计算标志 class Callist /基类:话单类 private: /私有成员: char calling_cod5; /主叫区号 char callerno10; /主叫电话号码 char called_cod5; /被叫区号 char calledno10; /被叫电话号码 61 int talktime; /通话时间 public: /公有成员: void set_callist(char cod1,char no1,char cod2,char no2,int t) /设置话单类 strcpy( calling_cod, cod1); /复制 strcpy( callerno , no1); strcpy(called_cod,cod2); strcpy(calledno,no2); talktime=t; char *getcod1() return calling_cod; /取主叫区号 char *getno1() return callerno; /取主叫电话号码 char *getcod2() return called_cod; /取被叫区号 char *getno2() return calledno; /取被叫电话号码 int gettime() return talktime; /取通话时间 void display_calling(char *num) /显示主叫的通话记录 if(strcmp(callerno,num)=0) coutcc1n1cc2n2t; chargersnum1.set_callist(cc1,n1,cc2,n2,t); num1+; /话单个数计数 F1=1; /文件打开标志置 coutcdnum2fenum2; num2+; /费率个数计数 for(int i=0;inona; Usersnum3.setuser(na,no); num3+; /用户人数计数 F3=1; /文件打开成功标志值置 coutorder; if(order=Y | order=y) return; else quitflag=1; return; if(jsf=0) /检验是否进行过费用计算 /若 jsf=0 提示尚未进行费用计算,并询问是否继续操 作 coutorder; if(order=Y | order=y) return; else quitflag=1; return; char cxno10; int z=0;/查找成功标志 while(z=0) coutcxno; /用户输入要查询的号码 coutorder; if(order!=Y return; coutorder; if(order=Y | order=y) return; else quitflag=1; return; void ChaXun_hd() /话单查询,显示查询号码的主叫话单和被叫话单 if(F=0) /检验是否成功读入三个文件 /若 F=0 提示文件尚未读入成功,询问是否继续操作 coutorder; if(order=Y | order=y) return; else quitflag=1; return; if(jsf=0) /检验是否进行过费用计算 /若 jsf=0 提示尚未进行费用计算,并询问是否继续操作 coutorder; if(order=Y | order=y) return; else 69 quitflag=1; return; char cxno10; int z=0;/查询成功标志 while(z=0) coutcxno;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年福建省宁德市周宁县委政法委招聘3人模拟试卷及参考答案详解
- 2025北京市海淀区育鹰小学招聘5人考前自测高频考点模拟试题附答案详解(完整版)
- 2025年河南省职工医院招聘护理人员60人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025年河北唐山滦州市森林草原消防专业队员招聘7人考前自测高频考点模拟试题带答案详解
- 2025年青岛市崂山区“崂选计划”第二批选聘(37名)模拟试卷带答案详解
- 安全培训教学提纲课件
- 河北省【中职专业高考】2025年中职高考对口升学(理论考试)真题卷【生物与化工大类】模拟练习
- 安全培训救火毯课件
- 2025广东“百万英才汇南粤”佛山市高明区选聘公办初中校长9人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025年连云港市赣榆区事业单位公开招聘工作人员31人考前自测高频考点模拟试题及答案详解(全优)
- 《水利水电建设工程验收规程》-SL223-2008
- AIOT智能物联产业学院建设方案
- 行政管理专业教学实施细则
- 闭合性颅脑损伤重型个案护理
- 紫金矿业员工工作手册
- FZ-T 01158-2022 纺织品 织物刺痒感的测定 振动音频分析法
- 工程部造价管控手册
- 2024公安联考行测题库
- 民政信访业务培训课件
- 行政检查业务培训课件
- 汽车销售三方协议
评论
0/150
提交评论