文件管理系统
代码思路
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画图展示
总结
本文提供的画图代码只能画出坐标轴,因为缺少数据
仅供参考
书山有路勤为径,学海无涯苦作舟