文件管理系统
代码思路
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 版权协议,转载请附上原文出处链接和本声明。