一.完整代码
#include
#include
#include
struct fun{
char name[100];
char num[100];
char sex[100];
char cla[100];
int score;
}nice[10];
int main(){
char name2[10][100]={
{"C:\\information\\肠旺面"},
{"C:\\information\\丝娃娃"},
{"C:\\information\\板筋盖饭"},
{"C:\\information\\折耳根"},
{"C:\\information\\酸汤鱼"},
{"C:\\information\\洋芋粑"},
{"C:\\information\\豆腐果"},
{"C:\\information\\烙锅"},
{"C:\\information\\糯米饭"},
{"C:\\information\\竹签烤肉"},
};
int i;
char content[100]={"姓名 学号 性别 班级 线代成绩\n"};
for(i=0;i<10;i++){
strcpy(nice[i].name,name2[i]);
strcat(name2[i],".txt");
FILE *fp;
if((fp=fopen(name2[i],"w+"))==NULL){
printf("File open error!\n");
exit(0);
} fprintf(fp,"%s",content);
if(fclose(fp)){
printf("can't close file!\n");
exit(0);
}}
for(i=0;i<10;i++){
strcpy(nice[i].name,nice[i].name+15);
}
for(i=0;i<10;i++){
printf("%-8s",nice[i].name);
scanf("%s %s %s %d",nice[i].num,nice[i].sex,nice[i].cla,&nice[i].score);
FILE *dp;
dp=fopen(name2[i],"a+");
fprintf(dp,"%s %s %s %s %d\n",nice[i].name,nice[i].num,nice[i].sex,nice[i].cla,nice[i].score);
}
printf("录入OK!\n");
for(i=0;i<10;i++){
FILE *tp;
if((tp=fopen(name2[i],"a+"))==NULL){
printf("error!");}
fscanf(tp,"%s %s %s %s %d",nice[i].name,nice[i].num,nice[i].sex,nice[i].cla,&nice[i].score);
if(fclose(tp)){
printf("error!");}
}
for(i=0;i<10;i++){
printf("%-8s %s %s %s %d\n",nice[i].name,nice[i].num,nice[i].sex,nice[i].cla,nice[i].score);
}
}
二.运行截图
(1)任务一
你现在拥有一个数组,数组中储存着总共10个人的姓名字符串
你需要为每个人创建一个txt文件,以他们的名字命名。
(2)任务二
在任务一的基础上,这次不仅仅要创建txt文件,还需要往文件中写入
每个人的学号,性别,班级,线代成绩
(3)任务三
在任务二生成的文件中,将每个人的信息再重新读取出来,放入数组中。
[要求使用结构体数组,结构体需要包含姓名,学号,性别,班级,线代成绩5个属性]
(4)任务四
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=亮白色
三.自我总结
通过这次博客园作业的练习,初步接触了fopen,fclose[读取,关闭文件] fscanf,fgets,fgetc...[从文件中读取数据] fprintf,fputs,fputc...[向文件中写入数据]以上函数的运用;
虽然作业中并未使用system( ),但也百度搜索知道了许多相关命令对于程序的美化作用;
同时收获颇多,了解到EOF的概念,能够基本掌握文件的操作。