使用Easy-X设计图形化数据统计程序

写在前面

用c语言写图形化数据统计程序是博主这学期的工程实践作业,在写这个程序的过程中,发现csdn相关的资料很少,所以把自己的代码贴出来(使用了Easy-X图形库函数),方便小伙伴们参考。哈哈哈,有很多不足之出,欢迎大家的批评指导。
完整的代码文件请文末自取

一、程序功能描述

用户可通过文件读取方式传入数据并得到直观的统计图表
运行程序时,首先出现程序名——图形化数据统计程序,背景为闪烁移动的星星。按下任意键以确认进入程序。之后用户需要在登录界面输入用户名和密码验证身份,验证通过后方可使用程序提供的功能,系统默认需要先上传数据,用户输入存有数据的文件名,程序读取文件内的数据并显示到屏幕上。若读取成功,跳转到菜单界面;若失败,则给出相应提示后再跳转到菜单界面。若数据有误可选择修改数据功能进行更正;若文件上传失败或想统计其他数据 ,可选择重新上传功能。
用户在菜单界面可选择以下功能:

  1. 重新上传数据
  2. 修改数据
  3. 显示柱状图
  4. 显示折线图
  5. 显示饼图
  6. 退出
    除退出功能外,其他功能完成后都会返回到菜单界面,统计图绘制完成后会将统计图以jpg格式保存到image文件夹,方便用户随时查看。

二、绘图模块代码

下面将绘制直方图、折线图和饼图代码贴出来供大家参考

#include"head.h"
//绘制直方图

void DrawHistogram(int mode)
{
   
    Node* struPstr = head;
    int iLiney = 440;                 // 背景直线
    int iMultiple;                    // 数值转化为坐标的倍数
    int iRectangley, iRectanglex = 80;// 矩形左上y坐标,左下x坐标
    int iCoordinatey  ;               // 文字坐标
    int iZengLiang ;                  // 坐标增量
    int iTxty = 0;                    // 纵坐标文字
    char strSring[10];
    char strHistogramName[50];        // 统计图名称
    strcpy(strHistogramName,strZhuTi);

    // 增量处理
    if(mode == 1)
    {
   
        iZengLiang = 10;
        iMultiple = 4;
    }
    else 
    {
   
        iZengLiang = 40;
        iMultiple = 1;
    }
    // 绘图
    initgraph(700, 550);
    settextcolor(YELLOW);
    strcat(strHistogramName,"直方图");
    outtextxy(250,480,strHistogramName);      // 输出统计图名称

    setcolor(WHITE);
    settextcolor(WHITE);
    while(iLiney>=40)
    {
   
        iCoordinatey = iLiney;
        itoa(iTxty, strSring, 10);
        outtextxy(0, iCoordinatey, strSring); // 纵坐标文字
        iTxty += iZengLiang;
        line(40, iLiney, 640, iLiney
  • 9
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Easy-rules是一个轻量级的Java规则引擎,可以帮助我们在应用程序使用规则来进行业务逻辑处理。在Spring-boot中使用Easy-rules需要以下步骤: 1. 添加Easy-rules依赖 在pom.xml文件中添加Easy-rules依赖: ```xml <dependency> <groupId>org.easyrules</groupId> <artifactId>easy-rules-core</artifactId> <version>4.1.0</version> </dependency> ``` 2. 创建规则 创建一个规则类,继承自`org.easyrules.core.BasicRule`,并实现`org.easyrules.api.Rules`接口中的方法。例如: ```java public class AdultRule extends BasicRule { private Person person; public AdultRule(Person person) { super("AdultRule", "Check if person is an adult", 1); this.person = person; } @Override public boolean evaluate() { return person.getAge() >= 18; } @Override public void execute() throws Exception { System.out.println(person.getName() + " is an adult"); } } ``` 3. 配置规则引擎 在Spring-boot的配置类中配置规则引擎: ```java @Configuration public class RuleEngineConfiguration { @Bean public RulesEngine rulesEngine() { return new DefaultRulesEngine(); } } ``` 4. 执行规则 在需要执行规则的地方,注入规则引擎,然后将规则添加到规则引擎中并执行: ```java @Autowired private RulesEngine rulesEngine; public void executeRules(Person person) { Rules rules = new Rules(); rules.register(new AdultRule(person)); rulesEngine.fire(rules); } ``` 这样就可以在Spring-boot中使用Easy-rules规则引擎了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值