博客园第三次作业
一.代码展示
#include<stdio.h> #include<stdlib.h> #include<string.h> struct students { //定义结构体 char name[20]; char num[15]; char sex[10]; char Class[10]; char score[10]; }; void menu(); //菜单 void view();//改变外观 void type_in();//录入 void query();//查找 int main() { view(); int n = 3; while (n>0) { menu(); int x; scanf("%d", &x); switch (x) //功能选择 { case 1: query();break; case 2: type_in();break; case 3: view();break; case 0: printf("退出系统\n"); return 0; break; default: printf("输入错误,请重新输入!");//输入错位提示 system("pause");//冻住窗口 break; } n--; } } void menu() { printf(" 欢迎使用学生成绩查询与管理系统\n\n"); printf(" 请选择:\n"); printf(" [1].查询\n"); printf(" [2].录入\n"); printf(" [3].外观\n"); printf(" [0].退出\n\n\n\n"); printf(" 输入相应数字执行下一步:\n"); } void type_in() { system("cls");//清空界面 char name1[10][20]; char name2[10][20]; char sex[10]; char num[15]; char Class[10]; char score[10]; int n; struct students a[500]; FILE* fp; printf("需要添加的人数:"); scanf("%d", &n); printf(" 姓名 学号 性别 班级 线代成绩\n"); for (int i = 0; i < n; i++) { printf("\n"); printf(" "); scanf("%s", name1[i]);//输入姓名 strcpy(name2[i], name1[i]); strcat(name1[i], ".txt");//将txt文件用名字命名 FILE* fp = fopen(name1[i], "w+"); fclose(fp); if ((fp = fopen(name1[i], "r+")) == NULL) { printf("File open error!\n"); exit(0); } scanf(" %s %s %s %s", &a[i].num,&a[i]. sex,&a[i].Class, &a[i].score); fprintf(fp, "%s %s %s %s", &a[i].num, &a[i].sex, &a[i].Class, &a[i].score);//将数据存入文本文档 if (fclose(fp)) { printf("Can not close the file!\n"); exit(0); } } printf("\n 添加成功!\n");//提示添加成功 exit(0); } void query() { system("cls"); char name1[20]; char name2[20]; char sex[10]; char num[15]; char Class[10]; char score[10]; int i; printf("请输入需要查找的个数:"); scanf("%d", &i); struct students a[500]; FILE* fp; printf("请输入需要查找的姓名:"); while (i > 0) { scanf("%s", name1); strcpy(name2, name1); strcat(name1, ".txt"); if ((fp = fopen(name1, "r")) == NULL) { printf("Failed to open file\n"); } fp = fopen(name1, "r");//打开对应文本文档 fscanf(fp, "%s %s %s %s", &a[i].num, &a[i].sex, &a[i].Class, &a[i].score);//从文件中读取数据 printf(" 姓名 学号 性别 班级 线代成绩\n"); printf(" %s %s %s %s %s", name2, a[i].num, a[i].sex, a[i].Class, a[i].score); fclose(fp); i--; } system("pause");//暂停页面 exit(1); } void view() { system("color 0C");//0指将背景变为黑色,C指将字体颜色变为红色。 }
二.运行截图:
1.
2.
3.
三.system()用法
system("pause");//暂停程序,按任意键继续;
system("cls");//清空黑框界面;
system("color 12");//改变黑框颜色,不同数字不同颜色,0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色,其中color后面的第一个数是背景色代号,第二个数是前景色代号。
四.总结
1.掌握文件的一些基本用法
2.对于system()的用法掌握