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("***********************************************************
");
    printf("*               欢迎使用学生信息管理系统                  *
");
    printf("***********************************************************
");
    printf("*                       功能列表                          *
");
    printf("***********************************************************
");
    printf("*                   →1.录入学生信息                      *
");
    printf("*                   →2.保存学生信息                      *
");
    printf("*                   →3.查询学生信息                      *
");
    printf("*             (一次查询一名,继续查询输入3)               *
");
    printf("*                   →0.退出系统                          *
");
    printf("***********************************************************
");
}
void inputinformation()//录入学生成绩 
{
    printf("需要录入学生人数:
");
    scanf("%d",&n);
    int i;
    for (i = 0; i < n; i++) 
    {
        printf("输入学生姓名:
");
        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("文件打开错误!
");
        exit(0);
    }
    printf("输入学号:
");
    scanf("%s",stu[i].id);
    printf("输入性别:
");
    scanf("%s",stu[i].sex);
    printf("输入班级:
");
    scanf("%s",stu[i].Class);
    printf("输入线性代数成绩:
");
    scanf("%s",stu[i].score); 
    fp = fopen(stu[i].name, "w"); 
     fprintf(fp,"%s    %s    %s    %s
",stu[i].id,stu[i].sex,stu[i].Class,stu[i].score);
        if(fclose(fp)){
        printf("文件关闭错误!
");
        exit(0); 
    }
    system("cls");
    welcome();
    printf("*---------------------------------------------------------*
");
    printf("*                  录入成功,输入2保存                    *
");
    printf("***********************************************************
");
    }     
}
void query()// 查询函数 
{
    int i;
    char name[20],name_[20];
    printf("请输入查询学生的姓名:
");
    scanf("%s",name);
    strcpy(name_,name);
    strcat(name,".txt");
    if ((fp = fopen(name,"r")) == NULL)
        {
             printf("未录入此学生信息
");
        }
    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*
",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
",stu[i].id,stu[i].sex,stu[i].Class,stu[i].score);
    }
    printf("***********************************************************
");
    printf("*                                                         *
");
    printf("*                                                         *
");
    printf("*                       保存成功                          *
");
    printf("*                   ^             ^                       *
");
    printf("*                  ^0^           ^0^                      *
");
    printf("*                                                         *
");
    printf("*                        ^   ^                            *
");
    printf("*                          ^                              *
");
    printf("***********************************************************
"); 
        system("pause");
        system("cls");
        welcome(); 
}
void exit()//退出系统函数 
{
    printf("***********************************************************
");
    printf("*                                                         *
");
    printf("*                     退出系统成功                        *
");
    printf("*                     欢迎下次使用                        *
");
    printf("*                   ^             ^                       *
");
    printf("*                  ^0^           ^0^                      *
");
    printf("*                                                         *
");
    printf("*                        ^   ^                            *
");
    printf("*                          ^                              *
");
    printf("***********************************************************
");
}

二、运行界面

系统界面

 录入学生信息

 

 查询学生成绩

 保存在电脑的文件

 文件内部

 系统退出界面

 三、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.知识之间是贯通的,函数,结构体,文件都会是以后经常要实验的。

  

原文地址:https://www.cnblogs.com/yyzhu/p/12054238.html