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

help~c programming assignment

[复制链接]

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

11#
发表于 2009-9-11 01:09 AM |只看该作者
原帖由 yangzz 于 2009-9-11 12:46 AM 发表
又弄多一个了~这个比较好~但print出来的东西会多一行~


#include
#include
#include

int main()
{

FILE*fp1;
FILE*fp2;
FILE*fp3;
char name[10],post[25],name1[10],post1[25];
int id,branc ...



因為你是使用 feof 來讀取每行啊, 但是你沒判斷所讀取的最後一行是否為 null


回复

使用道具 举报

0

主题

0

好友

11

积分

初级会员

Rank: 1

12#
发表于 2009-9-11 01:20 AM |只看该作者

回复 #11 Super-Tomato 的帖子

那我要怎样判断最后一行为NULL?然后不去执行fprintf多一次~可不可以帮我改改我的coding?


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

13#
发表于 2009-9-11 01:31 AM |只看该作者
原帖由 yangzz 于 2009-9-11 01:20 AM 发表
那我要怎样判断最后一行为NULL?然后不去执行fprintf多一次~可不可以帮我改改我的coding?



你去看看我的測試吧

http://super-tomato.net/download/fscanf.exe


回复

使用道具 举报

0

主题

0

好友

11

积分

初级会员

Rank: 1

14#
发表于 2009-9-11 04:17 AM |只看该作者

回复 #13 Super-Tomato 的帖子

谢谢哦!对我很大帮助~
我刚刚自己一个人在想的~
我的电脑没有compiler~


#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main()
{
    FILE *fp1,*fp2,*fp3;
    char name [10],post[25];
    int id,branch,i=0;
    float salary;
   
    fp1=fopen("salary_A.txt","r");
    fp2=fopen("salary_B.txt","r");
    fp3=fopen("merge.txt","w");
   
    if(fp1 !=NULL && fp2 !=NULL && fp3 !=NULL)
    while (!feof(fp1),(fp2))
    {
          printf("Copy line %d\n",++i);
          fscanf(fp1,"%s\t%d\t%s\t\t%d\t%f\n",name,&id,post,&branch,&salary);
          fscanf(fp2,"%s\t%d\t%s\t\t%d\t%f\n",name,&id,post,&branch,&salary);
          fprintf(fp3,"%s\t%d\t%s\t\t%d\t%2f\n",name,id,post,branch,salary);
         
          }
    else
    printf("Error opening file");
   
    fclose(fp1);
    fclose(fp2);
    fclose(fp3);
   
    return 0;
}
   
   
希望没问题~
明天再让teamate过目过目~
呵呵~
谢谢 super-tomato


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

15#
发表于 2009-9-11 07:54 AM |只看该作者
原帖由 yangzz 于 2009-9-11 04:17 AM 发表
谢谢哦!对我很大帮助~
我刚刚自己一个人在想的~
我的电脑没有compiler~


#include
#include
#include

int main()
{
    FILE *fp1,*fp2,*fp3;
    char name [10],post[25];
    int id,branch ...


while (!feof(fp1),(fp2))
    {
          printf("Copy line %d\n",++i);
          fscanf(fp1,"%s\t%d\t%s\t\t%d\t%f\n",name,&id,post,&branch,&salary);
          fscanf(fp2,"%s\t%d\t%s\t\t%d\t%f\n",name,&id,post,&branch,&salary);

          fprintf(fp3,"%s\t%d\t%s\t\t%d\t%2f\n",name,id,post,branch,salary);
         
          }


這裡絕對有問題


回复

使用道具 举报

0

主题

0

好友

11

积分

初级会员

Rank: 1

16#
发表于 2009-9-11 10:36 AM |只看该作者

回复 #15 Super-Tomato 的帖子

哈哈~看到问题了~很好笑!超可爱的~lolxem0003
我弄到它不会重复copy~
但是不会merge起来了~


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

17#
发表于 2009-9-11 11:06 AM |只看该作者
原帖由 yangzz 于 2009-9-11 10:36 AM 发表
哈哈~看到问题了~很好笑!超可爱的~lolxem0003
我弄到它不会重复copy~
但是不会merge起来了~



所以我才把紅色部分列出告訴你問題點所在, 先想想紅色部分有甚麼邏輯上的問題


回复

使用道具 举报

14

主题

2

好友

4976

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

18#
发表于 2009-9-13 09:47 PM |只看该作者
tomato兄 你是用什么软件来写程序的?
我看到你测试
好像很我们的不同
我是用visual studio


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

19#
发表于 2009-9-13 11:13 PM |只看该作者
原帖由 希涯 于 2009-9-13 09:47 PM 发表
tomato兄 你是用什么软件来写程序的?
我看到你测试
好像很我们的不同
我是用visual studio



我是用免費的 IDE 軟體 Code::Blocks, 而編譯器則可以選擇 GCC, VC++ 和 BCB


回复

使用道具 举报

14

主题

2

好友

4976

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

20#
发表于 2009-9-13 11:40 PM |只看该作者
原帖由 Super-Tomato 于 2009-9-13 11:13 PM 发表



我是用免費的 IDE 軟體 Code::Blocks, 而編譯器則可以選擇 GCC, VC++ 和 BCB

其实还蛮好奇的
有没有类似all in one 的软件?
可以用于编写java,C/C++,VB,php.net等等


回复

使用道具 举报

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

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

GMT+8, 2024-11-25 05:19 PM , Processed in 0.100812 second(s), 20 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.
回顶部