第三次博客园作业

任务一:生成文件

任务二:往文件写入数据

任务三:从文件中读取数据

任务四:代码展示

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct students {
	char name[10];
	char num[100];
	char sex[10];
	char Class[10];
	int grade;
}stu[100];
int main()
{
	FILE* fp;
	int n, i;
	char name2[20][20];
	system("color 7A");
	printf("    ---------------------------\n");
	printf("\n  ^-^请选择你要录入学生数^-^\n");
	printf("         ");
	scanf("%d", &n);
	printf("    ---------------------------\n");
	getchar();
	printf(" *_*请选择你要输入的学生姓名*_*\n");
	for (i = 0; i < n; i++)
	{
		printf("         ");
		scanf("%s", stu[i].name);
		strcpy(name2[i], stu[i].name);
		strcat(name2[i], ".txt");

		//为每个人创建一个txt文件
		fp = fopen(name2[i], "w");

		if (fp == NULL)
		{
			printf("File open error!\n");
			exit(0);
		}
		if (fclose(fp))
		{
			printf("Can not close the file!\n");
			exit(0);
		}
	}
	system("cls");
	system("color 7C");
	//输入学号,性别,班级,线代成绩到相应的文件中
	printf("-----------------------------------\n");
	printf("请按顺序输入以下并用空格隔开\n\n姓名    学号    性别    班级   成绩:\n");
	printf("-----------------------------------\n");
	for (i = 0; i < n; i++)
	{
		fp = fopen(name2[i], "r+");
		if (fp == NULL)
		{
			printf("File open error!\n");
			exit(0);
		}
		printf("%s", stu[i].name);
		scanf("%s %s %s %d", stu[i].num, stu[i].sex, stu[i].Class, &stu[i].grade);
		fprintf(fp, "%s %s %s %d", stu[i].num, stu[i].sex, stu[i].Class, stu[i].grade);
		if (fclose(fp))
		{
			printf("Can not close the file!\n");
			exit(0);
		}
	}
	system("cls");
	//将每个人的信息再重新读取出来,放入数组中
	printf("         ");
	printf("--------------------------------------------------\n");
	printf("        姓名        学号       性别         班级         成绩\n");
	printf("         ");
	printf("---------------------------------------------------\n");
	for (i = 0; i < n; i++)
	{
		fp = fopen(name2[i], "r");
		if (fp == NULL)
		{
			printf("File open error!\n");
			exit(0);
		}
		fscanf(fp,"%s %s %s %d", stu[i].num, stu[i].sex, stu[i].Class, &stu[i].grade);
		printf("       %6s   %6s %6s       %6s %6d\n",stu[i].name, stu[i].num, stu[i].sex, stu[i].Class, stu[i].grade);
		if (fclose(fp)) 
		{
			printf("Can not close the file!\n");
			exit(0);
		}
	}
	return 0;
}

任务五:system函数分析

1:system("pause")可以实现冻结屏幕,便于观察程序的执行结果;
2:system("CLS")可以实现清屏操作。而调用color函数可以改变控制台的前景色和背景
3:system("color 0A"); 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:
0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色

任务六:总结

1.了解system的作用
2.也理解文件的基本使用方法
3.结构和文件使用更让程序代码清晰明了

posted @ 2019-12-20 18:25  JYangYang  阅读(120)  评论(0编辑  收藏  举报