fork(33) download
  1. //CPT lab5 Read Binary File
  2. /*
  3. จงเขียนโปรแกรมที่ทำการอ่านไฟล์ไบนารี ชื่อ employee.bin
  4. โดยไฟล์จะเริ่มต้นจากตัวเลขจำนวนเต็ม บอกจำนวนข้อมูลพนักงานที่บันทึกไว้ในไฟล์ จากนั้นประมวลผลข้อมูลให้อยู่ในรูปของ struct employee ที่กำหนดให้ แล้วทำการแสดงข้อมูลของพนักงานทุกคน พร้อมแสดงผลเงินเดือนรวม
  5.  
  6. ***ทำการแสดงผลจากการอ่านออกทางหน้าจอ สำหรับการอ่านไฟล์นั้นจะต้องทำการกดปุ่ม L-Test ก่อน เพื่อ download ไฟล์มาเก็บไว้ในเครื่องโดยอัตโนมัติ แล้วค่อยทำการรันโปรแกรม***
  7.  
  8. รูปแบบการแสดงผล
  9. John Doe:3000.0
  10. Mark Ken:2300.0
  11. Sucy Merc:2000.0
  12. =7300.0
  13. */
  14. #include <stdio.h>
  15. struct employee {
  16. char name[128];
  17. float salary;
  18. };
  19. typedef struct employee Employee;
  20.  
  21. int main() {
  22. int num;
  23. Employee e,*ep=&e;
  24. float total = 0.0;
  25. FILE *fp;
  26.  
  27. fp = fopen("employee.bin","rb");
  28. fread(&num,sizeof(num),1,fp);
  29. while(num--){
  30. fread(&e,sizeof(Employee),1,fp);
  31. printf("%s:%.1f\n", e.name, e.salary);
  32. total+=e.salary;
  33. }
  34. printf("=%.1f\n", total);
  35. fclose(fp);
  36. return 0;
  37. }
  38.  
  39.  
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:23: warning: unused variable ‘ep’
prog.cpp:28: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
prog.cpp:30: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
stdout
Standard output is empty