第七章 文件

一、习题

1、编写程序,要求在磁盘中建立一个文本文件text.txt,并往文本文件中输入任意一段文字;

#include <stdio.h>
#include <stdlib.h>

int main(){
	char s[100];
	FILE *fp;
	fp=fopen("test.txt","w+");
	if(fp==NULL)
	{
		printf("文件打开错误");
		exit(1);
	}
	else{
		scanf("%s",s);
		fprintf(fp,"%s",s);
	}
	fclose(fp);
	return 0;
}

2、将题1中的第1,3,5,7个字符读出来,并显示在屏幕上

#include <stdio.h>
#include <stdlib.h>

int main(){
	char ch;
	FILE *fp;
	fp=fopen("test.txt","r");
	if(fp==NULL)
	{
		printf("文件打开错误");
		exit(1);
	}
	else{
		for(int i=1;i<8;i+=2)
		{
			fseek(fp,i*1L,0);
			ch=fgetc(fp);
			printf("%c",ch);
		}
	}
	fclose(fp);
	return 0;
}

3、建立一个磁盘文件,记录学生的信息包含学号、姓名、性别等信息

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct
{
    char no[10];
    char name[10];
    double foreign;
    double spec1;
    double spec2;
    double total;
} StudentType;

void WriteToFile(void);
void ReadFromFile(void);

int main(void)
{
    int select;
    do
    {
        printf("1.录入成绩 2.输出成绩 0.退出\n");
        printf("请输入要执行的操作: ");
        scanf("%d", &select);
        switch (select)
        {
        case 1:
            WriteToFile();
            break;
        case 2:
            ReadFromFile();
            break;
        default:
            printf("退出程序!\n");
            break;
        }
    } while (select == 1 || select == 2);

    return 0;
}
void WriteToFile(void)
{
    FILE *fp = NULL;
    StudentType stu;
    char flag = 'y';

    fp = fopen("student.txt", "a");
    if (fp == NULL)
    {
        printf("文件打开失败!\n");
        exit(1); //有错的方式退出
    }

    while (flag == 'y' || flag == 'Y')
    {
        printf("请输入考生考号: ");
        scanf("%s", stu.no);
        printf("请输入考生姓名: ");
        scanf("%s", stu.name);
        printf("请输入考生外语成绩: ");
        scanf("%lf", &stu.foreign);
        printf("请输入考生专业课1成绩: ");
        scanf("%lf", &stu.spec1);
        printf("请输入考生专业课2成绩: ");
        scanf("%lf", &stu.spec2);
        stu.total = stu.foreign + stu.spec1 + stu.spec2;
        fprintf(fp, "%10s%10s%8.2f", stu.no, stu.name, stu.foreign);
        fprintf(fp, "%8.2f%8.2f%8.2f", stu.spec1, stu.spec2, stu.total);
        fputc('\n', fp);
        fflush(stdin);
        printf("继续输入吗?继续请输入y或Y: ");
        scanf("%c", &flag);
    }

    fclose(fp);

    return;
}
void ReadFromFile(void)
{
    FILE *fp = NULL;
    StudentType stu;
    fp = fopen("student.txt", "r");
    if (fp == NULL)
    {
        printf("文件打开失败!\n");
        exit(1);
    }

    printf("%10s%8s\n", "考生姓名", "总分");
    while (!feof(fp))
    {
        fscanf(fp, "%s%s", stu.no, stu.name);
        fscanf(fp, "%lf%lf%lf%lf", &stu.foreign, &stu.spec1, &stu.spec2, &stu.total);
        if (strlen(stu.name) != 0)
        {
            printf("%10s%8.2f\n", stu.name, stu.total);
            strcpy(stu.name, "");
        }
    }

    fclose(fp);

    return;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值