C语言文件

任务一

任务二

任务三

任务四

代码

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
FILE* fp;
int i;
char name[10][20];
struct student {
	char num[30];
	char name1[20];
	char sex[10];
	char Class[10];
	char score[3];
}stu[10], stu1[10];
void begin();
void menu();
void type_in();
void search(struct student stu[]);
void quit();
int main()
{
	system("color F3");//设置背景和前景颜色
	int flag, choice;
	begin();
	for (i = 0; i < 52; i++)
		printf(" ");
	printf("欢迎使用本系统\n");
	for (i = 0; i < 49; i++)
		printf(" ");
	system("pause");//暂停程序
	system("cls");//清理界面
	while (1) {
		menu();
		scanf("%d", &choice);
		system("puase");
		system("cls");
		switch (choice)
		{
		case 1:type_in(); break;
		case 2:search(stu); break;
		case 0:quit(); exit(0);//结束程序
			 break;
		}
	}
	
	return 0;
}
void begin()
{
	system("cls");
	int i;
	printf("\n");
	printf("\n");
	printf("\t");
	printf("|");
	for (i = 0; i < 98; i++)
		printf("~");
	printf("|");
	printf("\n");
	printf("\t");
	printf("|");
	for (i = 0; i < 43; i++)
		printf(" ");
	printf("学生信息系统");
	for (i = 0; i < 43; i++)
		printf(" ");
	printf("|");
	printf("\n");
	printf("\t");
	for (i = 0; i < 100; i++)
		printf("~");
	printf("\n\n\n\n\n");
}
void menu()//菜单
{
	begin();
	printf("\n\n\n\n                     请选择:\n");
	printf("                                                  [1] 录入学生信息\n");
	printf("                                                  [2] 查询学生信息\n");
	printf("                                                  [0] 退出系统\n");
	printf("\n\n");
	for (i = 0; i < 49; i++)
		printf(" ");
	
	
}
void type_in()//录入学生信息
{
	for (i = 0; i < 1; i++)
	{
		begin();
		printf("请输入:        姓名\n");
		printf("               ");
		scanf("%s", name[i]);
		strcpy(stu[i].name1, name[i]);
		printf("\n");
		printf("请输入:        学号          性别  班级      线性代数成绩\n");
		printf("               ");
		strcat(name[i], ".txt");//在姓名后面加上.txt
		if ((fp = fopen(name[i], "w")) == NULL)//打开文件
		{
			printf("File open error!\n");
			exit(0);
		}
		scanf("%s  %s    %s  %s", stu[i].num, stu[i].sex, stu[i].Class, stu[i].score);//存入结构数组
		fprintf(fp, "%s  %s  %s    %s  %s", stu[i].name1, stu[i].num, stu[i].sex, stu[i].Class, stu[i].score);//写入文件
		if (fclose(fp))//关闭文件
		{
			printf(" Can not close the file! \n");
			exit(0);
		}
		system("cls");
	}
	for (i = 0; i < 1; i++)
	{
		if ((fp = fopen(name[i], "r")) == NULL)
		{
			printf("File open error!\n");
			exit(0);
		}
		fscanf(fp, "%s  %s  %s    %s  %s", stu1[i].name1, stu1[i].num, stu1[i].sex, stu1[i].Class, stu1[i].score);//存入另一个结构数组
		if (fclose(fp))
		{
			printf(" Can not close the file! \n");
			exit(0);
		}
	}
}
void search(struct student stu[])//查看学生信息
{
	begin();

	for (i = 0; i < 1; i++)
	{

		if ((fp = fopen(name[i], "r")) == NULL)
		{
			printf("\n\n\n                                                  未录入学生信息");
			exit(0);
		}
		fscanf(fp, "%s  %s    %s  %s", stu[i].num, stu[i].sex, stu[i].Class, stu[i].score);
		
		printf("                               姓名   学号          性别   班级     线性代数成绩\n");
		printf("                               ");
		printf("%-7s%12s  %-6s %8s %s\n", stu1[i].name1,stu1[i].num, stu1[i].sex, stu1[i].Class, stu1[i].score);//将信息打印到屏幕
		if (fclose(fp))
		{
			printf(" Can not close the file! \n");
			exit(0);
		}
	}
	printf("                               ");
	system("pause");
}
void quit()//结束程序
{
	begin();
	printf("                                                     感谢使用");
}

system("pause")起到暂停进程的作用,便于观察

system("cls")起到清屏的作用

system("color __")可以改变窗口的背景和前景颜色,color后面第一位设置背景,第二位设置前景

0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色
9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色

posted @ 2019-12-20 09:06  awwman  阅读(120)  评论(0编辑  收藏  举报