c语言文件

一.代码

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct student {//定义结构
    char name[10];
    char num[20];
    char sex[10];
    char cla[10];
    char score[10];
}stu[10];

void file_open(FILE* fp);//检验文件打开是否成功
void file_close(FILE* fp);//检验文件关闭是否成功
 
int main()
{   system("color F0");
    system("date");
    system("ver");
    char name1[10][15], name2[10][15];
    char txt[5] = ".txt";
    int i = 0;
    FILE* fp;
    printf("\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t      欢迎使用!\n\n\n");
    system("pause");
    system("cls");
    printf("\n\n\n请输入姓名\n");
    for (i = 0; i < 10; i++) {//创建文本
        printf("%d.", i+1);
        scanf("%s", name1[i]);
        strcpy(name2[i], name1[i]);
        strcat(name1[i], txt);
        fp = fopen(name1[i], "w");
        file_open(fp);
        file_close(fp);
    }
    for(i=0;i<10;i++)
    system("cls");
    char num[15], sex[10], cla[15], score[10];
    printf("     学号     性别  班级  分数\n");//往文本输入数据
    for (i = 0; i < 10; i++) {
        printf("%d.", i+1);
        fp = fopen(name1[i], "w");
        file_open(fp);
        scanf("%s %s %s %s", num, sex, cla, score);
        fprintf(fp, "%s %s %s %s", num, sex, cla, score);
        file_close(fp);
    }
    system("pause");
    system("cls");
    for (i = 0; i < 10; i++) {//从文本读取数据并输出
        fp = fopen(name1[i], "r");  
        file_open(fp);
        fscanf(fp,"%s %s %s %s", stu[i].num, stu[i].sex, stu[i].cla, stu[i].score);     
        file_close(fp);
        strcpy(stu[i].name, name2[i]);
        printf("%s %s %s %s %s\n",stu[i].name, stu[i].num, stu[i].sex, stu[i].cla, stu[i].score);
    }
    return 0;
}
void file_open(FILE* fp) {
    if (fp == NULL) {
        printf("file open error\n");
        exit(0);
    }
}
void file_close(FILE* fp) {
    if (fclose(fp)) {
        printf("can not close file\n");
        exit(0);
    }
}

二.程序运行

初始界面

c语言文件

----输入姓名----

c语言文件

----创建文档----
c语言文件
c语言文件
c语言文件

----读取数据----
c语言文件

三.

任务一

for (i = 0; i < 10; i++) {//创建文本
        printf("%d.", i+1);
        scanf("%s", name1[i]);
        strcpy(name2[i], name1[i]);
        strcat(name1[i], txt);
        fp = fopen(name1[i], "w");
        file_open(fp);
        file_close(fp);
    }

任务二

for (i = 0; i < 10; i++) {
        printf("%d.", i+1);
        fp = fopen(name1[i], "w");
        file_open(fp);
        scanf("%s %s %s %s", num, sex, cla, score);
        fprintf(fp, "%s %s %s %s", num, sex, cla, score);
        file_close(fp);
    }

任务三

for (i = 0; i < 10; i++) {//从文本读取数据并输出
        fp = fopen(name1[i], "r");  
        file_open(fp);
        fscanf(fp,"%s %s %s %s", stu[i].num, stu[i].sex, stu[i].cla,stu[i].score);      
        file_close(fp);
        strcpy(stu[i].name, name2[i]);
        printf("%s %s %s %s %s\n",stu[i].name, stu[i].num, stu[i].sex, stu[i].cla, stu[i].score);
    }

四.system()运用

1.system("color F0")------------
可以改变控制台的前景色和背景 , system(“color 0A”); 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:

0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色

2.system("date")------------

显示或设置日期

3.system("ver")------------

显示windows版本

上一篇:字典学习的增删改查


下一篇:基于OWIN+DotNetOpenOAuth实现OAuth2.0