c语言作业
总代码
#include<stdio.h> #include<stdlib.h> #include<string.h> struct student { char name1[30], sex[5], clas[20], num[20], score[20]; }; void inputtxt(); void outputtxt(); int main() { int a; system("color 7C"); printf("*******************************************\n"); printf("* 欢迎使用学生信息管理系统 *\n"); printf("* 录入学生成绩按[1] *\n"); printf("* 查询学生成绩按[2] *\n"); printf("* 如果退出系统按[3] *\n"); printf("*******************************************\n"); scanf("%d", &a); system("cls"); switch (a) { case 1:inputtxt(); break; case 2:outputtxt(); break; case 3:printf("欢迎下次使用!"); } return 0; } void inputtxt() { int n, i; char name[30][30]; struct student stu[30]; FILE* fp; printf("要录入学生信息人数:"); scanf("%d", &n); printf("姓名 学号 性别 班级 线代成绩\n"); for (i = 0; i < n; i++) { scanf("%s", name[i]); strcpy(stu[i].name1, name[i]); strcat(name[i], ".txt"); fp = fopen(name[i], "w"); scanf("%s %s %s %s", stu[i].num, stu[i].sex, stu[i].clas, stu[i].score); fprintf(fp, "%s %s %s %s %s", stu[i].name1, stu[i].num, stu[i].sex, stu[i].clas, stu[i].score); if (fclose(fp)) { printf("Can not close the file!\n"); exit(0); } } printf("添加成功!"); } void outputtxt() { FILE* fp; int n, i; char name[30][30]; struct student stu[30]; printf("输入需要查询人数:"); scanf("%d", &n); printf("输入需要查询人的姓名:"); for (i = 0; i < n; i++) { scanf("%s", name[i]); strcat(name[i], ".txt"); if ((fp = fopen(name[i], "r")) == NULL) { printf("没有该学生信息!"); exit(0); } fp = fopen(name[i], "r"); fscanf(fp, "%s %s %s %s %s", stu[i].name1, stu[i].num, stu[i].sex, stu[i].clas, stu[i].score); printf("姓名 学号 性别 班级 线代成绩\n"); printf("%s %s %s %s %s", stu[i].name1, stu[i].num, stu[i].sex, stu[i].clas, stu[i].score); if (fclose(fp)) { printf("File close error!"); exit(0); } printf("\n"); if (i != n - 1) printf("输入需要查询人的姓名:"); } printf("欢迎下次使用!"); }
建立文件并存储数据:
(函数)
void inputtxt() { int n, i; char name[30][30]; struct student stu[30]; FILE* fp; printf("要录入学生信息人数:"); scanf("%d", &n); printf("姓名 学号 性别 班级 线代成绩\n"); for (i = 0; i < n; i++) { scanf("%s", name[i]); strcpy(stu[i].name1, name[i]); strcat(name[i], ".txt"); fp = fopen(name[i], "w"); scanf("%s %s %s %s", stu[i].num, stu[i].sex, stu[i].clas, stu[i].score); fprintf(fp, "%s %s %s %s %s", stu[i].name1, stu[i].num, stu[i].sex, stu[i].clas, stu[i].score); if (fclose(fp)) { printf("Can not close the file!\n"); exit(0); } } printf("添加成功!"); }
读取数据
(函数)
void outputtxt() { FILE* fp; int n, i; char name[30][30]; struct student stu[30]; printf("输入需要查询人数:"); scanf("%d", &n); printf("输入需要查询人的姓名:"); for (i = 0; i < n; i++) { scanf("%s", name[i]); strcat(name[i], ".txt"); if ((fp = fopen(name[i], "r")) == NULL) { printf("没有该学生信息!"); exit(0); } fp = fopen(name[i], "r"); fscanf(fp, "%s %s %s %s %s", stu[i].name1, stu[i].num, stu[i].sex, stu[i].clas, stu[i].score); printf("姓名 学号 性别 班级 线代成绩\n"); printf("%s %s %s %s %s", stu[i].name1, stu[i].num, stu[i].sex, stu[i].clas, stu[i].score); if (fclose(fp)) { printf("File close error!"); exit(0); } printf("\n"); if (i != n - 1) printf("输入需要查询人的姓名:"); } printf("欢迎下次使用!"); }
界面
system用法
system("cls")可以清屏
system("color xy"),x为背景颜色,y为字体颜色
0=黑色 ,1 = 蓝色, 2 = 绿色, 3 = 浅绿色, 4 = 红色, 5 = 紫色, 6 = 黄色, 7 = 白色, 8=灰色, 9 = 淡蓝色, A = 淡绿色, B = 淡浅绿, C = 淡红色, D = 淡紫色, E = 淡黄色, F = 亮白色。
system("pause")可以使屏幕暂停
system("dir")显示一个目录中的文件和子目录
system("del xx")可以删除xx文件