C语言文件

C语言文件

C语言文件

一.代码展示

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define ROW 26
#define COL 74
void show();//定义运行框的大小和背景颜色
void printhome();//显示首页
void printend();//显示尾页

int i, j,COL2=74, flag=1;
typedef struct {
	char num[14];
	char name[20];
	char sex[3];
	char Class[10];
	char score[4];
}STU;
int main()
{
	char name1[10][20];//用来指定生成名字文件
	char name2[10][20];//储存名字
	int i;
	FILE* fp;
	STU stu1[10],stu2[10];//stu1用来写入文件,stu2用来读取文件
	show();
	printhome();
	printf("\n\n\n\n");
	printf("                               欢迎使用!\n");
	printf("                              请进入系统!\n");
	printf("\n\n\n\n");
	printf("                            ");
	system("pause");//暂停
	for (i = 0; i < 10; i++)
	{
		printhome();
		printf("\n\n");
		printf("               %d.\n", i + 1);
		printf("               请输入姓名:\n");
		printf("               ");
		gets_s(name1[i]);
		strcpy(name2[i], name1[i]);
		strcat(name1[i], ".txt");//生成文件后缀名
		strcpy(stu1[i].name, name1[i]);
		fp = fopen(name1[i], "w");
		if (fp== NULL)
		{
			printf("File open error!\n");
			exit(0);
		}
		printf("               请输入学号:   性别:   班级:     线代成绩:\n");
		printf("               ");
		scanf("%s  %s      %s%s", stu1[i].num, stu1[i].sex, stu1[i].Class, stu1[i].score);
		fprintf(fp, "%s    %s    %s    %s\n", stu1[i].num, stu1[i].sex, stu1[i].Class, stu1[i].score);
		if (fclose(fp))
		{
			printf("Can not close the file!\n");
			exit(0);
		}
		getchar();
		system("cls");//清空界面
		
	}
	printhome();
	printf("\n\n\n\n");
	printf("                        下面查看所录入的学生信息!\n");
	printf("\n\n\n\n");
	printf("                            ");
	system("pause");
	system("cls");
	printhome();
	printf("             姓名:    学号:         性别:   班级:     线代成绩:\n");
	for (i = 0; i < 10; i++)
	{
		if ((fp = fopen(name1[i], "r")) == NULL)
		{
			printf("File open error!\n");
			exit(0);
		}
		strcpy(stu2[i].name, name2[i]);
		fscanf(fp, "%s %s %s %s\n", stu2[i].num, stu2[i].sex, stu2[i].Class, stu2[i].score);
		if (fclose(fp))
		{
			printf("Can not close the file!\n");
			exit(0);
		}
		printf("             ");
		printf("%-10s", stu2[i].name);
		printf("%-15s", stu2[i].num);
		printf("%-9s", stu2[i].sex);
		printf("%-11s", stu2[i].Class);
		printf("%-4s\n", stu2[i].score);

	}
	printf("\n\n\n\n");
	printf("                     请输入0退出系统!\n");
	printf("                     ");
	scanf("%d", &flag);
	if (flag == 0)//用来退出系统
    {
		printend();
	}
	return 0;
}
void show()//定义运行框的大小和背景颜色
{
	system("mode con cols=79 lines=34");//DOS窗口的尺寸会变为34行79列
	system("color F4");//F指改变背景为白色,4指改变字体颜色为红色。
}
void printhome()//显示首页
{
	system("cls");
	printf("┏");
	for (j = 0; j < COL2; j++)
	{
		printf("━");
	}
	printf("┓\n");
	printf("┃  ★☆★☆★☆★☆★☆★ 欢迎使用学生信息管理系统 ★☆★☆★☆★☆★☆★  ┃\n");
	printf("┣");
	for (j = 0; j < COL2; j++)
	{
		printf("━");
	}
	printf("┫\n");
	
	printf("┗");
	
	for (j = 0; j < COL2; j++)
	{
		printf("━");
	}
	printf("┛\n");
}
void printend()//显示尾页 
{
	system("cls");
	printf("┏");
	for (j = 0; j < COL2; j++)
	{
		printf("━");
	}
	printf("┓\n");
	printf("┃  ★☆★☆★☆★☆★☆★ 欢迎使用学生信息管理系统 ★☆★☆★☆★☆★☆★  ┃\n");
	printf("┣");
	for (j = 0; j < COL2; j++)
	{
		printf("━");
	}
	printf("┫\n");
	for (i = 0; i < ROW; i++)
	{
		printf("┃");
		if (i == ROW / 2)
		{
			printf("                               感谢您的使用!                             ");
		}
		else
		{
			for (j = 0; j < COL; j++)
			{
				printf(" ");
			}
		}
		printf("┃\n");
	}
	printf("┣");
	for (j = 0; j < COL2; j++)
	{
		printf("━");
	}
	printf("┫\n");
	printf("┃                               成功退出系统。                             ┃\n");
	printf("┗");
	for (j = 0; j < COL2; j++)
	{
		printf("━");
	}
	printf("┛\n");
}

二.运行展示

C语言文件
C语言文件
C语言文件
C语言文件
C语言文件

自动生成文件,每个文件中存放着每个人的学号,性别,班级,线代成绩。

C语言文件

三.system()

system(“pause”)可以实现冻结屏幕,便于观察程序的执行结果。

system(“CLS”)可以实现清屏操作。

system(“color 0A”); 其中color后面的0是背景色代号,A是前景色代号。

0=黑色 8=灰色

1 = 蓝色 9 = 淡蓝色

2 = 绿色 A = 淡绿色

3 = 浅绿色 B = 淡浅绿色

4 = 红色 C = 淡红色

5 = 紫色 D = 淡紫色

6 = 黄色 E = 淡黄色

7 = 白色 F = 亮白色

system(“mode con cols=48 lines=25”)作用是定义运行框的大小,DOS窗口的尺寸会变为25行48列。

四.总结

1.通过书本和别人的帮助,学会了文件的基本操作,为之后的课设打下基础。

2.运用system()来美化运行界面。

3.利用百度搜索自己想要的界面美化,通过一步步的运行,调整,最终得到自己想要的界面。在接下来的课设中,界面美化是加分项,需要让用户有良好的操作体验。

4.了解缓冲区以及EOF概念,虽然本次没用到二进制文件,但是对它有一定的了解。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114452.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Quartz定时任务的组件API[通俗易懂]

    title:Quartz技术(二)-Quartz组件APIcategories:后端tags:定时任务本讲主要说明Quartz中重要的几个组件的API。Scheduler(调度器)Scheduler的生命期,从SchedulerFactory创建它时开始,到Scheduler调用shutdown()方法时结束;Scheduler被创建后,可以增加、删除和列举Job和Tri…

    2022年4月9日
    47
  • caller与callee[通俗易懂]

    caller与callee[通俗易懂]这两个对象,是用于判断函数调用和执行的对象函数的。其中,arguments.callee返回当前正在执行的函数,func.caller返回函数的调用体所在函数。而arguments.caller永远返回undefined。如果调用函数是在全局进行,那么func.caller将返回null。注意,在严格模式下这两个对象将被禁用。我们举刚才的一个代码为例:[javascri

    2025年7月28日
    4
  • mysql8.0.26安装及配置超详细教程(ps怎么下载安装详细步骤图)

    文章目录:官网下载MySQL的安装包添加并配置my.ini文件配置系统变量并初始化MySQL安装并启动MySQLNavicat连接MySQL并修其密码安装过程中常见问题及其解决方法官网下载MySQL的安装包下载链接如下:MySQL8.0.20版本其他版本:MySQL8.0.16版本MySQL8.0.20版本压缩包解压后如下图所示:添加并配置my.ini文件在原解压根…

    2022年4月13日
    53
  • Vue生命周期钩子(三)「建议收藏」

    Vue生命周期钩子(三)「建议收藏」Vue生命周期图Vue中共有11个生命周期函数,本文只说明8个生命周期钩子beforeCreate:实例刚在内存中被创建出来,此时,还没有初始化好data和methods属性created:实例已经在内存中创建完毕,此时 data 和 methods 已经创建完毕,此时还没有开始编译模板beforeMount:此时已经完成了模板的编译,但是还没有挂载到页面中…

    2022年6月13日
    30
  • 正则表达式匹配两个特殊字符中间的内容

    正则表达式匹配两个特殊字符中间的内容

    2021年11月23日
    46
  • 如何彻底删除kvm虚拟机_虚拟机命令怎么删除

    如何彻底删除kvm虚拟机_虚拟机命令怎么删除(转)virsh命令速查表VirshVirshconnectVirshdisplaynodeinformation:VirshlistalldomainsListonlyactivedomainsVirshstartvmVirshautostartvmVirshautostartdisableVirshstopvm,virshshutd…

    2022年8月11日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号