c++第十章 习题.doc_第1页
c++第十章 习题.doc_第2页
c++第十章 习题.doc_第3页
c++第十章 习题.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十章 习题一、选择题12345678910ABCDDCBA二、填空题1、顺序、随机 2、ASCII、二进制 3、n-1 4、FILE *fp; 5、对文件操作出错三、程序设计题1、从键盘输入一个字符串(字符串以#结束),将此字符串输入到文件string中,再从文件中读出字符串显示在屏幕上。(使用fgetc和fputc函数)答案/* * 第10章 * 1、从键盘输入一个字符串(字符串以#结束), * 将此字符串输入到文件string中, * 再从文件中读出字符串显示在屏幕上。(使用fgetc和fputc函数) */#include#includemain() FILE *fp; char str100, ch; int i = 0; if(fp = fopen(string, w) = NULL) printf(Cannot open file,press any key exit!); getch(); exit(1); /*从键盘接收字符串存放于str中*/ printf(input a string: n); scanf(%s, str); /*将字符串str中的各个字符写入文件*/ while(stri != # & stri != 0) fputc(stri, fp); i+; fclose(fp); if(fp = fopen(string, r) = NULL) printf(Cannot open file,press any key exit!); getch(); exit(1); ch = fgetc(fp); /*从文件中依次读出字符串的各字符显示在屏幕上*/ while(ch != EOF) putchar(ch); ch = fgetc(fp); fclose(fp);2、从键盘输入一个字符串(字符串以#结束),将此字符串输入到文件string中,再从文件中读出字符串显示在屏幕上。(使用fgets和fputs函数)答案/* * 第10章 * 2、从键盘输入一个字符串(字符串以#结束), * 将此字符串输入到文件string中, * 再从文件中读出字符串显示在屏幕上。(使用fgets和fputs函数) */#include#include#includemain() FILE *fp; char str100; int i = 0; if(fp = fopen(string, w) = NULL) printf(Cannot open file,press any key exit!); getch(); exit(1); printf(input a string:n); scanf(%s, str); /*从键盘接收字符串存放于str中*/ strstrlen(str)-1 = 0; /*忽略字符#*/ fputs(str, fp); /*将字符串写入文件*/ fclose(fp); if(fp = fopen(string, r) = NULL) printf(Cannot open file,press any key exit!); getch(); exit(1); fgets(str, strlen(str) + 1, fp); /*从文件中读出字符串存放于str中*/ printf(%sn, str); /*在屏幕上显示字符串*/ fclose(fp);3、编程序将10名学生(学号分别为1001、1002、10031010)的信息通过键盘输入,顺序写入文件。并实现通过键盘输入学号,能够随机读取文件信息,进行相应学生的信息的查询功能。答案/* * 第10章 * 3、编程序将10名学生(学号分别为1001、1002、10031010)的信息通过键盘输入, * 顺序写入文件。并实现通过键盘输入学号,能够随机读取文件信息,进行相应学生的信息的查询功能。 */#include#includestruct stu int num; char name30; float score; student10, student_search;int main() int i, num_search; FILE *fp; /*从键盘输入10名学生数据存放于student中*/ for(i = 0; i 10; i+) studenti.num = 1000 + i + 1; printf(ninput student %d: n, i + 1); printf(num: %dn, studenti.num); printf(name: ); scanf(%s, ); printf(score: ); scanf(%f, &studenti.score); if(fp = fopen(student_search, wb) = NULL) printf(Cannot open file,press any key exit!); getch(); exit(1); /*将10名学生数据依次写入文件*/ for(i = 0; i 10; i+) fwrite(&studenti, sizeof(struct stu), 1, fp); fclose(fp); /*从键盘输入要查询的学生学号*/ printf(ninput num_search: n); scanf(%d, &num_search); /*根据学号计算相应学生信息在文件中的位置*/ num_search = num_search % 100; if(fp = fopen(student_search, rb) = NULL) printf(Cannot open file,press any key exit!); getch(); exit(1); /*将文件位置指针定位至要读的学生信息位置*/ fseek(fp, (num_search - 1)*sizeof(struct stu), 0); /*将相应学生信息从文件中读出,存放于student_search中*/ fread(&student_search, sizeof(struct stu), 1, fp); /*将相应学生信息显示在屏幕上*/ prin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论