第三次作业

任务一:###

你现在拥有一个数组,数组中储存着总共10个人的姓名字符串
你需要为每个人创建一个txt文件,以他们的名字命名。

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int i;
	char *name[10]={"zhao.txt","qian.txt","sun.txt","li.txt","zhou.txt","wu.txt","wei.txt","wang.txt","chen.txt","zhang.txt"};
	for(i=0;i<10;i++){
		FILE *fp;
	    fp=fopen(name[i],"w");
	    system("pause");//请按任意键继续...
	    fclose(fp);
    }
    return 0;
 } 

运行结果截图:

任务二:###

在任务一的基础上,这次不仅仅要创建txt文件,还需要往文件中写入
每个人的学号,性别,班级,线代成绩

#include <stdlib.h>
int main()
{
	int i;
	const char *fname[10]={"zhao.txt","qian.txt","sun.txt","li.txt","zhou.txt","wu.txt","wei.txt","wang.txt","chen.txt","zhang.txt"};
	for(i=0;i<10;i++){
		FILE *fp;
		char number[10],name[20],gender[10],Class[10];
		int score;
	    fp=fopen(fname[i],"w+");
	    printf("请输入学生姓名、学号、性别、班级、线代分数:\n"); 
	    scanf("%s %s %s %s %d",name,number,gender,Class,&score);
	    fprintf(fp,"%s %s %s %s %d",name,number,gender,Class,score);
	    system("pause");//请按任意键继续... 
	    fclose(fp);
    }
    return 0;
 } 

运行截图:

任务三:###

在任务二生成的文件中,将每个人的信息再重新读取出来,放入数组中。
[要求使用结构体数组,结构体需要包含姓名,学号,性别,班级,线代成绩5个属性]

#include <stdio.h>
#include <stdlib.h>
struct students{
	char name[20],num[10],gender[10],Class[10];
	int score;
}; 
int main()
{
	int i;
	const char *fname[10]={"zhao.txt","qian.txt","sun.txt","li.txt","zhou.txt","wu.txt","wei.txt","wang.txt","chen.txt","zhang.txt"};
	struct students a[100];
	for(i=0;i<10;i++){
		FILE *fp;
		char number[10],name[20],gender[10],Class[10];
		int score,n;
		printf("如果文件已存在请输入1,否则输入0\n");
		scanf("%d",&n);
		if(n==0){
	    fp=fopen(fname[i],"w+");
	    printf("请输入学生姓名、学号、性别、班级、线代分数:\n"); 
	    scanf("%s %s %s %s %d",name,number,gender,Class,&score);
	    fprintf(fp,"%s %s %s %s %d",name,number,gender,Class,score);
	    system("pause");//请按任意键继续 、、、 
	    fclose(fp);
	}
	    system("cls");//清屏,使界面简洁 
	    system("color F9");//调整界面颜色 
	    if((fp=fopen(fname[i],"r"))==NULL){
	    	printf("File open error!\n");
	    	exit(0);
		}
			fscanf(fp,"%s %s %s %s %d",a[i].name,a[i].num,a[i].gender,a[i].Class,&a[i].score);//将学生信息存入结构体数组 
		if(fclose(fp)){
			printf("Can not close the file!\n");
			exit(0);
		}
    }
    printf("输出学生信息:\n"); 
    for(i=0;i<10;i++){
    	printf("%s %s %s %s %d\n",a[i].name,a[i].num,a[i].gender,a[i].Class,a[i].score);//将结构体数组中的学生信息显示出来 
	}
    return 0;
 } 

运行截图:

任务四:###

system("cls"):实现清屏的操作
system("pause"):暂停程序的执行,等待任意健继续执行
system("color 0A"):color后面的0是背景色代号,A是前景色代号
各颜色代码:0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色

总结###

1、了解了文件的一些基本操作
2、学会了如何改变运行界面颜色达到美化效果
3、懂得了EOF的概念
4、没有用到打开文件的多种方式,如“r+"等

posted @ 2019-12-17 13:43  白祁  阅读(122)  评论(0编辑  收藏  举报