一.代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct student {//定义结构
char name[10];
char num[20];
char sex[10];
char cla[10];
char score[10];
}stu[10];
void file_open(FILE* fp);//检验文件打开是否成功
void file_close(FILE* fp);//检验文件关闭是否成功
int main()
{ system("color F0");
system("date");
system("ver");
char name1[10][15], name2[10][15];
char txt[5] = ".txt";
int i = 0;
FILE* fp;
printf("\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t 欢迎使用!\n\n\n");
system("pause");
system("cls");
printf("\n\n\n请输入姓名\n");
for (i = 0; i < 10; i++) {//创建文本
printf("%d.", i+1);
scanf("%s", name1[i]);
strcpy(name2[i], name1[i]);
strcat(name1[i], txt);
fp = fopen(name1[i], "w");
file_open(fp);
file_close(fp);
}
for(i=0;i<10;i++)
system("cls");
char num[15], sex[10], cla[15], score[10];
printf(" 学号 性别 班级 分数\n");//往文本输入数据
for (i = 0; i < 10; i++) {
printf("%d.", i+1);
fp = fopen(name1[i], "w");
file_open(fp);
scanf("%s %s %s %s", num, sex, cla, score);
fprintf(fp, "%s %s %s %s", num, sex, cla, score);
file_close(fp);
}
system("pause");
system("cls");
for (i = 0; i < 10; i++) {//从文本读取数据并输出
fp = fopen(name1[i], "r");
file_open(fp);
fscanf(fp,"%s %s %s %s", stu[i].num, stu[i].sex, stu[i].cla, stu[i].score);
file_close(fp);
strcpy(stu[i].name, name2[i]);
printf("%s %s %s %s %s\n",stu[i].name, stu[i].num, stu[i].sex, stu[i].cla, stu[i].score);
}
return 0;
}
void file_open(FILE* fp) {
if (fp == NULL) {
printf("file open error\n");
exit(0);
}
}
void file_close(FILE* fp) {
if (fclose(fp)) {
printf("can not close file\n");
exit(0);
}
}
二.程序运行
初始界面
----输入姓名----
----创建文档----
----读取数据----
三.
任务一
for (i = 0; i < 10; i++) {//创建文本
printf("%d.", i+1);
scanf("%s", name1[i]);
strcpy(name2[i], name1[i]);
strcat(name1[i], txt);
fp = fopen(name1[i], "w");
file_open(fp);
file_close(fp);
}
任务二
for (i = 0; i < 10; i++) {
printf("%d.", i+1);
fp = fopen(name1[i], "w");
file_open(fp);
scanf("%s %s %s %s", num, sex, cla, score);
fprintf(fp, "%s %s %s %s", num, sex, cla, score);
file_close(fp);
}
任务三
for (i = 0; i < 10; i++) {//从文本读取数据并输出
fp = fopen(name1[i], "r");
file_open(fp);
fscanf(fp,"%s %s %s %s", stu[i].num, stu[i].sex, stu[i].cla,stu[i].score);
file_close(fp);
strcpy(stu[i].name, name2[i]);
printf("%s %s %s %s %s\n",stu[i].name, stu[i].num, stu[i].sex, stu[i].cla, stu[i].score);
}
四.system()运用
1.system("color F0")------------
可以改变控制台的前景色和背景 , system(“color 0A”); 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:
0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色
2.system("date")------------
显示或设置日期
3.system("ver")------------
显示windows版本