第十二次作业

struct student
{
    int num;
    char name[20];
    int age;
    char sex[3];
    char tel[15];
    char department[30];
    float score;
};

我只想问题目的意思是这个吗?宝宝觉得这样写就可以呢!

#include <stdio.h>
#include <stdlib.h>
struct student
{
    int num;
    char name[20];
    int age;
    char sex[3];
    float score;
}stuinfo[3];

void loadandsave()
{
    int i;
    FILE *fp1,*fp2;
    fp1=fopen("input.txt","r");
    if(fp1==NULL)
    {
        printf("文件input.txt打开失败!
");
        return;
    }
    fp2=fopen("output.txt","w");
    if(fp2==NULL)
    {
        printf("文件output.txt创建失败!
");
        return;
    }
    printf("从input.txt中导入3位同学的信息
");
    for(i=0;i<3;i++)
    {
        fscanf(fp1,"%d	%s	%d	%s	%f
",&stuinfo[i].num,stuinfo[i].name,&stuinfo[i].age,stuinfo[i].sex,&stuinfo[i].score);
        fprintf(fp2,"第%d位同学:学号%d,姓名%s,年龄%d,性别%s,成绩%.1f
",i+1,stuinfo[i].num,stuinfo[i].name,stuinfo[i].age,stuinfo[i].sex,stuinfo[i].score);
    }
    printf("导入3位同学的信息成功保存到output.txt
");
    fclose(fp1);
    fclose(fp2);
}

int main()
{
    loadandsave();
    return 0;
}

等会下面有input.txt

1 张三 18 男 90.0
2 李四 17 女 80.0
3 王五 19 男 60.0

我发现我不会上传啊!!!!

#include <stdio.h>
#include <stdlib.h>
struct student
{
    int num;
    char name[20];
    int age;
}stuinfo[3];

void input()
{
    int i;
    FILE *fp;
    fp=fopen("student.txt","w");
    if(fp==NULL)
    {
        printf("文件student.txt创建失败!
");
        return;
    }
    printf("依次输入3位同学的信息
");
    for(i=0;i<3;i++)
    {
        printf("输入第%d位同学的学号:",i+1);
        scanf("%d",&stuinfo[i].num);
        printf("输入第%d位同学的姓名:",i+1);
        scanf("%s",stuinfo[i].name);
        printf("输入第%d位同学的年龄:",i+1);
        scanf("%d",&stuinfo[i].age);
        fprintf(fp,"第%d位同学:学号%d,姓名%s,年龄%d
",i+1,stuinfo[i].num,stuinfo[i].name,stuinfo[i].age);
    }
    fclose(fp);
}

int main()
{
    input();
}

还是这个好理解,书上看了半天,还不如自己瞎写。

原文地址:https://www.cnblogs.com/fqy1998211/p/6185275.html