完整代碼在http://pan.baidu.com/s/1hqKoRwo
以下為表格代碼 運行時只能顯示一行 且為最後輸入的一行
`void displayuser() //顯示所有用戶信息
{
FILE *p;
int k, n=0;
system("cls");
p = fopen("card", "r");
while( !feof(p) )
{
fread(&card, sizeof(student), 1, p);
n++;
}
fclose(p);
if( n==0 )
{
printf("沒有任何用戶信息!\n\n");
}
else{
k = 0;
printf("┏━━━━┳━━━━━┳━━━━━━━┓\n");
printf("┃ 姓名 ┃ 班級 ┃ 學號 ┃\n");
printf("┣━━━━╋━━━━━╋━━━━━━━┫\n");
while(k<=n)
{
if(card[k].stuclass[0] != '\0') //屏蔽空信息
{
printf("┃%-8s┃%-10s┃%-14d┃\n", card[k].stuname, card[k].stuclass, card[k].stunum);
}k++;
}
printf("┗━━━━┻━━━━━┻━━━━━━━┛\n");
}
printf("\n\n按任意鍵回到主菜單!\n");
getch();
}``
while( !feof(p) )
{
fread(&card, sizeof(student), 1, p);
n++;
}
這個讀出來一組數據會把上一組覆蓋掉,n增加的時候card也要增加,別用全局數組,用指針讓地址隨著增加就行