- 论坛徽章:
- 3
|
原帖由 dreamice 于 2008-12-2 12:28 发表 ![]()
这代码格式,看起来忒费劲了
是啊。累
#include <stdio.h>
//#include <conio.h>
#include <stdlib.h>
int i,j;
struct student
{
char noname[6];
char name[8];
int score[3];
float ave;
}stu[5];
void two(struct student *_stu)
{
int sum;
for(j=0;j<3;j++)
{
sum=0;
printf("score %d:",j+1);
scanf("%d",&_stu->score[j]);
sum=sum+_stu->score[j];
}
_stu->ave=sum/3.0;
}
#if 0
void one(struct student (*_stu)[5])
{
for(i=0;i<5;i++)
{
//two(stu.score[j]);
printf("\nInput score of student %d:\n",i+1);
printf("NO. :");
scanf("%6s", _stu[i]->noname);
printf("name :");
scanf("%8s", _stu[i]->name);
two(_stu[i]);
}
}
#endif
void one()
{
for(i=0;i<5;i++)
{
printf("\nInput score of student %d:\n",i+1);
printf("NO. :");
scanf("%6s", stu[i].noname);
printf("name :");
scanf("%8s", stu[i].name);
two(&stu[i]);
}
}
int main()
{
//void one();
//clrscr();
//int i;
FILE *fp;
//one(stu);
#if 0
one(&stu);
#endif
one();
fp=fopen("stud","w+");
if (fp == NULL) {
perror("fopen");
exit(-1);
}
for(i=0;i<5;i++) {
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
printf("File write error\n");
}
fclose(fp);
fp=fopen("stud", "r");
if (fp == NULL) {
perror("fopen");
exit(-1);
}
for(i=0;i<5;i++) {
fread(&stu[i],sizeof(struct student),1,fp);
printf("%s,%s,%d,%d,%d,%6.2f\n",
stu[i].noname,
stu[i].name,
stu[i].score[0],
stu[i].score[1],
stu[i].score[2],
stu[i].ave
);
}
fclose(fp);
return 0;
}
|
|
|