標題:
610 字元字串與檔案處理
[打印本頁]
作者:
李泳霖
時間:
2022-6-6 13:09
標題:
610 字元字串與檔案處理
本帖最後由 李泳霖 於 2022-6-6 17:18 編輯
http://www2.lssh.tp.edu.tw/~hlf/class-1/lang-c/c_file.htm
設計說明:
1.輸入姓名與分數,當分數為-100時,程式將結束讀取動作。
2. 修改程式碼片段中的程式語法、邏輯上的錯誤,執行結果如範例圖。
[attach]13201[/attach]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main ()
{
FILE *fptr;
char name[20];
int score;
fptr=fopen("score.dat", "w");
printf("請輸入姓名: ");
scanf("%s", name);
printf("請輸入分數: ");
scanf("%d", &score);
while (score != -100) {
fprintf("%s %d", name, score);
printf("請輸入姓名: ");
scanf("%s", name);
printf("請輸入分數: ");
scanf("%d", &score);
}
fclose(fptr);
fptr=fopen("score.dat", "r");
printf("\n以下是您輸入的資料:\n");
while (fscanf("%s %d", name, score) !=EOF)
{
printf("%-10s %3d\n", name, score);
}
system("PAUSE");
return 0;
}
複製代碼
/* TQC+ C - 610 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main ()
{
FILE *fptr;
char name[20];
int score;
fptr=fopen("score.dat", "w");
printf("請輸入姓名: ");
scanf("%s", name);
printf("請輸入分數: ");
scanf("%d", &score);
while (score != -100) {
fprintf(fptr,"%s %d", name, score);
/* 做有關檔案讀取時,參數的第一個通常需要先告知檔案的指標 */
printf("請輸入姓名: ");
scanf("%s", name);
printf("請輸入分數: ");
scanf("%d", &score);
}
fclose(fptr);
fptr=fopen("score.dat", "r");
printf("\n以下是您輸入的資料:\n");
while (fscanf(fptr,"%s %d", name, &score) !=EOF)//加上檔案指標,score前加上&
printf("%-10s %3d\n", name, score);
system("PAUSE");
return 0;
}
複製代碼
作者:
李泳霖
時間:
2022-6-6 13:09
此帖僅作者可見
作者:
鄭程富
時間:
2022-6-6 17:18
此帖僅作者可見
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2