void main()
{
while(charingstep !=\'#\')
{
scanf(\"%c %s %d %d %d %d\",&charingstep,phonenum,&sh,&sm,&eh,&em);
sum_pay=(float)time_d*1.44 + (float)time_e*0.80 + (float)time_n*0.30;
printf(\"%s %d %d %d %d %f\\n\",phonenum,sh,sm,eh,em,sum_pay);
scanf(\"%c %s %d %d %d %d\",&charingstep,phonenum,&sh,&sm,&eh,&em);
sm=0;
sh=0;
em=0;
eh=0;
sum_pay=0.0;
time_d=0;
time_e=0;
time_n=0;
}}
不好意思 想請問一下
如果想一次輸入像黃色部份 那樣 一次多筆的資料
那如果讀到# 就停止
該怎樣寫他的scanf呢~
如果照上面的寫法的話
輸入成 a 123-4567 12 45 65 78 b 456-7891 12 34 56 78
這樣變成第2筆b 456-7891 12 34 56 78 沒有辦法完全讀進去
這......問題該怎麼解決呢 請各位先進指導一下!!
2006-07-25 15:49:11 · 1 個解答 · 發問者 nikeasyanzi 2 in 電腦與網際網路 ➔ 程式設計
我的方法是:放棄使用 scanf 改用 gets 函式。
把 a 123-4567 12 45 65 78 b 456-7891 12 34 56 78 一筆資料經由 strtok 函式把每項字元、數值分開儲存至其他陣列,如果要計算一筆資料內的數值資料,把部分的數字字串經由 atoi 函式轉成「整數」和「浮點數」,另存至其他陣列,再加以計算即可。
2006-07-26 00:33:36 · answer #1 · answered by Big_John-tw 7 · 0⤊ 0⤋