c语言文件
一、代码展示
#include<stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> int n; FILE* fp; void welcome();//欢迎界面函数 void inputinformation();//录入信息函数 void query();//查询信息函数 void preservation();//保存信息函数 void exit();//退出系统函数 struct student { char name[20]; char name_[20]; char id[20]; char sex[4]; char Class[20]; char score[20]; }; struct student stu[10],stur[10]; int main() { system("cls"); system("color F1"); welcome(); while(1){ char ch=getchar(); switch(ch) { case'1': inputinformation();//录入学生信息 break; case'2': preservation();//保存学生信息 break; case'3': query();//查询学生信息 break; case'0':system("cls"); exit();//退出系统 exit(0); break; } } return 0; } void welcome()//欢迎界面函数 { printf("***********************************************************\n"); printf("* 欢迎使用学生信息管理系统 *\n"); printf("***********************************************************\n"); printf("* 功能列表 *\n"); printf("***********************************************************\n"); printf("* →1.录入学生信息 *\n"); printf("* →2.保存学生信息 *\n"); printf("* →3.查询学生信息 *\n"); printf("* (一次查询一名,继续查询输入3) *\n"); printf("* →0.退出系统 *\n"); printf("***********************************************************\n"); } void inputinformation()//录入学生成绩 { printf("需要录入学生人数:\n"); scanf("%d",&n); int i; for (i = 0; i < n; i++) { printf("输入学生姓名:\n"); scanf("%s", stu[i].name); strcpy(stu[i].name_,stu[i].name); strcat(stu[i].name, ".txt"); fp = fopen(stu[i].name, "w"); if (fp == NULL) { printf("文件打开错误!\n"); exit(0); } printf("输入学号:\n"); scanf("%s",stu[i].id); printf("输入性别:\n"); scanf("%s",stu[i].sex); printf("输入班级:\n"); scanf("%s",stu[i].Class); printf("输入线性代数成绩:\n"); scanf("%s",stu[i].score); fp = fopen(stu[i].name, "w"); fprintf(fp,"%s %s %s %s\n",stu[i].id,stu[i].sex,stu[i].Class,stu[i].score); if(fclose(fp)){ printf("文件关闭错误!\n"); exit(0); } system("cls"); welcome(); printf("*---------------------------------------------------------*\n"); printf("* 录入成功,输入2保存 *\n"); printf("***********************************************************\n"); } } void query()// 查询函数 { int i; char name[20],name_[20]; printf("请输入查询学生的姓名:\n"); scanf("%s",name); strcpy(name_,name); strcat(name,".txt"); if ((fp = fopen(name,"r")) == NULL) { printf("未录入此学生信息\n"); } fp = fopen(name,"r"); fscanf(fp,"%s %s %s %s",stu[i].id,stu[i].sex,stu[i].Class,stu[i].score); printf("*姓名:%s 学号:%s 性别:%s 班级:%s 线性代数成绩:%s*\n",name_,stu[i].id,stu[i].sex,stu[i].Class,stu[i].score); } void preservation()//保存函数 { int i; for(i=0;i<10;i++) { fp = fopen(stu[i].name, "r"); fprintf(fp,"%s %s %s %s\n",stu[i].id,stu[i].sex,stu[i].Class,stu[i].score); } printf("***********************************************************\n"); printf("* *\n"); printf("* *\n"); printf("* 保存成功 *\n"); printf("* ^ ^ *\n"); printf("* ^0^ ^0^ *\n"); printf("* *\n"); printf("* ^ ^ *\n"); printf("* ^ *\n"); printf("***********************************************************\n"); system("pause"); system("cls"); welcome(); } void exit()//退出系统函数 { printf("***********************************************************\n"); printf("* *\n"); printf("* 退出系统成功 *\n"); printf("* 欢迎下次使用 *\n"); printf("* ^ ^ *\n"); printf("* ^0^ ^0^ *\n"); printf("* *\n"); printf("* ^ ^ *\n"); printf("* ^ *\n"); printf("***********************************************************\n"); }
二、运行界面
系统界面
录入学生信息
查询学生成绩
保存在电脑的文件
文件内部
系统退出界面
三、system()函数
使用system函数可以美化我们的运行界面。
1.system("pause")
可以实现冻结屏幕,便于观察程序的执行结果;
2.system("cls")
可以实现清屏操作。
3.而调用color函数可以改变控制台的前景色和背景
例如:
用 system("color 0A"); 其中color后面的0是背景色代号,A是前景色代号。
各颜色代码如下:
0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色
5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色
A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色
F=亮白色;
四、总结
1.通过本次的博客园作业,可以感受到代码的实用性;
2.一开始对文件并不是很熟悉,后来通过询问同学和百度搜索以及查阅书籍就有了更深的理解。
3.比如system()函数可以帮助我们编写代码,使得我们编写的程序运行更加顺畅,便于观察运行结果。
4.知识之间是贯通的,函数,结构体,文件都会是以后经常要实验的。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 使用 Dify + LLM 构建精确任务处理应用