C语言程序设计基础-实验8 (广西财大卢守东)

实验课程名称

程序设计基础

实验项目名称

文件的操作

实验时间

2022年6月13日—6月13日

实验

地点

明实1-604

实验课时合计: 2 节

学生班级

计科2141

指导老师

卢守东

学生姓名

学号

学生成绩

(分数)

实验目的和要求:

参考教材的有关内容与示例,按要求编写并调试相应的程序,理解并掌握C语言中文件的有关操作及编程技术。

实验内容:

        1.试编一程序,先输入一个文件名,然后打开该文件,接着再关闭该文件。

        2.从键盘输入10个字符,添加到指定的文件中,然后再重新读出该文件的内容,显示到屏幕上。

        3.从键盘输入职工的编号、姓名、性别与出生日期,写入指定的文件中,再从该文件读取这些资料,在屏幕上输出。

实验过程、程序代码、运行结果及分析说明:

1.打开关闭文件

#include <stdio.h>

#include <stdlib.h>



int main(void)

{

       char filename[50];                         //定义文件名限制长度

    FILE *fp;                               //文件指针的声明



    printf("请输你想要打开的文件名:\n");      //提示输入

    gets(filename);                          //获得文件名

   

    if((fp=fopen(filename,"r+"))==NULL)       //打开可读写的文件

       {

        printf("打开文件失败\n");

        exit(0);

    }

   

       if (fclose(fp))                           //关闭文件

       {

              printf("无法关闭文件!\n");

              exit(0);

       }

      

    return 0;

}

2.读取文件

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       int i;
       char ch;
       FILE *fp;                 //文件指针   
       if ((fp=fopen("作业.txt","wt+"))==NULL)
       {
              printf("文件打开错误!\n");
              exit(0);
       }
    printf("\n 请于右侧输入十个字符:"); 
       for(i=0;i<10;i++)
       {
              ch=getchar();
              fputc(ch,fp);
       }    
       if (fclose(fp))
       {
              printf("无法关闭文件!\n");
              exit(0);
       }
       if (fclose(fp))
       {
              printf("无法关闭文件!\n");
              exit(0);
       }
       if ((fopen("作业.txt","r"))==NULL)
       {
              printf("文件打开错误!\n");
              exit(0);
       }     
   printf(“\n”); 
       for (i=0;i<10;i++)        //显示
       {
              ch=fgetc(fp);
              printf("%c",ch);
       }
       if (fclose(fp))
       {
              printf("无法关闭文件!\n");
              exit(0);
       }     
}

3.职工信息

#include<stdio.h>
#include<stdlib.h>
struct date
{
       int year;
       int month;
       int day;
              };
struct student
{
       int num;
       char name[20];
       char sex[20];
       struct date birthday;
              }stu,stu2;
     
int main(void)
{
       while(true)
       {
              FILE *fp;           
              printf("请输入职工编号:");
              scanf("%d",&stu.num);
              getchar();
              printf("\n");

              printf("请输入职工姓名:");
              scanf("%s",&stu.name);
              getchar();
              printf("\n");

              printf("请输入职工性别:");
              scanf("%s",&stu.sex);
              getchar();
              printf("\n");

            printf("请依次输入职工出生日期(按年月日):");
            scanf("%d%d%d",&stu.birthday.year,&stu.birthday.month,&stu.birthday.day);
            printf("\n");          

            fp = fopen("ZG.txt","w");        
  
            if(!fp)
          {
                  printf("文件不可打开!\n");
                  exit(-1);
                        }
            fwrite(&stu,sizeof(stu),sizeof(stu),fp);
            rewind(fp);          
            fread(&stu2,sizeof(stu2),sizeof(stu),fp);
      printf("%d %s %s %d %d %d\n",stu.num,stu.name,stu.sex,stu.birthday.year,

stu.birthday.month,stu.birthday.day);

            fclose(fp);
                  }
               
      return 0;
      }

实验结论和体会(包括思政感悟):

        通过本次实验课程,我对文件的操作应用有了更深入的了解。学会了如何读取文件,写文件。将这个功能与前面所学相结合,这使得我使用C语言编写程序更为合理!

学生签名:       

2022年6月14日

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值