标题:2级C求解
只看楼主
时光追不回1
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-4-29
结帖率:0
 问题点数:0 回复次数:2 
2级C求解
#include<stdio.h>
#define N 5
typedef struct srudent
{
    long sno;
    char name[10];
    float score[3];
   
   
}STU;
void fun(char *filename,STU n)
{
    FILE *fp;
    fp =fopen(filename,"rb+");
    fseek (fp, -(long)sizeof(STU),SEEK_END);
    fwrite(&n,sizeof(STU),1,fp);
    fclose(fp);
   
}
main()
{
    STU t[N]={10001,"MaChao",91,92,77},
             {10002,"CaoKai",75,60,88},
             {10003,"LiSi",85,70,78},
             {10005,"ZhangSan",95,80,88};
    STU n ={10006,"ZhaoSi",55,70,68},ss[N];
    int i,j; FILE *fp;
    fp= fopen("student.dat","wb");
    fwrite(t,sizeof(STU),N,fp);
    fclose(fp);
    fp = fopen("student.dat","rb");
    fread(ss,sizeof(STU),N,fp);
    fclose(fp);
    printf("\nThe original data :\n\n");
    for (j =0;j<N;j++);
    {
        printf("%6.2F",ss[j].score[i]);
        printf("\n")
    }
    fun (student.dat,n);
    printf("\n Tne date after modifing :\n\n");
    fp =fopen("stundent.dat","rb");
    fread(ss,sizeof(STU),N,fp);
    fclose(fp);
    for(j=0;j<N;j++)
    {
        printf("\nNo: % ld Name: % -8sScores:",ss[j].sno,ss[j]name);
        for (i=0;i<3;i++)
        printf("6.2f",ss[j].score[i]);
        printf("\n");
        
    }         
}
这里怎么运行不了STU t[N]={10001,"MaChao",91,92,77},
             {10002,"CaoKai",75,60,88},
搜索更多相关主题的帖子: include 
2016-08-06 14:42
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
得分:0 
#include<stdio.h>
#define N 5
typedef struct srudent
{
    long sno;
    char name[10];
    float score[3];
   
   
}STU;
void fun(char *filename,STU n)
{
    FILE *fp;
    fp =fopen(filename,"rb+");
    fseek (fp, -(long)sizeof(STU),SEEK_END);
    fwrite(&n,sizeof(STU),1,fp);
    fclose(fp);
   
}
main()
{
    STU t[N]={
                {10001,"MaChao",91,92,77},
             {10002,"CaoKai",75,60,88},
             {10003,"LiSi",85,70,78},
             {10005,"ZhangSan",95,80,88}
    };
    STU n ={10006,"ZhaoSi",55,70,68},ss[N];
    char Filename[]="student.dat";
    int i,j; FILE *fp;
    fp= fopen("Filename","wb");
    fwrite(t,sizeof(STU),N,fp);
    fclose(fp);
    fp = fopen("student.dat","rb");
    fread(ss,sizeof(STU),N,fp);
    fclose(fp);
    printf("\nThe original data :\n\n");
    for (j =0;j<N;j++);
    {
        printf("%6.2F",ss[j].score[i]);
        printf("\n");
    }
    fun (Filename,n);    //student.dat不是这样引用的吧。
    printf("\n Tne date after modifing :\n\n");
    fp =fopen("Filename","rb");
    fread(ss,sizeof(STU),N,fp);
    fclose(fp);
    for(j=0;j<N;j++)
    {
        printf("\nNo: % ld Name: % -8sScores:",ss[j].sno,ss[j].name);
        for (i=0;i<3;i++)
        printf("6.2f",ss[j].score[i]);
        printf("\n");
        
    }         
}
你算法上的错误你自己改吧
2016-08-06 15:42
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用时光追不回1在2016-8-6 14:42:42的发言:

这里怎么运行不了STU t[N]={10001,"MaChao",91,92,77},
             {10002,"CaoKai",75,60,88},


    STU t[N]={10001,"MaChao",91,92,77},
             {10002,"CaoKai",75,60,88},
             {10003,"LiSi",85,70,78},
             {10005,"ZhangSan",95,80,88};
改为:
    STU t[N]={{10001,"MaChao",91,92,77},
             {10002,"CaoKai",75,60,88},
             {10003,"LiSi",85,70,78},
             {10005,"ZhangSan",95,80,88}};
2016-08-06 15:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-467607-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.749164 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved