設計說明:
(1) 開啟CPD09-1.c ,利用fprintf函數,將下列學生的姓名及其對應的C語言分數,寫入專案資料夾的目錄下 score.dat檔案。
(2) 可以利用某一條件,讓寫入的動作結束,如當輸入分數為負的分數時,則結束寫入動作. 資料得輸入樣本如下:
請輸入學生的姓名(分數輸入負分的分數時結束):Peter
請輸入此學生C語言分數:90
請輸入學生的姓名(分數輸入負分的分數時結束):Mary
請輸入此學生C語言分數:80
請輸入學生的姓名(分數輸入負分的分數時結束):Nancy
請輸入此學生C語言分數:88
請輸入學生的姓名(分數輸入負分的分數時結束):John
請輸入此學生C語言分數:-2
(3)開啟CPD09.2c,將專案資料夾目錄下 score.dat檔案內容,利用fscanf將其讀出,再以printf印出。
本題題意為:
1.輸入資料寫入檔案 score.dat。
2.讀取檔案 score.dat 並輸出資料。
基於 judge 系統不做 c 程式檔分開及檔案讀寫動作,因此本題改為:
1.以函數 writeData 輸入資料到 score 陣列。
2.以函數 print 將 score 陣列資料輸出。
3.兩函數原形如下:
void writeData(Student **);
void print(Student *);
4.主程式參考如下:
#include <stdio.h>
#include <stdlib.h>
#define NAMEL 19 //最多19字元
typedef struct stdp Student;
struct stdp{
char name[NAMEL+1];
int score;//成績
Student *next;//指向下一位學生
};
void writeData(Student **);
void print(Student *);
int main(){
Student *student=NULL;
writeData(&student);
print(student);
return(0);
}
void writeData(Student **p){
}
void print(Student *p){
}
此題是非常基本的動態記憶體宣告,從副程式取得記憶體並傳回主程式,請用心參考。
1)小數點有效位數最多到 16 位。
2)資料數量未知。
Peter 90 Mary 80 Nancy 88 John -2
請輸入學生的姓名(分數輸入負分的分數時結束):Peter 請輸入此學生C語言分數:90 請輸入學生的姓名(分數輸入負分的分數時結束):Mary 請輸入此學生C語言分數:80 請輸入學生的姓名(分數輸入負分的分數時結束):Nancy 請輸入此學生C語言分數:88 請輸入學生的姓名(分數輸入負分的分數時結束):John 請輸入此學生C語言分數:-2 Peter的c語言分數是90 Mary的c語言分數是80 Nancy的c語言分數是88
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |