C语言第十五作业答案,第十五次c语言作业

习题15-3:

题码: 章节: 考查点:文件的正确使用 难度:编写一程序P796.C实现以下功能

在磁盘上新建一个文件Test.txt,将从键盘读入的多个字符存储到该文件中,要求如下:

(1)若输入的字符中有小写字母,则应先将其转换为大写后再存入。

(2)输入!表示输入结束且!不存入文件中。

(3)当文件创建失败或向文件写入字符时出错,应显示指定的出错信息并终止程序的执行。

(4)程序的返回值(即由main函数return的值和程序使用exit终止运行时返回的值,也称退出代码)规定为: ①运行正常返回0 ②文件创建失败返回1 ③向文件写入字符时出错返回2

编程可用素材:printf("\nCreate file error!\n")、printf("Input chars: ")、printf("\nWriting file error!\n")。

程序的运行效果应类似地如图1所示,文件Test.txt的内容应类似地如图2所示。图1中的“Input chars: ”后面的内容系从键盘输入。

2-185-png_6_0_0_42_320_355_128_892.979_1262.879-413-0-14-413.jpg

2-232-png_6_0_0_413_287_300_161_892.979_1262.879-434-0-204-434.jpg

图1 程序运行效果示例

习题15-4:

题码:1 章节:文件操作 考查点: 难度:2

编写一程序p317.C实现以下功能

根据输入的源文件名(含路径, <100字节)和目标文件名(含路径, <100字节),实现将源文件复制到目标文件。注意事项:

(1)源文件可能是文本文件,也可能是二进制文件。

(2)程序的返回值(即由main函数return的值和程序使用exit终止运行时返回的值,也称退出代码)规定为:

①复制成功返回0 ②源文件打开失败返回2 ③目标文件创建失败返回3 ④向目标文件写数据的过程中出错返回4

(3)向目标文件写数据的过程中出错的情况很少发生,考生根据图例中的输入数据进行测试时,很可能不会出错,但程序应考虑出错的情况。

(4)编程可用素材:printf("Please input sourceFilename: ")...、 printf("Please input destinationFilename: ")...、 printf("\ncopy %s to %s successed!\n", ...、printf(" \nsource File (%s) Open Error!\n", ...、printf("

\ndestination File (%s) Create Error!\n", ...、printf(" \nwriting destination File (%s) Error!\n", ...。

程序的运行效果应类似地如图1、图2、图3和图4所示,图1中的C:\Temp\Test.dat和D:\CpOk.doc、图2中的C:\Temp \TestN.dat和D:\Dsm.dat、图3中的C:\Temp\Test.dat和D:\noDir\Dsm.dat、图4中的C:\Temp \Test.dat和D:\Wer.dat是从键盘输入的内容。

2-150-png_6_0_0_42_823_369_104_892.979_1262.879-532-0-441-532.jpg

图2 程序运行效果示例(生成的文件Test.txt之内容

2-150-png_6_0_0_427_822_370_105_892.979_1262.879-532-0-596-532.jpg

图1 源文件存在,目标文件创建成功,复制正常完成 图2 源文件打开失败

2-150-png_6_0_0_42_950_358_101_892.979_1262.879-532-0-751-532.jpg

2-150-png_6_0_0_416_947_366_104_892.979_1262.879-532-0-906-532.jpg

图3 目标文件创建失败 图4 向目标文件写数据的过程中出错

提示:

因源文件可能是文本文件,也可能是二进制文件。使用fgetc和fputc来做,且判断文件是否结束应用feof来做 程序设计思路如下:

打开源文件,判断失败否,失败,return 2;

打开目标文件,判断失败否,若失败,关闭源文件,return 3;

while(源文件没有结束) //while (!feof(in))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值