《C语言及程序设计》实践项目——文件操作

原创 2015年07月07日 11:10:53

返回:贺老师课程教学链接

【项目1 - 小玩文件】
1、下面程序的功能是统计文本文件abc.txt中的字符个数,请填空将程序补充完整。

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *fp;
    if((fp=fopen("abc.txt",_______))==NULL)  //(1)
    {
        printf("open error!\n");
        exit(1);
    }
    int i=0;
    while(________) // (2)
    {
        fgetc(fp);
        _________; // (3)
    }
    printf("Character: %d\n", i);
    fclose(________);// (4)
    return 0;
}

2、用键盘输入文件名,统计输出文件中每个字母、数字字符出现的次数;
[参考解答]

【项目2-用文本文件保存的学生名单】
文件score.dat中保存的是若干名学生的姓名和C语言课、高数和英语成绩。
(1)定义学生结构体,其中包含姓名、C++课、高数和英语成绩及总分数据成员。

//定义学生结构体
typedef struct 
{
    string name;
    double cpp;
    double math;
    double english;
    double total;
}Student

(2)用对象数组进行存储学生的成绩,读入成绩并计算总分;将总分高于平均总分且没挂科的同学的信息保存到文件pass_score.dat中。

int main( ){
    Student stud[200],t; //stud[200]为保存数据的对象数组
    //从文件score.dat中读入数据,保存到对象数组中

    //总分高于平均总分且没挂科的同学的信息保存到文件pass_score.dat中
    return 0;
}

[参考解答]

【项目3 - 处理C语言源代码的程序】
用C语言写的源程序是一种文本文件。本项目将以C语言的源程序为操作对象,完成对源程序的一系列处理,如判断是否有main函数、将某些行加上注释等。各功能可以分别编制一个程序实现(建议用这种简单的方案),也可以将其集成在一起(向着自己做出IDE努力)。
(1)读入一个C++程序,判断其中是否只有一个main()函数,输出“暂时没有发现问题”,或者“没有main()函数”,或者“不能定义多个main()函数”;
提示1:简单处理,可以只比较判断“main()”,考虑实际上的各种可能,main后面的括号中有任意多个空格及void的都应该算在内。建议按最简单的情形处理。
提示2:建议设计一个函数,将读到的代码与字符串“main()”进行比较。函数用于判断s1是否“包含”在读入的一行s2中,调用时,形参s1处的实参用”main()”即可,这样写提升了“抽象”级别,更容易实现,对应更高的代码质量。
(2)读入一个C语言程序,使程序中的所有左花括号“{”和右花括号“}”都单独占一行,新程序保存到另一个.c文件中,并在屏幕上显示处理过的程序,显示时加上行号。
(3)读入一个C语言程序,输入m、n两个数字,从第m行起的n行代码将作为注释使用(即在这些行前面加上”//”),新程序保存到另一个.c文件中,并在屏幕上显示处理过的程序,显示时加上行号。
[参考解答]

【项目4 - 间隔选职工】
(1)从键盘输入10名职工的工号、姓名和年龄,并保存到二进制文件worker.rec中
用下面的结构体表示一名职工的记录

typedef struct 
{ 
    int num;   //工号
    char name[10];   //姓名
    int age;  //年龄
} Worker;

(2)从文件中读取并显示顺序号为奇数的职工记录。(即第 1,3,5,…号职工的数据)
[参考解答]

【项目5 - 二进制文件浏览器】
(1)做一个类似BinaryViewer的查看二进制文件的程序,输入文件名后,可以以16进制和ASCII对照的方式列出该文件的内容,可以参考下图:
这里写图片描述
提示:循环中,一次读入16个字节,先用16进制形式输出,再用字符形式输出。
(2)通过为main函数加参数,在命令行方式下,输入“命令加文件名”的方式,就可以显示该文件的内容,也采用如上16进制和ASCII对照的形式。
[参考解答]

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C语言学习之文件操作(含重庆大学研究生程序设计大赛的题目和解答)

说到C语言,自己虽然经常用,但是由于专业的问题,我写的C语言一般都是写嵌入式的C语言,所以很少会涉及到文件操作之类的问题,这一块也是很不熟悉的,所以把上次的题目拿下来继续学习学习,总结一下文件操作的问...
  • gao0arm
  • gao0arm
  • 2013年07月13日 20:17
  • 940

《C语言及程序设计》实践项目——迭代法解题

返回:贺老师课程教学链接 【项目1:另类求和】求 Sn=a+aa+aaa+...+aa...a之值,其中 a是一个数字。例如2+22+222+2222( 此时a=2,n=4),a和n均由键盘输入。请在...

《C语言及程序设计》实践项目——穷举法解题

返回:贺老师课程教学链接说明:穷举法在有些时候,并不是一种最有效率的解决方案,但却是最直观的。初学者依靠这一组问题的解决,将获得程序设计的最直接体验,以及会想问题的头脑。【项目1-小明借书】小明有五本...

《C语言及程序设计》实践项目——循环控制结构流程图

返回:贺老师课程教学链接 画出实现下面求解任务的流程图1、简单循环的流程图(提示:m是一个变量,在程序中输入)(1)求1到m的倒数和,即  (2)求1到m的平方和(3)求1到m间所有奇数的和(4)求值...

《C语言及程序设计》实践项目——数字游戏

返回:贺老师课程教学链接说明:这里给出的题目比较多,可以耐心地做下去。初学者一旦通过这样一些小的程序,走出了循环的困局,程序设计的感觉,也便逐渐好了起来。循环作为初学者必须迈过去的一道坎,这样的训练自...

《C语言及程序设计》实践项目——利用switch语句解决问题

返回:贺老师课程教学链接 【项目1:投票表决器】设计一个投票表决器,其功能是:输入Y、y,打印agree输入N、n,打印disagree输入其他,打印lose请在下面代码的基础上,将程序补充完整#in...

第四周《C语言及程序设计》实践项目39 问题求解——求素数

【项目1-完数】/* * Copyright (c) 2016, CSDN学院 * All rights reserved. * 文件名称:【项目2 - n=a!+b!+c!】.cp...

《C语言及程序设计》实践项目——用if语句实现分支结构

返回:贺老师课程教学链接 【项目1:被3或者5整除的数】编程序,输入一个数,判断它能否被3或者被5整除。如至少能被这两个数中的一个整除,则将此数打印出来,否则不打印。[参考解答]【项目2:乱玩数字】编...

《C语言及程序设计》实践项目——让代码积累“看得见”

返回:贺老师课程教学链接  C语言及程序设计初步  【项目1-发布第一篇博文】问题:请编程序解决下面的问题:输入两个电阻r1和r2的阻值,计算并输出它们串联后的阻值r(设电阻值均为整数)。分析:r=r...

《C语言及程序设计》实践参考——二进制文件浏览器

返回:贺老师课程教学链接【项目5 - 二进制文件浏览器】 (1)做一个类似BinaryViewer的查看二进制文件的程序,输入文件名后,可以以16进制和ASCII对照的方式列出该文件的内容,可以参考...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《C语言及程序设计》实践项目——文件操作
举报原因:
原因补充:

(最多只允许输入30个字)