第三次博客作业

C语言文件

任务一:

你现在拥有一个数组,数组中储存着总共10个人的姓名字符串
你需要为每个人创建一个 .txt 文件,以他们的名字命名。

执行代码如下:

#include
#include

int main() {
    char name[10][100] = { "窝窝","史史","醉醉","帅帅","德德","珂珂","矮矮","霉霉","粒粒","歪歪" };//定义十个字符串作为文件名
    int i;
    FILE* fp;   //定义文件指向指针
    for (i = 0;i < 10;i++) 
    {
        strcat_s(name[i], ".txt");   //在每个文件名后面加.txt后缀,并将文件格式设置为文本文档
        fp = fopen(name[i], "w");    //打开文件,“w”为对文件的操作打开只写。如果不存在则新建,如果存在则清空

        if (fp) {x

            fclose(fp);         //打开文件后一定要记得关闭文件
        }
        else
        {
            printf("无法打开文件\n");    // 打开失败则打印
                        break;
        }
    }
    return 0;
}

运行结果截图:

第三次博客作业_第1张图片

任务二、

在任务一的基础上,这次不仅仅要创建.txt文件,还需要往文件中写入
每个人的学号,性别,班级,线代成绩

代码:

#include
#include

int main() {
    char name[10][100] = { "窝窝","史史","醉醉","帅帅","德德","珂珂","矮矮","霉霉","粒粒","歪歪" };
    int i;

    char number[10][100];    //定义二维数组存储学号
    char sex[10][100];       //定义二维数组存储性别
    char classnumber[10][100];    //定义二维数组存储班级
    char score[10][100];       //定义二维数组存储分数
    FILE* fp;
    for (i = 0;i < 10;i++)
    {
        strcat_s(name[i], ".txt");               //在每个名字字符串后面加.txt后缀
        fp = fopen(name[i], "w");                //打开文件
        if (fp)                                  //如果打开文件成功,对文件进行信息输入   
        {
            printf("请输入学生%s的学号:     ", name[i]);
            scanf("%s", &number[i]);
            printf("请输入学生%s的性别:     ", name[i]);
            scanf("%s", &sex[i]);
            printf("请输入学生%s的班级:     ", name[i]);
            scanf("%s", &classnumber[i]);
            printf("请输入学生%s的线代成绩: ", name[i]);
            scanf("%s", &score[i]);
            fputs(number[i], fp);
            fprintf(fp, "  ");
            fputs(sex[i], fp);
            fprintf(fp, "  ");
            fputs(classnumber[i], fp);
            fprintf(fp, "  ");
            fputs(score[i], fp);
            printf("**************************************\n");
            fclose(fp);                  //一定要记得关闭文件
        }
        else
        {
            printf("无法打开文件\n");
                        break;     //打开文件失败则提示打开失败,并结束
        }
    }
    return 0;
}

运行截图:
第三次博客作业_第2张图片
第三次博客作业_第3张图片

任务三:

在任务二生成的文件中,将每个人的信息再重新读取出来,放入数组中。
[要求使用结构体数组,结构体需要包含姓名,学号,性别,班级,线代成绩5个属性]

#include
#include

struct {                                   //用结构体存储学生的信息:姓名,学号,性别,班级,成绩
    char NAME[100];
    char number[100];
    char sex[100];
    char classnumber[100];
    char score[100];
}student[10];
int main() {
    char name[10][100] = { "窝窝","史史","醉醉","帅帅","德德","珂珂","矮矮","霉霉","粒粒","歪歪" };
    int i;
    FILE* fp;
    for (i = 0;i < 10;i++) 
    {
        strcpy(student[i].NAME, name[i]);      //将存储学生名字复制进结构体中
        strcat_s(name[i], ".txt");
        fp = fopen(name[i], "r");             //打开文件
        if (fp) {
            fscanf(fp, "%s %s %s %s", student[i].number, student[i].sex, student[i].classnumber, student[i].score); //将文件内容读出来放进结构体中
            fclose(fp);    //关闭文件
        }
        else
        {
            printf("无法打开文件\n");        //安全检测,打开失败则报告
            break;
        }
    }
    for (i = 0;i < 10;i++) {
        printf("%s %s %s %s %s\n\n", student[i].NAME, student[i].number, student[i].sex, student[i].classnumber, student[i].score);    //打印学生信息
    }
    return 0;
}

运行截图:
第三次博客作业_第4张图片

任务四:

试着使用一下system("cls"),system("pause")这两个命令,看看这两个
命令能不能对你的程序起到一些美化的作用。
拓展:上网搜索类似的其他函数,使用并解释他们的作用。

在任务二中,加入了

system("cls");//清屏命令 ,实现清屏操作
system("pause");//可以实现冻结屏幕,便于观察程序的执行结果

两个系统命令的使用,插入位置如图所示:第三次博客作业_第5张图片

运行结果:

使用后:
第三次博客作业_第6张图片

使用前:
第三次博客作业_第7张图片

两者对比,明显系统命令

system("cls");
system("pause");

使界面变得更加简单明了。

system()函数,功能为发出一个DOS命令,在

#include

头文件下直接调用。

DOS操作命令有很多,以下给大家介绍一些:

  1. color,设置控制台前景和背景颜色。

例:system(“color 0A”),其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:0=黑色 1==蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色

  1. shutdown -s -t 时间 设置关机倒计时

    例:system(shutdown -s -t 20) ,该命令的意思就是20s后关机。

    类似的命令还有:

    shutdown -a 取消关机

    shutdown -f 强行关闭应用程序

    shutdown -l 注销当前用户

    shutdown -r 关机并重启

    shutdown -h 休眠

  2. del 位置 删除位置文件

    例: system("del d:\帅帅.txt") , 即删除位置在d盘的帅帅文本文件。

    当然还有很多很多其他操作命令,这只是大多数中的三个,大家可以根据自己的需要去查找使用。

你可能感兴趣的:(第三次博客作业)