c语言实现文件管理系统(对文本内内容操作)

  • Post author:
  • Post category:其他




文件管理系统



代码思路

1、利用两个文本文件,一个文本文件保存需要的数据,另一个保存需要处理的数据,对需要处理的文本内容进行最小值,最大值,平均值的求解。

2、把处理的数据存入数组,转化性质,用Easyx进行画图。

3、添加必要的提示文本,达到更好的人机交互



头文件的应用

#include <stdio.h>
#include <graphics.h> //EasyX头文件
#include <string.h>
#include <conio.h>//getch()函数头文件
#include <stdlib.h>//itoa()函数头文件



相关子文件的引用

void picture(int* c);//画图函数    
double Max(double shuj[], int len);
double Min(double shuj[], int len);
double DMin(double shuj[], int len);
double DMax(double shuj[], int len);
double Avg(double shuj[], int len);



画图子程序

void picture(int* c)   //画图程序
    {
        int dat[11] = { 40000,30000,20000,10000,0,-10000,-20000,-30000,-40000,-50000 };//Y轴
        int time[10] = { 0,12,13,14,15,16,17,18,19,20 };//X轴
        int i = 0,j;
        char str[10];

        
        initgraph(1250, 550, SHOWCONSOLE);
        
        setbkcolor(WHITE);
        cleardevice();

        /*************************x轴单位长度**********************/
        settextcolor(RGB(255, 55, 39));
        for (i = 1; i <= 9; i++)
        {
            itoa(time[i], str, 10);//将数字转化成字符串
            outtextxy(120 * i, 260, str);
        }
        /**************************y轴单位长度*********************/
        settextcolor(RGB(255, 55, 39));
        for (i = 0; i <= 10; i++)
        {
            itoa(dat[i], str, 10);//将数字转化成字符串
            outtextxy(10, 50 + 50 * i, str);
        }
        /*******************************x轴***********************/
        setlinecolor(RGB(170, 70, 10));
        line(60, 250, 1150, 250);
        line(1150, 250, 1130, 240);//x轴箭头
        line(1150, 250, 1130, 260);//x轴箭头
        settextcolor(RGB(78, 67, 197));
        outtextxy(1150, 250, "x / 时间");
        /******************************y轴********************/
        setlinecolor(RGB(57, 170, 180));
        line(60, 40, 60, 770);
        line(60, 40, 50, 60);//y轴箭头
        line(60, 40, 70, 60);//y轴箭头
        outtextxy(20, 20, "y / 数据");
        /***************************折线图************************/
        settextcolor(RGB(94, 196, 200));
        settextstyle(20, 0, "楷体");
        outtextxy(390, 10, "2008-7-25 12:00:00 - 2008-7-25 20:00:00 电场的变化");//标题
        setlinecolor(RGB(87, 190, 214));
        for (i = 1; i < 481; i++)
        {
             line(120 + 2 * i, c[i], 120 + 2 * (i + 1), c[i + 1]);
            //Easyx的坐标和广义坐标不同,好好学习呦
        }  


        getch();
        closegraph();
    }

画图程序使用Easyx插件进行编写,b站可学习



数据处理子程序

double Max(double shuj[], int len) //最大值程序
{
    double max = 0;
    int i;

    for (i = 0; i < len; i++)
    {
        if (max < shuj[i])
        {
            max = shuj[i];
        }

    }
    return max;
}

double Min(double shuj[], int len)
{
    double min = 0;
    int i;

    for (i = 0; i < len; i++)
    {
        if (min > shuj[i])
        {
            min = shuj[i];
        }

    }
    return min;
}

double Avg(double shuj[], int len)
{
    double sum = 0, avg = 0;
    int i;

    for (i = 0; i < len; i++)
    {
        sum = sum + shuj[i];
    }
    avg = sum / len;
    return avg;
}

double DMin(double shuj[], int len)
{
    double dmin = 0, Dshuj = 0;
    int i;

    for (i = 1; i <= len; i++)
    {
        Dshuj = shuj[i] - shuj[i - 1];

        if (dmin > Dshuj)
        {
            dmin = Dshuj;
        }
    }
    return dmin;
}

double DMax(double shuj[], int len)
{
    double dmax = 0, Dshuj = 0;
    int i;

    for (i = 1; i <= len; i++)
    {
        Dshuj = shuj[i] - shuj[i - 1];

        if (dmax < Dshuj)
        {
            dmax = Dshuj;
        }
    }
    return dmax;
}



数据

在这里插入图片描述

有很多数据,这里只是一部分



Easyx画图展示

在这里插入图片描述

在这里插入图片描述



总结

本文提供的画图代码只能画出坐标轴,因为缺少数据

仅供参考

书山有路勤为径,学海无涯苦作舟



版权声明:本文为qq_51501234原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。