|
|
发表于 2011-11-6 20:45:25
|
显示全部楼层
- #include <stdio.h>
- #include <malloc.h>
- #include<stdlib.h>
- #define LEN 2
- #define MAX_SIZE 20
- struct student
- {
- int age;
- //char *name;
- char name[MAX_SIZE];
- //char *sex;
- char sex[MAX_SIZE];
- double score;
- }ren[LEN];
- void write (struct student ren[LEN]);
- void main()
- {
- struct student *p;
- int i;
- printf("请输入每个同学的姓名,年龄,性别, 分数\n");
- p = ren;
- //for (i = 0; i < LEN; i++)
- for (i = 0; i < LEN; i++,p++)
- {
- //p = (struct student *) malloc (sizeof(struct student));
- printf("姓名:");
- //scanf("%s", &p->name);
- scanf("%s", p->name);
- getchar();
-
- printf("年龄:");
- scanf("%d", &p->age);
-
- printf("性别:");
- //scanf("%s", &p->sex);
- scanf("%s", p->sex);
-
- printf("分数:");
- //scanf("%f", &p->score); //第一次for输入出现错误;
- scanf("%lf", &p->score);
- }
- write(ren);
- }
- void write(struct student ren[LEN])
- {
- int i;
- FILE *fp;
- //fp = fopen ( "test01", "wb" );
- //以文本模式写入你才能检查结果对不对
- fp = fopen ( "test01.txt", "w" );
- if (fp == NULL)
- {
- printf("文件打开失败!!\n");
- return ;
- }
- for (i = 0; i < LEN; i++)
- {
- //fwrite(&ren, sizeof(struct student), 1, fp);
- fprintf(fp,"age:%d,\tname:%s,\tsex:%s,\tscore:%f\n",
- ren[i].age,ren[i].name,ren[i].sex,ren[i].score);
- }
- fclose( fp );
- }
复制代码 |
|