第三次博客园作业
一,代码展示
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> typedef struct student{ char name[10];//姓名 char classes[10];//班级 char number[100];//学号 char sex[10];//性别 char score[10];//成绩 }STU; void Menu(void);//主菜单 void Search(void);//查询学生 void Add(void);//添加学生 void setColor(void);//设置界面 int main() { int n; while(1) { Menu(); scanf("%d",&n); switch(n) { case 1: Search(); break; case 2: Add(); break; case 3: setColor(); break; case 4: printf("已退出,欢迎继续使用\n"); exit(0); } } return 0; } void Menu(void) { printf("************************************\n"); printf(" 欢迎使用本系统 \n"); printf("************************************\n"); printf(" 1 查询成绩\n"); printf(" 2 录入成绩\n"); printf(" 3 修改界面,字体颜色,大小\n"); printf(" 4 退出\n"); printf("************************************\n"); printf("输入相应数字执行下一步:\n"); } void Search(void) { char name[10]; STU stu[100]; FILE *fp; int i=0,j; printf("请输入查询人的名字(-1结束)\n"); scanf("%s",name); while(strcmp(name,"-1")!=0) { strcat(name,".txt"); fp=fopen(name,"r"); if(fp==NULL) { printf("查无此人信息\n"); } else { fscanf(fp,"%s%s%s%s%s",stu[i].name,stu[i].classes,stu[i].number,stu[i].sex,stu[i].score); fclose(fp); ++i; } printf("请输入查询人的名字(-1结束)\n"); scanf("%s",name); } for(j=0;j<i;j++) { printf("姓名 班级 学号 性别 分数\n"); printf("%s %s %s %s %s\n",stu[j].name,stu[j].classes,stu[j].number,stu[j].sex,stu[j].score); } system("pause"); system("cls"); } void Add(void) { FILE *fp; STU stu; char name_temp[60]; int n=1,i=0; printf("请输入第%d个学生姓名(-1结束写入成绩)\n",n); scanf("%s",stu.name); while(strcmp(stu.name,"-1")!=0) { strcpy(name_temp,stu.name); strcat(name_temp,".txt"); FILE *fp=fopen(name_temp,"w+"); if(fp==NULL){ printf("录入成绩失败\n"); exit(0); } printf("班级 学号 性别 分数\n"); scanf("%s %s %s %s",stu.classes,stu.number,stu.sex,stu.score); fprintf(fp,"%s %s %s %s %s\n",stu.name,stu.classes,stu.number,stu.sex,stu.score); ++n; printf("请输入第%d个学生姓名(-1结束写入成绩)\n",n); scanf("%s",stu.name); fclose(fp); } system("pause"); system("cls"); } void setColor(void)//设置运行框颜色 { int num,flag=0; printf("************************************************\n"); printf("1.背景黑色,字体白色\t\t*\n"); printf("2.背景绿色,字体黑色\t\t*\n"); printf("3.背景黑色,字体红色\t\t*\n"); printf("4.退出\t\t\t\t*\n"); printf("************************************************\n"); printf("请输入序号:"); scanf("%d",&num); switch(num) { case 1: system("color 0f");break;//背景黑色,字体白色 case 2: system("color b0");break;//背景绿色,字体黑色 case 3: system("color 04");break;//背景黑色,字体红色 case 4:break; } system("pause"); system("cls"); }
二,运行截图
任务一
任务二,
任务三,
主页
查询
录入
美化
三,system命令
1.system("pause"):暂停界面
2.system(“cls”)清除界面
3.system( "color ab") a是背景颜色,b是字体颜色。
四,总结
1.向文件写入数据,一开始的代码写入文件一直失败,后面向学长请教才会写。
2.了解缓冲区以及EOF概念。
3,学会了system()命令,可以美化自己的程序。
4,学会运用结构体和函数结合,可以让自己的代码更简洁。