c语言文件

一.代码块

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct student {
    char Name[20];
    char ID[20];
    char Sex[20];
    char Class[20];
    int score;
} stu[10];
int main()
{
    char name[10][20]={"宋思坡","黄鸿森","漆靖","郭其松","庄昭和","洪礼强","王林涛","吴绍杰","许慎","安省龙"};//建立一个二维数组,存放十个人名字 
    int i;
    FILE *fp;
    for(i=0;i<10;i++){
        strcpy(stu[i].Name,name[i]);//将十个人名字输入到结构中 
        strcat(name[i],".txt");//将后缀设为txt,打开为文本形式 
        if((fp=fopen(name[i],"a"))==NULL){  //创建文件为名字的文本,并打开 
            printf("File open error!
");
            exit(0);
		}
		fclose(fp);  //关闭文件 
    }
    
    
    system("color 7C");
    printf("                              学生成绩统计系统
");
    system("pause");  //暂停 
    system("cls");    //清屏 
    printf("请按姓名依次录入学号 性别 班级 线性代数成绩 (每次录入之间需要回车)
");
    for(i=0;i<10;i++){
    	printf("%s
",stu[i].Name);
    	printf("学号:"); 
    	scanf("%s",&stu[i].ID);
    	printf("性别:");
		scanf("%s",&stu[i].Sex);
		printf("班级:");
		scanf("%s",&stu[i].Class); 
		printf("线性代数成绩:");
		scanf("%d",&stu[i].score);
		printf("
"); 
		
        FILE *fp;
        fp=fopen(name[i],"a+");
        fprintf(fp,"%s %s %s %s",stu[i].Name,stu[i].ID,stu[i].Sex,stu[i].Class,stu[i].score);   
    }
    printf("                                录入完成
");
    system("pause");
    system("cls");
    printf("
");
    system("pause");
    for(i=0;i<10;i++){
        FILE *fp;
        if((fp=fopen(name[i],"a+"))==NULL)printf("error!");

        fscanf(fp,"%s%s%s%s%d",stu[i].Name,stu[i].ID,stu[i].Sex,stu[i].Class,stu[i].score);
        if(fclose(fp))
	        printf("error!");
    }
    for(i=0;i<10;i++) 
        printf("%s %s %s %s %d
",stu[i].Name,stu[i].ID,stu[i].Sex,stu[i].Class,stu[i].score);
    printf("使用结束
"); 
    return 0;
}

 任务一

struct student {
    char Name[20];
    char ID[20];
    char Sex[20];
    char Class[20];
    int score;
} stu[10];
int main()
{
    char name[10][20]={"宋思坡","黄鸿森","漆靖","郭其松","庄昭和","洪礼强","王林涛","吴绍杰","许慎","安省龙"};//建立一个二维数组,存放十个人名字 
    int i;
    FILE *fp;
    for(i=0;i<10;i++){
        strcpy(stu[i].Name,name[i]);//将十个人名字输入到结构中 
        strcat(name[i],".txt");//将后缀设为txt,打开为文本形式 
        if((fp=fopen(name[i],"a"))==NULL){  //创建文件为名字的文本,并打开 
            printf("File open error!
");
            exit(0);
		}
		fclose(fp);  //关闭文件 
    }

 

任务二

printf("                              学生成绩统计系统
");
    system("pause");  //暂停 
    system("cls");    //清屏 
    printf("请按姓名依次录入学号 性别 班级 线性代数成绩 (每次录入之间需要回车)
");
    for(i=0;i<10;i++){
        printf("%s
",stu[i].Name);
        printf("学号:"); 
        scanf("%s",&stu[i].ID);
        printf("性别:");
        scanf("%s",&stu[i].Sex);
        printf("班级:");
        scanf("%s",&stu[i].Class); 
        printf("线性代数成绩:");
        scanf("%d",&stu[i].score);
        printf("
"); 
        
        FILE *fp;
        fp=fopen(name[i],"a+");
        fprintf(fp,"%s %s %s %s",stu[i].Name,stu[i].ID,stu[i].Sex,stu[i].Class,stu[i].score);   
    }
    printf("                                录入完成
");

任务三

for(i=0;i<10;i++){
        FILE *fp;
        if((fp=fopen(name[i],"a+"))==NULL)printf("error!");

        fscanf(fp,"%s%s%s%s%d",stu[i].Name,stu[i].ID,stu[i].Sex,stu[i].Class,stu[i].score);
        if(fclose(fp))
            printf("error!");
    }
    for(i=0;i<10;i++) 
        printf("%s %s %s %s %d
",stu[i].Name,stu[i].ID,stu[i].Sex,stu[i].Class,stu[i].score);
    printf("使用结束
"); 

 

任务四

用 system(“color 0A”)改变颜色, 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:

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

system(“PAUSE”)可以实现冻结屏幕,便于观察程序的执行结果; 
system(“CLS”)可以实现清屏操作。 

原文地址:https://www.cnblogs.com/ssp1781554770/p/12065727.html