!博客作业(3)c 语言文件

一.完整代码

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct fun{
    char name[100];
    char num[100];
    char sex[100];
    char  cla[100];
    int  score;
}nice[10];
int main(){
    char name2[10][100]={
      {"C:\\information\\肠旺面"},
        {"C:\\information\\丝娃娃"},
      {"C:\\information\\板筋盖饭"},
      {"C:\\information\\折耳根"},
        {"C:\\information\\酸汤鱼"},
          {"C:\\information\\洋芋粑"},
            {"C:\\information\\豆腐果"},
              {"C:\\information\\烙锅"},
                {"C:\\information\\糯米饭"},
                  {"C:\\information\\竹签烤肉"},    
    };
    int i;
    char content[100]={"姓名 学号 性别 班级 线代成绩\n"};
    
    for(i=0;i<10;i++){
        strcpy(nice[i].name,name2[i]);
        strcat(name2[i],".txt");
        FILE *fp;
        if((fp=fopen(name2[i],"w+"))==NULL){        
        printf("File open error!\n");
        exit(0);
    } fprintf(fp,"%s",content);
     if(fclose(fp)){
                printf("can't close file!\n");
        exit(0);
    }}
    
for(i=0;i<10;i++){
    strcpy(nice[i].name,nice[i].name+15);
}       
   for(i=0;i<10;i++){
    printf("%-8s",nice[i].name);
    scanf("%s %s %s %d",nice[i].num,nice[i].sex,nice[i].cla,&nice[i].score);
    FILE *dp;
    dp=fopen(name2[i],"a+");
    fprintf(dp,"%s %s %s %s %d\n",nice[i].name,nice[i].num,nice[i].sex,nice[i].cla,nice[i].score);
            }
        printf("录入OK!\n");
            for(i=0;i<10;i++){
                FILE *tp;
                if((tp=fopen(name2[i],"a+"))==NULL){
                
                printf("error!");}
                fscanf(tp,"%s %s %s %s %d",nice[i].name,nice[i].num,nice[i].sex,nice[i].cla,&nice[i].score);
                if(fclose(tp)){
                
                printf("error!");}
                }   
        for(i=0;i<10;i++){
            printf("%-8s %s %s %s %d\n",nice[i].name,nice[i].num,nice[i].sex,nice[i].cla,nice[i].score);
            
        }           
                
    
}

二.运行截图

(1)任务一

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

(2)任务二

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

(3)任务三

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

(4)任务四

system("cls"):清屏操作
system("pause"):暂停程序执行,进入等候状态
system("color 0A"):color后面的0是背景色代号,A是前景色代号
各颜色代码:0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色

三.自我总结

通过这次博客园作业的练习,初步接触了fopen,fclose[读取,关闭文件] fscanf,fgets,fgetc...[从文件中读取数据] fprintf,fputs,fputc...[向文件中写入数据]以上函数的运用;

虽然作业中并未使用system( ),但也百度搜索知道了许多相关命令对于程序的美化作用;

同时收获颇多,了解到EOF的概念,能够基本掌握文件的操作。

猜你喜欢

转载自www.cnblogs.com/zgz123/p/12064060.html