C语言文件

C语言文件

一.代码块

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct student {
	char name2[10];
    char num[15];
    char sex[6];
    char Class[10];
    char score[5];
};
int main ()
{
	struct student name1[10];
	char name[10][20]; 
	char name3[10][20];
	int i;
	system("color F5");
	printf("



");
	printf("                            学生成绩信息管理系统
"); 
	printf("                               欢迎使用此系统
"); 
	printf("



");
	system("pause");
	system("cls");
	FILE *fp1;
	char num[15];
	char sex[6];
    char Class[10];
    char score[5];
	for(i=0;i<10;i++){
		printf("



");
		printf("                                姓名 学号 性别 班级 线代成绩(各个信息之间加个空格)
");
		printf("                                ");
		scanf("%s",name[i]);
	        strcpy(name3[i],name[i]);
		strcat(name[i],".txt");
		FILE *fp=fopen(name[i],"w+");
		fclose(fp);
		if((fp1=fopen(name[i],"r+"))==NULL){
			printf("File open error!
");
			exit(0);
		}
		scanf(" %s %s %s %s",num,sex,Class,score);
		fprintf(fp1,"%s %s %s %s",num,sex,Class,score);
		if(fclose(fp1)){
			printf("Can not close the file!
");
			exit(0);
		}
		system("cls");
	} 
	printf("



");
	printf("                                ");
	system("date"); 
	system("cls");
	printf("



");
	printf("                                下面请查看您所输入的同学信息"); 
	system("pause");
	system("cls");
	printf("



");
	for(i=0;i<10;i++){
		if((fp1=fopen(name[i],"r+"))==NULL){
			printf("File open error!
");
			exit(0);
		}
		strcpy(name1[i].name2,name3[i]);
		fscanf(fp1,"%s %s %s %s",name1[i].num,name1[i].sex,name1[i].Class,name1[i].score);
		if(fclose(fp1)){
			printf("Can not close the file!
");
			exit(0);
		}
		printf("                                %s %s %s %s %s
",name1[i].name2,name1[i].num,name1[i].sex,name1[i].Class,name1[i].score);
	} 
	system("pause");
	system("cls");
	printf("



");
	printf("                                感谢您使用此系统,再见!"); 
	printf("



");
	return 0;
} 

二.代码分块解析与界面展示

struct student name1[10];
	char name[10][20]; 
	char name3[10][20];
	int i;
	system("color F5");
	printf("



");
	printf("                            学生成绩信息管理系统
"); 
	printf("                               欢迎使用此系统
"); 
	printf("



");
	system("pause");
	system("cls");
	FILE *fp1;
	char num[15];
	char sex[6];
    char Class[10];
    char score[5];

显示封面。

2。

for(i=0;i<10;i++){
		printf("



");
		printf("                                姓名 学号 性别 班级 线代成绩(各个信息之间加个空格)
");
		printf("                                ");
		scanf("%s",name[i]);
	        strcpy(name3[i],name[i]);
		strcat(name[i],".txt");
		FILE *fp=fopen(name[i],"w+");
		fclose(fp);
		if((fp1=fopen(name[i],"r+"))==NULL){
			printf("File open error!
");
			exit(0);
		}
		scanf(" %s %s %s %s",num,sex,Class,score);
		fprintf(fp1,"%s %s %s %s",num,sex,Class,score);
		if(fclose(fp1)){
			printf("Can not close the file!
");
			exit(0);
		}
		system("cls");
	} 

提示用户输入学生各个信息,并建立文件输入内容。

3。

printf("



");
	printf("                                ");
	system("date"); 
	system("cls");
	printf("



");
	printf("                                下面请查看您所输入的同学信息"); 
	system("pause");
	system("cls");
	printf("



");
	for(i=0;i<10;i++){
		if((fp1=fopen(name[i],"r+"))==NULL){
			printf("File open error!
");
			exit(0);
		}
		strcpy(name1[i].name2,name3[i]);
		fscanf(fp1,"%s %s %s %s",name1[i].num,name1[i].sex,name1[i].Class,name1[i].score);
		if(fclose(fp1)){
			printf("Can not close the file!
");
			exit(0);
		}
		printf("                                %s %s %s %s %s
",name1[i].name2,name1[i].num,name1[i].sex,name1[i].Class,name1[i].score);
	} 

显示时间,然后将所输入的同学信息展示给使用者看。

4。

system("pause");
	system("cls");
	printf("



");
	printf("                                感谢您使用此系统,再见!"); 
	printf("



");
	return 0;

最后提醒使用者,使用系统结束。

三.system()

system("cls");

将当前界面内容清除,使得界面整洁。

system("pause");

使程序在此时暂停,使程序有阶段的进行。

system("data");

显示使用者当时使用时间,提醒使用者。

system("color ab");

改变界面背景色和字体颜色,a为背景色,b为字体颜色。

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

四.总结

发现文件做系统这么好用,不会的知识上网查询或询问别人,是我收获很多,懂得文件的知识,还有system()语句,可以使整个使用界面更加的美观和整洁,还有许多system()语句是很好用的,我还没有学习到位,目前先是这样,为了后面的课设内容,我将会在加深学习。了解缓冲区以及EOF概念,虽然本次没用到二进制文件,但是对它有一定的了解。

原文地址:https://www.cnblogs.com/jiuweihong/p/12047370.html