c语言文件
任务一:
你现在拥有一个数组,数组中储存着总共10个人的姓名字符串
你需要为每个人创建一个txt文件,以他们的名字命名。
执行代码如下:
#include<stdio.h> #include<string.h> #include<stdlib.h> int main() { FILE* fp; char name[10][100] = { "小蛋1","小蛋2","小蛋3","小蛋4","小蛋5","小蛋6","小蛋7","小蛋8","小蛋9","小蛋10" }; int i; for (i = 0; i < 10; i++) { strcat(name[i], ".txt"); if ((fp = fopen(name[i], "w")) == NULL) { printf("File open error!\n"); exit(0); } fclose(fp); } return 0; }
运行结果如下:
任务二:
在任务一的基础上,这次不仅仅要创建txt文件,还需要往文件中写入
每个人的学号,性别,班级,线代成绩
执行代码如下:
#include<stdio.h> #include<stdlib.h> #include<string.h> struct student { char name[10]; char num[20]; char sex[10]; char Class[20]; int score; }; int main() { system("color 0"); printf("*****************************************\n"); printf(" 学生信息管理系统\n"); printf(" 欢迎您的使用\n"); printf(" 输入0进入系统\n"); printf("******************************************\n"); int n, i; scanf("%d", &n); system("cls"); char name[10][100]; struct student a[10], s[10]; FILE* fp; printf("姓名: 学号: 性别: 班级: 线代成绩: \n"); for (i = 0; i < 10; i++) { scanf("%s", name[i]); strcpy(s[i].name, name[i]); strcat(name[i], ".txt"); fp = fopen(name[i], "w"); scanf("%s %s %s %d", s[i].num, s[i].sex, s[i].Class, &s[i].score); fprintf(fp, "%s %s %s %s %d", s[i].name, s[i].num, s[i].sex, s[i].Class, s[i].score); if (fclose(fp)) { printf("Can not close the file!\n"); exit(0); } } return 0; }
运行结果如下:
任务三:
在任务二生成的文件中,将每个人的信息再重新读取出来,放入数组中。
[要求使用结构体数组,结构体需要包含姓名,学号,性别,班级,线代成绩5个属性]
执行代码如下:
#include<stdio.h> #include<stdlib.h> #include<string.h> struct student { char name[10]; char num[20]; char sex[10]; char Class[20]; int score; }; int main() { system("color 0"); printf("*****************************************\n"); printf(" 学生信息管理系统\n"); printf(" 欢迎您的使用\n"); printf(" 输入0进入系统\n"); printf("******************************************\n"); int n, i; scanf("%d", &n); system("cls"); char name[10][100]; struct student a[10], s[10]; FILE* fp; printf("姓名: 学号: 性别: 班级: 线代成绩: \n"); for (i = 0; i < 10; i++) { scanf("%s", name[i]); strcpy(s[i].name, name[i]); strcat(name[i], ".txt"); fp = fopen(name[i], "w"); scanf("%s %s %s %d", s[i].num, s[i].sex, s[i].Class, &s[i].score); fprintf(fp, "%s %s %s %s %d", s[i].name, s[i].num, s[i].sex, s[i].Class, s[i].score); if (fclose(fp)) { printf("Can not close the file!\n"); exit(0); } } return 0; }
任务四:
试着使用一下system("cls"),system("pause")这两个命令,看看这两个
命令能不能对你的程序起到一些美化的作用。
拓展:上网搜索类似的其他函数,使用并解释他们的作用。
1,system("cls")实现清屏
2,system("pause")冻结窗口
3,system("color 0") 0为字体颜色
0=黑色 8=灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 浅绿色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色
7 = 白色 F = 亮白色