用文本文档编写c语言程序,c语言程序设计!怎样用程序修改文件(txt文档)里面的内容!?(需要代码,不仅仅是解说)...

这篇博客介绍了如何使用C语言编程修改txt文档中的课程信息。通过读取文件,找到指定课程编号,然后更新相关信息并重新写入文件。示例代码展示了如何实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

已结贴√

问题点数:20 回复次数:3

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

c语言程序设计!怎样用程序修改文件(txt文档)里面的内容!?(需要代码,不仅仅是解说)

例如:有一个文件,文件里面储存的有几个课程,其中有课程的编号、名称、性质等!其中一门课程的性质需要修改,或者另一门课程的名称要修改,该怎么弄?

#include

#include

#include

struct kechen

{

int bianhao;            //课程编号

char minchen[11];        //课程名称)

char xinzhi[5];            //(必修 选修)课程性质

int xueshi;                //课程总学时

int xueshi1;            //课程授课学时

int xueshi2;            //课程实验或者上机学时

float xuefen;            //课程学分

char xueqi[7];            //开课的学期)

char shijian[10];        // 上课时间

int renshu;             //人数上限

};

void kechen_luru();//(输入1)录入课程

int main(void)

{

FILE *fp;

int num,j=0,i=0;

float xuefeng;

struct kechen luru[1000];

if((fp=fopen("文件.txt","a+"))==NULL)

{

printf("cannot open this file\n");

exit(0);

}

printf("输入要修改的课程编号:");

scanf("%d",&num);

while(num!=0)//不想修改了就输入0

{

while(!feof(fp))

{

//            fread(&luru[j],sizeof(struct kechen),1,fp);

fscanf(fp, "%d %s %s %d %d %d %f %s %s %d\n", &luru[j].bianhao, luru[j].minchen, luru[j].xinzhi, &luru[j].xueshi, &luru[j].xueshi1,

&luru[j].xueshi2, &luru[j].xuefen, luru[j].xueqi, luru[j].shijian, &luru[j].renshu);

if(num==luru[j].bianhao)

{

i++;

printf("此编号现有信息:\n      %d %s %s %d %d %d %.1f %s %s %d\n", luru[j].bianhao, luru[j].minchen, luru[j].xinzhi, luru[j].xueshi, luru[j].xueshi1,

luru[j].xueshi2, luru[j].xuefen, luru[j].xueqi, luru[j].shijian, luru[j].renshu);

printf("\n");

printf("输入修改的信息:\n");

printf("   编号:");

scanf("%d",&luru[i].bianhao);

printf("  名称:");

scanf("%s",luru[i].minchen);

printf("  性质:");

scanf("%s",luru[i].xinzhi);

printf("  总学时:");

scanf("%d",&luru[i].xueshi);

printf("  授课学时:");

scanf("%d",&luru[i].xueshi1);

printf("  实验或上机学时:");

scanf("%d",&luru[i].xueshi2);

printf("  学分:");

scanf("%f",&xuefeng);luru[i].xuefen=xuefeng;

printf("  开课学期:");

scanf("%s",luru[i].xueqi);

printf("  上课时间:");

scanf("%s",luru[i].shijian);

printf("  人数上限:");

scanf("%s",&luru[i].renshu);

//到这下面就不会了!

fprintf(fp, "%d %s %s %d %d %d %.1f %s %s %d\n", luru[j].bianhao, luru[j].minchen, luru[j].xinzhi, luru[j].xueshi, luru[j].xueshi1,

luru[j].xueshi2, luru[j].xuefen, luru[j].xueqi, luru[j].shijian, luru[j].renshu);

}

j++;

}

if(i==0)

{

printf("没有此课程,请重新输入编号!\n");

}

printf("\n");

printf("输入要修改的课程编号:");

scanf("%d",&num);//不想修改了就输入0

j=0;

i=0;

}

fclose(fp);

return 0;

}

void kechen_luru()

{

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值