任务一
你现在拥有一个数组,数组中储存着总共10个人的姓名字符串
你需要为每个人创建一个txt文件,以他们的名字命名。
代码如下
#include
#include
#include
int main()
{
int i;
char name[10][10] = { "a","b","c","d","e","f","g","h","i","j" };
for (i = 0; i < 10; i++)
{
strcat(name[i], ".txt");
}
FILE* p[10];
for (i = 0; i < 10; i++)
{
if((p[i] = fopen(name[i], "w")) == NULL)
{
printf("打开文件失败");
exit(0);
}
}
for (i = 0; i < 10; i++)
{
fclose(p[i]);
exit(0);
}
return 0;
}
任务二
在任务一的基础上,这次不仅仅要创建txt文件,还需要往文件中写入
每个人的学号,性别,班级,线代成绩
代码如下
#include
#include
#include
struct a {
char s[100];
char name[10];
char c[10];
int score;
};
int main()
{
struct a t[10];
int i;
char name[10][10] = { "a","b","c","d","e","f","g","h","i","j" };
for (i = 0; i < 10; i++)
{
strcat(name[i], ".txt");
}
FILE* p[10];
for (i = 0; i < 10; i++)
{
if((p[i] = fopen(name[i], "w+")) == NULL)
{
printf("打开文件失败");
exit(0);
}
scanf("%s %s %s %d", t[i].s, t[i].name, t[i].c, &t[i].score);
fprintf(p[i], "%s %s %s %d", t[i].s, t[i].name, t[i].c, t[i].score);
}
for (i = 0; i < 10; i++)
{
fclose(p[i]);
exit(0);
}
return 0;
}
任务三
在任务二生成的文件中,将每个人的信息再重新读取出来,放入数组中。
[要求使用结构体数组,结构体需要包含姓名,学号,性别,班级,线代成绩5个属性]
代码如下
#include
#include
#include
struct a {
char name[10];
char s[100];
char g[100];
char c[100];
char score[100];
};
int main()
{
struct a t[10];
int i;
char name[10][10] = { "a","b","c","d","e","f","g","h","i","j" };
for (i = 0; i < 10; i++)
{
strcpy(t[i].name, name[i]);
}
for (i = 0; i < 10; i++)
{
strcat(name[i], ".txt");
}
FILE* p[10];
for (i = 0; i < 10; i++)
{
if((p[i] = fopen(name[i], "r")) == NULL)
{
printf("打开文件失败");
exit(0);
}
fscanf(p[i], "%s %s %s %s", t[i].s, t[i].g, t[i].c, t[i].score);
printf("%s %s %s %s %s\n",t[i].name, t[i].s, t[i].g, t[i].c, t[i].score);
}
for (i = 0; i < 10; i++)
{
fclose(p[i]);
exit(0);
}
return 0;
}
任务四
1.system("cls")清屏
2.system("pause")暂停
3.system("color 0A")用 system("color 0A"); 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:
0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色