C语言程序设计练习题 实验九 9-3

*3. (选做题) 首先创建一个磁盘文件“employee",存放10名职工的数据。每个职
工的数据包括职工姓名、职工性别、年龄、住址、工资、文化程度。再将职工姓名、工资
信息单独抽出另建一个简明的职工工资文件

#include
int main()
{
     
	struct emp
	{
     
		char name[10];
		char sex[5];
		int old;
		char address[30];
		float slary;
		char culture[10];
	}e[10],m[10];
	FILE*fp,*fp2;
	int i; 
	for(i=0;i<10;i++)
	{
     
		printf("请输入第%d位职工信息\n",i+1);
		scanf("%s %s %d %s %f %s",&e[i].name,&e[i].sex,&e[i].old,&e[i].address,&e[i].slary,&e[i].culture);
	}//输入数据并存入完整结构体 
	if((fp=fopen("emoloyee.txt","w+"))==NULL)
	{
     
	printf("cannot open emoloyee.txt\n");
	return 0;}

	for(i=0;i<10;i++)
	{
     
		fprintf(fp,"%4s %4s %4d %4s %5.1f %4s\n",e[i].name,e[i].sex,e[i].old,e[i].address,e[i].slary,e[i].culture);
	}//将完整数据结构体写入employee.txt 
	printf("打印成功\n"); 
	fclose(fp);
	if((fp2=fopen("D:emoloyee.txt","r+"))==NULL)//注意:此处填写你生成的txt文件的地址,不要照抄
	{
     
	printf("cannot open emoloyee.txt\n");
	return 0;}
	for(i=0;i<10;i++)
	{
     
		fscanf(fp,"%s %s %d %s %f %s",&m[i].name,&m[i].sex,&m[i].old,&m[i].address,&m[i].slary,&m[i].culture);
	}
	printf("读取成功\n");//读取 employee.txt文件中的完整数据并打印以示成功 
	if((fp2=fopen("emoloyee_part.txt","w+"))==NULL)
	{
     
	printf("cannot open emoloyee_part.txt\n");
		return 0;}
	for(i=0;i<10;i++)
	{
     
		fprintf(fp2,"%4s %5.2f\n ",m[i].name,m[i].slary);
	}//将部分数据结构体的数据写入文件 
	printf("打印成功\n"); 
	fclose(fp2);
	return 0;
 } 

C语言程序设计练习题 实验九 9-3_第1张图片
注意:读取employee.txt文件时,要填写你自己保存的路径,同时注意要用双反斜线而不是单反斜线,此处已经处理过,不要照搬。
本人大一学生,对C语言了解有限。有不正确的,繁琐的地方,还请大家指导,理解。

你可能感兴趣的:(c语言)