第三次博客园作业
任务一:生成文件
任务二:往文件写入数据
任务三:从文件中读取数据
任务四:代码展示
#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.结构和文件使用更让程序代码清晰明了