Chinaunix首页 | 论坛 | 博客
  • 博客访问: 107859
  • 博文数量: 106
  • 博客积分: 2025
  • 博客等级: 大尉
  • 技术积分: 1165
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-06 12:51
文章分类

全部博文(106)

文章存档

2012年(106)

我的朋友

分类: C/C++

2012-05-07 18:20:21

例:有N个学生,每个学生的数据包括学号、姓名、一门课的成绩,从键盘输入N个学生的数据,要求:

⑴ 将读入的数据存入磁盘文件“stu.txt”中;

⑵ 从磁盘文件“stu.txt”中读出并显示所有学生数据;

要求:使用fscanf和fprintf函数。

#include "stdlib.h"

#include "iostream.h"

#include "stdio.h"

#define FORMAT "%d %s %f"

#define N 3

struct student

{

intnum;

charname[20];

floatscore;

}stu[N];

void input(char a[]) // a用于接收要写入数据的文件名

{

int i;

FILE*fp;

if((fp=fopen(a,"w"))==NULL)

{

printf("Cannotopen file.");

exit(0);

}

cout<<"输入学生的数据:"<

for(i=0;i

{

scanf(FORMAT,&stu[i].num,stu[i].name,&stu[i].score);

fprintf(fp,FORMAT,stu[i].num,stu[i].name,stu[i].score);

}

fclose(fp);

}

void output(char a[],int sn) // sn用于接收要输出文件中的学生人数

{

int i;

FILE*fp;

if((fp=fopen(a,"r"))==NULL)

{

printf("Cannotopen file.");

exit(0);

}

cout<

for(i=0;i

{

fscanf(fp,FORMAT,&stu[i].num,stu[i].name,&stu[i].score);

printf(FORMAT,stu[i].num,stu[i].name,stu[i].score);

printf(“\n”);

}

fclose(fp);

}

void main()

{

chara[20];

cout<<"输入文件名:";

cin>>a;

input(a); //加入文件名参数可以使子函数更具有通用性

output(a,N); // 加入参数N可以灵活选择子函数输出数据的个数

}

阅读(174) | 评论(0) | 转发(0) |
0

上一篇:QuickReport3

下一篇:C语言复习3

给主人留下些什么吧!~~