【求助] c語言讀檔 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ -- 電 腦 軟 體 討 論 區 > -- 其 他 軟 體 討 論 版


PCZONE 討論區



通知

-- 其 他 軟 體 討 論 版 包括磁碟或檔案管理工具、掃毒軟體、解壓縮軟體、遠端遙控軟體、備份軟體、傳真軟體、手寫或語音等各種軟體使用經驗討論

會員
【求助] c語言讀檔
#include<stdio.h>
void main(void)
{
FILE *fp1;
FILE *fp2;
fp1=fopen("hw1.txt","r");
fp2=fopen("ans1.txt","w");
char ch2[100];
double ch1;
double sum=0;
int num=0;
do
{
fscanf(fp1,"%s\n",ch2);
ch1=atof(ch2);
if(ch1>=0)
{
sum=sum+ch1;
}
else
{
ch1=0;
}
num=num+1;
}
while(ch2[0]!='E');
fprintf(fp2,"%f\n",sum);
fprintf(fp2,"%d\n",num);
fclose(fp1);
fclose(fp2);
}
==========================================
我想從hw1.txt讀入檔案如果數值是正的就相加負的就不要相加並算出共有幾個數值.執行到'E'訧停止並把結果sum與num輸入到ans1.txt.程式有錯幫看看哪裡錯如何改??
hw1.txt的內容:36.25
27.3
-35.2
0
27
-3.14
24.87
9.14
5.82
154.8
E
(-_-)

回覆
會員

本來想用TC試試
不過TC老是給我出現一些莫明奇妙的錯誤
所以就用Visual C++試
你少了一個
#include<stdlib.h>
加上去應該就沒問題了
我跑是沒出現問題
至於輸出結果正不正確我就不知道了
這是學校的作業嗎?
還是.....?
回覆
會員

還有檔案結束可以用feof判斷
不用弄個什麼東西在檔尾
回覆
會員

#include<stdio.h>
#include<stdlib.h>
void main(void){
FILE *fp1;
FILE *fp2;
fp1=fopen("hw1.txt","r");
fp2=fopen("ans1.txt","w");
char ch2[100];
double ch1;
double sum=0;
int num=0;
do{
fscanf(fp1,"%s\n",ch2);
ch1=atof(ch2);
if(ch1>=0){
sum=sum+ch1;
}else{
ch1=0;
}
num=num+1;
}while(!feof(fp1));
fprintf(fp2,"%f\n",sum);
fprintf(fp2,"%d\n",num);
fclose(fp1);
fclose(fp2);
}
我幫你改了一下
那個E可以砍掉了
它會自動判斷是否到檔尾了
回覆
會員

謝了

回覆


類似的主題
主題 主題作者 討論版 回覆 最後發表
【求助 ADSL可以這樣接嗎? linahon ---- ADSL 軟 硬 體 技 術 3 2004-03-20 12:49 AM
【求助..請問一下有人知道有關排程的問題 FoxMulder520 -- Windows 討 論 版 5 2003-09-14 11:49 AM
【求助]****.dll無法開啟 jackjuh -- Windows 討 論 版 3 2003-05-26 06:02 PM
【求助) 主機組裝規格? naily -- 電 腦 硬 體 討 論 版 8 2003-05-15 10:34 PM
【求助 請教一個英文問題? ljy126 -- 閒 話 家 常 灌 水 版 1 2003-04-10 12:26 AM






 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。