Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 3054|回复: 20
打印 上一主题 下一主题

帮帮忙,来看下C ,星期一要交了,给idea就好也可以

[复制链接]

9

主题

0

好友

240

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

跳转到指定楼层
1#
发表于 2010-11-25 11:45 PM |只看该作者 |倒序浏览
大家好,我做了有一个月,问了好多人,还是Ouput wrong . short form 的
Attendance.txt
1 1 0
1 0 1
1 1 1
0 1 1
0 0 1
0 1 0
0 0 1

#define MAX_WEEKS 7
#define MAX_STUDENTS 10

int studCount,weekCount;
int Attendance[MAX_WEEKS][MAX_STUDENTS];
variable 有。。。。可以assignvalue

void Read_Attendance_Into_Array()
{
        FILE*fp;

        int total_present=0;

        fp=fopen("Attendance.txt","r");

        if (fp==NULL)
        {
                printf("Error\n");
                exit(-1);
        }
        else
        {
                printf("Reading Attendance details for Week #\n");
                printf("0...1...2...3...4...5...6...\n\n");
                printf("Attendance for each week\n");
                printf("------------------------\n");

                while (fscanf(fp,"%d",&student)!=EOF)
                {
                        for (weekCount=0;weekCount<MAX_WEEKS;weekCount++)//MAX_WEEKS 7
                        {
                                printf("Week NO %d :",weekCount+1);

                                for (studCount=0;studCount<MAX_STUDENTS;studCount++)//MAX_STUDENTS 10
                                {
                                        fscanf(fp,"%d",&Attendance[weekCount][studCount]);

                                        if (Attendance[weekCount][studCount]==1)
                                        {
                                                total_present=total_present+1;
                                        }
                                }
                                printf("%d students present\n",total_present);
                                total_present=0;
                        }       
                                printf("\n");
                }
        }
        fclose(fp);
}

我的output
week 1             7
week 2             4
week 3            0
week 4             0
week 5                0
week 6           0
week 7            0

看下。。。




收藏收藏0

22

主题

1

好友

123

积分

高级会员

Rank: 3Rank: 3Rank: 3

2#
发表于 2010-11-26 12:00 AM |只看该作者
C语言???????????


回复

使用道具 举报

9

主题

0

好友

240

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

3#
发表于 2010-11-26 12:10 AM |只看该作者
回复 2# tianjiangm

很明显是C ,.你可以请教我吗?


回复

使用道具 举报

22

主题

1

好友

123

积分

高级会员

Rank: 3Rank: 3Rank: 3

4#
发表于 2010-11-26 01:23 AM |只看该作者
回复 3# pang1989


    我还想请教您呢~~~~~


回复

使用道具 举报

9

主题

0

好友

240

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

5#
发表于 2010-11-26 01:46 AM |只看该作者
回复 4# tianjiangm

好像我学了有4个月,level 还不好,真的要学多,可是sem 3 就没学了,现在我sem2...

要常打code,思考,google,问人。。基础打好。。


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

6#
发表于 2010-11-26 02:19 AM |只看该作者
大家好,我做了有一个月,问了好多人,还是Ouput wrong . short form 的
Attendance.txt
1 1 0
1 0 1
1 1 1
0 1 1
0 0 1
0 1 0
0 0 1

#define MAX_WEEKS 7
#define MAX_STUDENTS 10

int studCount,weekCount;
int Attendance[MAX_WEEKS][MAX_STUDENTS];
variable 有。。。。可以assignvalue

void Read_Attendance_Into_Array()
{
        FILE*fp;

        int total_present=0;

        fp=fopen("Attendance.txt","r");

        if (fp==NULL)
        {
                printf("Error\n");
                exit(-1);
        }
        else
        {
                printf("Reading Attendance details for Week #\n");
                printf("0...1...2...3...4...5...6...\n\n");
                printf("Attendance for each week\n");
                printf("------------------------\n");

                while (fscanf(fp,"%d",student)!=EOF)
                {
                        for (weekCount=0;weekCount<MAX_WEEKS;weekCount++)//MAX_WEEKS 7
                        {
                                printf("Week NO %d :",weekCount+1);

                                for (studCount=0;studCount<MAX_STUDENTS;studCount++)//MAX_STUDENTS 10
                                {
                                        fscanf(fp,"%d",Attendance[weekCount][studCount]);

                                        if (Attendance[weekCount][studCount]==1)
                                        {
                                                total_present=total_present+1;
                                        }
                                }
                                printf("%d students present\n",total_present);
                                total_present=0;
                        }        
                                printf("\n");
                }
        }
        fclose(fp);
}

我的output
week 1             7
week 2             4
week 3            0
week 4             0
week 5                0
week 6           0
week 7            0

看下。。。
pang1989 发表于 2010-11-25 11:45 PM



修改成以下即可读取最後一個字节
while( !feof( fp ) )


回复

使用道具 举报

9

主题

0

好友

240

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

7#
发表于 2010-11-26 03:29 AM |只看该作者
本帖最后由 pang1989 于 2010-11-26 03:31 AM 编辑

回复 6# Super-Tomato

#define MAX_WEEKS 7
#define MAX_STUDENTS 3

int Attendance[MAX_WEEKS][MAX_STUDENTS]={0};

int student;
int total_present=0;

student=Attendance[0][0];

                while (fscanf(fp,"%d",&student)!=EOF)
                {
                        for (weekCount=0;weekCount<MAX_WEEKS;weekCount++)//MAX_WEEKS 7
                        {
                                printf("Week NO %d :",weekCount+1);

                for (studCount=0;studCount<MAX_STUDENTS;studCount++)//MAX_STUDENTS 10
                                {
                                        fscanf(fp,"%d",&Attendance[weekCount][studCount]);

                   if (Attendance[weekCount][studCount]==1)
                   {
                                                total_present=total_present+1;
                                   }
                                }
                                printf("%d students present\n",total_present);
                total_present=0;
                        }               

output
2
2
2
2
1
1
1
少一个。。。

text file same ...


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

8#
发表于 2010-11-26 04:42 AM |只看该作者
回复  Super-Tomato
#define MAX_WEEKS 7
#define MAX_STUDENTS 3

int Attendance[MAX_WEEKS][MAX_STUDENTS]={0};

int student;
int total_present=0;

student=Attendance[0][0];

                while (fscanf(fp,"%d",&student)!=EOF)
                {
                        for (weekCount=0;weekCount<MAX_WEEKS;weekCount++)//MAX_WEEKS 7
                        {
                                printf("Week NO %d :",weekCount+1);

                for (studCount=0;studCount<MAX_STUDENTS;studCount++)//MAX_STUDENTS 10
                                {
                                        fscanf(fp,"%d",&Attendance[weekCount][studCount]);

                   if (Attendance[weekCount][studCount]==1)
                   {
                                                total_present=total_present+1;
                                   }
                                }
                                printf("%d students present\n",total_present);
                total_present=0;
                        }               

output
2
2
2
2
1
1
1
少一个。。。

text file same ...
pang1989 发表于 2010-11-26 03:29 AM



問題點已經在上面告诉你了,但却不曾见你有修改的意思



回复

使用道具 举报

9

主题

0

好友

240

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

9#
发表于 2010-11-26 09:40 AM |只看该作者
回复 8# Super-Tomato

谢谢你,问题解决了!!!!


回复

使用道具 举报

31

主题

0

好友

1228

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

10#
发表于 2010-11-26 01:37 PM |只看该作者
番茄,你的 editor 很美。是什么 editor 来的?


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-11-19 02:48 PM , Processed in 0.128505 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部