通信与信息工程学院软件实验报告
通信与信息工程学院
2012/2013学年 第 二 学期
软件设计实验报告
模块名称Visual C++ 专业广播电视工程
学生班级 B100117 学生学号 B10011714 学生姓名王建明 指导教师田炜
1
通信与信息工程学院软件实验报告
设计题目 (1)P021E (2)P018M (3)R019M (4)P006H 任务要求 (1)编辑文本;保存、打开指定位置的文本文件;具有输入输出界面。 (2)编制不同数制间的转换程序。要求提供输入输出界面,当输完一个任意十进制数字,程序能自动将其转化为另外的数制表示的值,包括二进制、八进制和十六进制。 (3)输入一个自然数n,求,同时统计结果中有多少个0。(4)输入任意四个整数(0到10),运算符只有加减乘除,还有括号.每个数只能且必须用一次。要求判断这些表达的结果中是否有24。 如果有,输出计算表达式:如输入4,6,1,1 输出 4*6*1*1 =24 (允许有括号)。 实验设备硬件设备: 及软件 微型计算机一台 JH5001IV型通信教学实验系统 软件设备: Microsoft Visual C++ 6.0 同组人员学号及姓名 参考文献 教材:《Visual C++ 6.0教程》于涛等 编 科学出版社 《C语言程序设计》 朱立华 王立柱 编著 人民邮电出版社 参考书:《计算机软件技术实验教程》熊壮 编 重庆大学出版社 《Visual C++ 6.0程序设计自学教程》 康博创作室 编著 清华大学出版社 《C程序设计》第三版 谭浩强 编著 清华大学出版社
2
通信与信息工程学院软件实验报告
题目一:P021E
实验要求:
设计一个简单的文本编辑器,该系统要求对一个文本文件中的内容进行各种常规操作,例如:
(1)编辑文本;
(2)保存、打开指定位置的文本文件; (3)具有输入输出界面。
1、问题分析与方案设计。
本次程序主要为了让我们了解C语言中对于文件的一般操作。
文件是程序设计中的一个重要概念。操作系统是以文件为单位对数据进行管理的,也就是说,如果想找外部介质上的数据,必须先按文件名找到所指定的文件,然后再从该文件中读取数据。C语言把文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。根据数据的组织形式,可分为ASCII文件和二进制文件。ASCII文件又称文本(text)文件,他的每一个字节放一个ASCII代码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。
在文件系统中,“文件指针”是一个非常重要的概念,通常在进行关于文件操作的C程序时,会定义一个结构体变量的文件指针(FILE *fp),以便于C语言程序能够准确的对文件进行访问及操作。本次实验程序包含了简单地对于文件的打开、插入、删除、查找、替换、显示、保存的操作,通过对于文件指针的运用以及各种文件指令的运用,基本达到了实验的要求。
在本次实验中,按照顺序程序的设计方法,加以熟练地运用C程序中主函数与一般函数之间的熟练调用,顺利的实现了实验要求的各种结果。程序中用到的核心方法包括:文件的打开与关闭、文件的读写、文件的定位以及文件的出错检测等。其中包括了fopen、fclose、fputc、fgetc、fread、fwrite、rewind、fseek、ftell和ferror等函数。这些函数对算法的实现起了很大的作用具体算法实现过程如下图所示。
3
通信与信息工程学院软件实验报告
程序流程图如下: 开始 1.打开文件 Choice=6 2.退出 N 输入正确否? Y 选择操作 Choice=2 Choice=1 输入文件名及路径 N 文件能否打开? Y 1.插入2.删除3.查找4.替 换5.显示6.返回0.退出 choice=3 Choice=1 输入插入的字符串 输入查找的字符串 输入删除的字符串 Choice=5 显示文件内容 Choice=2 Choice=4 输入替换的字符串及源字符串 Choice=0 结束 4
通信与信息工程学院软件实验报告
2、编程实现。
程序的关键源代码如下:
(1) 打开指定位置的文件的代码:
printf(\请输入要打开的文件名及路径:\ scanf(\ fp=fopen(name,\ if(!fp) { system(\ printf(\ ====文件无法打开!====\\n\ choose0(); }
system(\
while((ch=fgetc(fp))!=EOF) { putchar(ch); }
rewind(fp);
(2) 对文件内容进行插入操作的代码:
char s1[10000];
char s2[100]; inti=0;
while((ch1=fgetc(fp))!=EOF) { s1[i]=ch1; i++; }
rewind(fp); s1[i]='\\0'; system(\
show();
printf(\请定位你想要插入字符串的地方:\ scanf(\ system(\ show();
printf(\输入你插入的字符串:\ scanf(\
5