人体生物钟程序设计(C语言)

前几年在本站发布过博文介绍人体生物钟程序的制作方法。后来发现上传后显示的博文有错漏,计算符号脱漏。这会误导读者。今修订整理重新发布,展示一下漂亮的界面设计。

人体生物钟也就是人体生物节律。人体生物节律是自然进化赋予生命的基本特征之一,人类和一切生物都要受到生物节律的控制与影响。人体生物节律是指体力节律、情绪节律和智力节律。每个人从他出生那天起一直到生命终结,都存在着体力23天、情绪28天、智力33天的周期性波动规律,称为人体生物节律。每一个周期中又存在着高潮期、低潮期和临界期。由于它具有准确的时间性,因此也称之为人体生物钟。在我们日常生活中,有人会觉得自己的体力、情绪或智力有时很好,有时很坏。人从他诞生之日起,直至生命终结,其自身的体力、情绪和智力都存在着由强至弱、由弱至强的周期性起伏变化。人们把这种现象称作生物节律,或生物节奏、生命节律等。之所以产生这种现象的原因是生物体内存在着生物钟,它自动地调节和控制着人体的行为和活动。

人体生物节律有什么作用,网上有许多介绍,对于想编程的朋友都是了解的,这里就不赘言什么了。本文就谈如何制作。就二个要点:一是输入当前日期和出生日期,此程序使用myspringc编译器自带的安卓式样日期输入控件。其他语言日期输入都很简单。二是根据这二个日期计算总天数,依数值绘出曲线。难点是曲线的绘制。本程序给出了曲线算法和绘图方法,以及绘制漂亮的界面。程序使用最基本的绘图函数DrawLine,DrawRect,DrawCircle,设置颜色SetColor(a,r,g,b)。程序有详细注释介绍绘制方法。

本程序是用简单的C语言编译调试的。主要展示该语言超强的绘图功能。如何绘制图形曲线,绘制漂亮的界面。本人喜欢用编程语言的绘图功能绘制图形图案和漂亮的界面,能发挥你的想象力和创造力,很有趣,希望大家也喜欢。

下面的代码是用简单的C语言写的,很简洁 ,适用于初学者。

//  myspringc  v2.7  可编译安卓手机本机 app 应用
//  此样例可复制黏贴到 myspringc  编译
//  亦可用vb6, VC , Java 等改写

338b19c096d340dcb9f3e051d5788028.png

 

e09f94477e6f4e44adf132dc9f8c217b.png 

e3027721500943da9639133dda4d2777.png 

//*******    人体生物钟    ***************
//== 人体生物节律曲线 ==  Biorhythm  
//制作人:张纯叔    micelu@126.com
//****  myspringc  v2.7   编译  *********
Canvas cs;      //画布
float pi=3.1415926535;
float src[4];  //ClearDraw (cls) clear screen
int s1,s2,s3;      
int s1n,s2n,s3n;
int i,k,bx;    //bx 画标尺
int alln0,alln1;     //计算日期
int alln;   //set today-birthdate all days
int ns;     //draw
float a;
float dx,dy, x0,y0;
float x1,y1;
string s,ss,ss1,ss2,ss3,ss4,ss5,ss6;  //输出字串
string gs1,gs2,gs3,gs4,gs5,gs6;
int by,bm,bd;  //birthdate yy,mm,dd
int ty,tm,td;      //today
double bms,tms;
int d[3];          //input date
int count;
int context;    //canvasProc触屏按钮
int obj;
int id;
int event;

main(){
setDisplay(1);
cs.Active();
    cs.SetBackground(255,255,255);
    setTitle("人体生物钟 ( Biorhythm )");
    cs.SetProc (context, mycanvasProc);
    drawtable ();
 while (){}
 }//main()

mycanvasProc (int context,int obj,int id,int event,float x,float y){
      cs.SetFillMode(0);//0不填色,1填色
  //** 触控按钮 select button : input date  ****
    if (x>400&&x<560&&y>810&&y<880) {
           input_date ();   }      //输入日期
    if (x>300&&x<420&&y>980&&y<1050){
           input_date ();   }      //输入日期       
    if (x>440&&x<560&&y>980&&y<1050) {
           input_date ();   }      //重新开始
    if (x>580&&x<700&&y>980&&y<1050){
          clearOutput();    
          cs.ClearDraw (0,src);
          setDisplay (0);
          exit (0);    } //Exit 退出程序
}//mycanvasProc ()

drawbutton (){   //绘制按钮
        cs.SetColor (255,230,230,230);
      cs.DrawRect (4,940,715,1078);
        cs.SetColor (255,255,255,255);
      cs.DrawRect (11,960,707,963);
      cs.DrawRect (11,1065,707,1068);

    for (i=0;i<3;i++){   //draw 3-5 cmd_button
          cs.SetColor (255,150,150,150);
        cs.DrawRect (i*140+299,980,i*140+423,1052); 
          cs.SetColor (255,250,250,250);
        cs.DrawRect (i*140+297,978,i*140+420,1050); 
          cs.SetColor (255,200,240,250);
        cs.DrawRect (i*140+300,980,i*140+420,1050); 
                    }
  cs.SetTextSize (24);
  cs.SetTextStyle(1);
  cs.SetColor(255,50,150,220);
  cs.DrawText ("输入日期",313,1020);
  cs.DrawText ("重新开始",453,1020);
  cs.DrawText ("退出程序",595,1020);
       s="BIORHYTHM";     //立体字
  cs.SetTextSize (40);
  cs.SetTextStyle(1);
  cs.SetColor (255,100,100,100);
       cs.DrawText (s,20,1030);
  cs.SetColor (255,255,255,255);
       cs.DrawText (s,23,1033);

//draw Input button ****
      cs.SetColor (255,250,0,150);
  cs.DrawRect (399,819,561,881);
     cs.SetColor (255,120,150,250);
  cs.DrawRect (400,820,560,880);
  cs.SetTextSize (24);
  cs.SetTextStyle(0);
    cs.SetColor(255,250,250,0);
 cs.DrawText ("输入日期",435,855);
 cs.SetColor (255,250,0,150);
    s="请输入当前日期和出生日期 >>  ";
    cs.DrawText (s,80,860);
    cs.Update ();
}//drawbutton ()

input_date (){     //输入日期
//here get birth date & current date then show out
inputdd:
   getDate(d);
   pickDate("输入>    当前日期",d);
  ty=d[0];
  tm=d[1];
  td=d[2];
   //print "currentday = ",ty ,"-",tm,"-",td;
   pickDate("输入>    出生日期",d);
  by=d[0];
  bm=d[1];
  bd=d[2]; 
    //print "birthdate = ",by ,"-",bm,"-",bd;
clearOutput ();              //clear output text
cs.ClearDraw (0,src);  //clear screen

// calculate (alln)= all days from birthdate to today
gs1=intToString (by);
gs2=intToString (bm);
gs3=intToString (bd);
gs4=intToString (ty);
gs5=intToString (tm);
gs6=intToString (td);
  if (by>ty){
      ss="输入错误 !  重新输入当前日期,出生日期。";
      msgBox ("人体生物节律 " ,ss);
         goto inputdd;    }
  if (bm<10)gs2="0"+gs2;
  if (bd<10)gs3="0"+gs3;
  if (tm<10)gs5="0"+gs5;
  if (td<10)gs6="0"+gs6;
  print " Input  birthdate = ",gs1," - ",gs2," - ",gs3;
  print " Input  this Date = ",gs4," - ",gs5," - ",gs6;

//getDate and calculate past days alln ****
string yds;    
string ydds;
double tms;
yds="000031059090120151181212243273304334";
//计算生日 alln0
  ydds=subString(yds,(bm-1)*3,3);
  bms=stringToDouble(ydds);
  alln0=(by-1900)*365+((by-1900-1)/4)
              +(int)(bms)+bd;
  if ((by-by/4*4)==0&&bm>2)alln0=alln0+1;  //加闰
      // print "birth = ",alln0;  //test
//计算当前日 alln1
  ydds=subString(yds,(tm-1)*3,3);
  tms=stringToDouble(ydds);
  alln1=(ty-1900)*365+((ty-1900-1)/4)
             +(int)(tms)+td+1;    //*****
  if ((ty-ty/4*4)==0&&tm>2)alln1=alln1+1;  //加闰
      // print "current = ",alln1;   //test
      alln=alln1-alln0;    
      // print "all days = ",alln;   //test
  if (alln<1){    //容错
      ss="输入错误 !  重新输入当前日期,出生日期。";
      msgBox ("人体生物钟 " ,ss);
         goto inputdd;    }
    drawtable ();   //show...绘出曲线
 }//input_date ()

绘制曲线:初始图表样例

791cd9b8bb304d018b4e16f28484a094.png

 

drawtable(){//draw table and show
   cs.ClearDraw(0,src);    //清屏重绘
//get birthdate yymmdd and current yymm ***
//calculate s1,s2,s3 and draw curve **********
//drawout and show biorhythm         **********
  cs.SetFillMode(1);//0不填色,1填色
    cs.SetColor(255,240,240,240);
    cs.DrawRect(10,10,710,600);
// draw table ===============
  cs.SetStrokeWidth(1);//画笔线宽
  cs.SetFillMode(1);//0不填色,1填色
  cs.SetTextSize(60);
  cs.SetTextStyle(1);     //粗体
 s="人体生物节律曲线";
    cs.SetColor(255,120,60,0);
       cs.DrawText(s,53,104);
    cs.SetColor(255,0,250,0);
       cs.DrawText(s,50,100);
    cs.SetFillMode(0);//0不填色,1填色
    cs.SetColor(255,250,150,0);
       cs.DrawText(s,50,100);

  cs.SetTextStyle(0);     
  cs.SetStrokeWidth (1);
  cs.SetTextSize (28);
  cs.SetColor(250,250,0,0);
ss="高潮区";
cs.DrawText (ss,560,210);
ss="临界区 ";
cs.DrawText (ss,560,270);
ss="低潮区 ";
cs.DrawText (ss,560,410);
  cs.SetFillMode(1);//0不填色,1填色
cs.SetColor(250,250,0,0);
ss="体力  >";
cs.DrawText (ss,200,510);
  cs.SetColor(180,0,90,0);
ss="情绪  >";
cs.DrawText (ss,200,540);
  cs.SetColor(180,0,0,180);
ss="智力  >";
cs.DrawText (ss,200,570);

//draw table========
 cs.SetFillMode (1);
cs.SetStrokeWidth(2);
 cs.SetColor(100,250,250,0); //high low 区块
cs.DrawRect(50,150,670,450);
cs.SetColor (100,255,120,255);
cs.DrawRect (50,150,670,235); 
cs.SetColor(100,130,255,255);
cs.DrawRect(50,365,670,450);
cs.SetColor (255,0,120,128);        //X Line标尺
 cs.DrawRect(20,296,710,304);  
cs.SetColor(180,250,0,0);
cs.DrawRect (50,500,180,506);  //s1
cs.SetColor(180,0,200,0);
cs.DrawRect (50,530,180,536);  //s2
cs.SetColor(180,0,0,192);
cs.DrawRect (50,560,180,566);  //s3

cs.SetColor (255,0,0,0);
cs.SetTextSize (20);
cs.DrawText("0",44,340);
cs.DrawText("5",143,340);
cs.DrawText("10",238,340);
cs.DrawText("15",338,340);
cs.DrawText("20",438,340);
cs.DrawText("25",538,340);
cs.DrawText("30",638,340);

cs.SetFillMode (0);
cs.SetColor (255,250,250,0);
cs.DrawRect(23,300,715,300);//X Line  标尺
 cs.SetColor (255,0,0,128);
 for (i=0;i<34;i++){   //画标尺点位
    bx=50+i*20;
    cs.DrawLine (bx,280,bx,320);      }
    cs.SetColor (255,255,0,0);
  for (i=0;i<7;i++){    //画标尺 5 天标线
     bx=50+i*100;
     cs.DrawCircle (bx,300,2);
     cs.DrawLine (bx,150,bx,320);
     cs.DrawLine (bx,350,bx,450);      }

//绘制人体生物节律曲线
// Physical Sensitive  Intellectual
//draw curve : x1 +50 标尺x轴 0 位,  s1*20 步长
//x0 曲线幅宽,  + -130 y轴峰谷弧高,  y+300 x轴y定位
//x0 : >  230 = 23d, 280 = 28d, 330 = 33d
//Draw out graph here ===========
//get birthdate & calculate thisday-birthdate
   cs.SetStrokeWidth(2);
       ns=td-alln;     //这算法很奇特,研究一下
//s1=23d,  draw graph  体力
   s1=ns-ns/23*23;    //mod (ns,23)
  cs.SetColor (255,255,0,0);
  for (i=-140;i<280;i++){
         a=pi/360*i*6;    //360 曲线点密度
         x0=230;   
         x1=(float)((x0/pi*a+50)+s1*20);
         y1=(float)(-130*sin(a)+300);
         cs.DrawCircle(x1,y1,3);   }
print " s1= ",s1;

//s2=28d,  draw graph  情绪
   s2=ns-ns/28*28;      //mod(ns,28)
   cs.SetColor (255,0,220,0);
  for (i=-140;i<280;i++){
         a=pi/390*i*6;   //390 曲线点密度
         x0=280;
         x1=(float)((x0/pi*a+50)+s2*20);
         y1=(float)(-130*sin(a)+300);
         cs.DrawCircle(x1,y1,3);   }
print " s2= ",s2;

//s3=33d,  draw graph  智力 
  s3=ns-ns/33*33;         //mod (ns,33)
  cs.SetColor (205,0,0,192);
  for (i=-140;i<280;i++){
         a=pi/420*i*6;  //420 曲线点密度
         x0=330;
         x1=(float)((x0/pi*a+50)+s3*20);
         y1=(float)(-130*sin(a)+300);
         cs.DrawCircle(x1,y1,3);        }  
Print " s3= ",s3;

    cs.SetStrokeWidth(0);   //绘出当日标尺
    cs.SetColor (255,60,60,60);
    x1=(float)(td*20+47);  //draw current day当日标
    cs.DrawRect (x1,146,x1+5,454);

     cs.SetFillMode (1);    //曲线两边遮罩
     cs.SetStrokeWidth(2);
     cs.SetColor (255,255,255,255);
     cs.DrawRect (0,150,11,450);
     cs.DrawRect (709,150,720,450);
     cs.SetColor (255,164,164,164);
     cs.DrawRect (710,15,717,606);
     cs.DrawRect (15,600,716,606);
     cs.SetFillMode (0);
     cs.SetColor(255,50,0,128);
     cs.DrawRect(10,10,710,600);
//== draw data ======
cs.SetTextSize (32);
     cs.SetFillMode (1);
cs.SetStrokeWidth(2);
cs.SetColor (255,0,0,200);
if (len(gs2)==1)gs2="0"+gs2;
if (len(gs3)==1)gs3="0"+gs3;
if (len(gs5)==1)gs5="0"+gs5;
if (len(gs6)==1)gs6="0"+gs6;
ss1="出生日期 :  "+gs1+" 年 "+gs2+" 月 "+gs3+" 日 ";
cs.DrawText(ss1,30,680);
ss2="当前日期 :  "+gs4+" 年 "+gs5+" 月 "+gs6+" 日 ";
cs.DrawText (ss2,30,730);
  s=intToString (alln);
//print " all days = ",alln;  //test
ss3="你已在这美好的世界上生活了"+s+"天。";
  if (alln<1)ss3="Welcome to using our program .  ";
  cs.DrawText(ss3,30,780);
  ss="制作人: 张纯叔 ( micelu@126.com )  ";
     cs.SetColor (255,150,180,250);
     cs.DrawRect (5,1078,715,1080);
   cs.DrawText (ss,20,1110);


//draw status 状态 ***********
    cs.SetFillMode(1);//0不填色,1填色
//**** s1n  s 23
         s1n=alln-alln/23*23 ;
          cs.SetColor (255,250,220,0) ; //临界
          cs.DrawRect (300,490,400,510);   
    if (s1n>2&&s1n<10){    //高   3 - 9
          cs.SetColor(255,250,120,180); 
          cs.DrawRect (300,490,400,510);       }
   if (s1n>13&&s1n<22){     //低 14~21
          cs.SetColor (255,130,250,150) ;
          cs.DrawRect (300,490,400,510);       }
 //**** s2n  s 28
         s2n=alln-alln/28*28 ;
          cs.SetColor (255,250,220,0) ; //临界
          cs.DrawRect (300,520,400,540);  
    if (s2n>2&&s2n<12){    //高   3 - 11
          cs.SetColor(255,250,120,180); 
          cs.DrawRect (300,520,400,540);       }
   if (s2n>16&&s2n<26){     //低 17 - 25
          cs.SetColor (255,130,250,150) ;
          cs.DrawRect (300,520,400,540);       }
 //**** s3n  s 33
          s3n=alln-alln/33*33 ;
          cs.SetColor (255,250,220,0) ; //临界
          cs.DrawRect (300,550,400,570);  
    if (s3n>2&&s3n<14){    //高   3 - 13
          cs.SetColor(255,250,120,180); 
          cs.DrawRect (300,550,400,570);       }
   if (s3n>19&&s3n<31){     //低 20 - 30
          cs.SetColor (255,130,250,150) ;
          cs.DrawRect (300,550,400,570);       }
  drawbutton ();     //绘制按钮
  cs.Update();        //show out  table 
 }//drawtable ()


//**** End ******

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/377364.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker(2)

Docker Docker数据卷挂载常用命令 注意&#xff1a;容器与数据卷的挂载要在创建容器时配置&#xff0c;对于创建好的容器&#xff0c;是不能设置数据卷的。而且创建容器的过程中&#xff0c;数据卷会自动创建。建容器并指定数据卷&#xff0c;注意通过 -v 参数来指定数据卷&am…

【iOS ARKit】人形提取

为解决人形分离和深度估计问题&#xff0c;ARKit 新增加了 Segmentation Buffer&#xff08;人体分隔缓冲区&#xff09;和Estimated Depth Data Buffer&#xff08;深度估计缓冲区&#xff09;两个缓冲区。人体分隔缓冲区作用类似于图形渲染管线中的 Stencil Buffer&#xff0…

洛谷C++简单题小练习day9—[AHOI2017]寻找探监点

day9--[AHOI2017]寻找探监点--2.7 习题概述 题目描述 一个nn 的网格图&#xff08;标号由 1,1 开始&#xff09;上有 m 个探测器&#xff0c;每个探测器有个探测半径 r &#xff0c;问这 nn 个点中有多少个点能被探测到。 输入格式 第一行 3 个整数 n,m,r。 接下来 m 行&…

国内首个openEuler师训营圆满结营! 麒麟信安助力培养国产操作系统高质量师资人才

2024年1月22日&#xff0c;全国首个openEuler师训营圆满结营&#xff01;旨在深化产教融合&#xff0c;加速开源教育走进高校&#xff0c;提高师资队伍openEuler专业能力及实践教学水平。 本次师训营由长沙市大数据产业链、长沙市新一代自主安全计算系统产业链指导&#xff0c…

【Docker】Docker Image(镜像)

文章目录 一、Docker镜像是什么&#xff1f;二、镜像生活案例三、为什么需要镜像四、镜像命令详解docker rmidocker savedocker loaddocker historydocker image prune 五、镜像操作案例六、镜像综合实战实战一、离线迁移镜像实战二、镜像存储的压缩与共享 一、Docker镜像是什么…

顺序表、链表相关OJ题(2)

创作不易&#xff0c;友友们给个三连吧&#xff01;&#xff01; 一、旋转数组&#xff08;力扣&#xff09; 经典算法OJ题&#xff1a;旋转数组 思路1&#xff1a;每次挪动1位&#xff0c;右旋k次 时间复杂度&#xff1a;o(N^2) 右旋最好情况&#xff1a;k是n的倍数…

naiveui 上传图片遇到的坑 Upload

我在开发图片上传功能, 需要手动触发上传 但是我调用它内部自定义submit方法, 结果接口一直在报错400 我反反复复的测试了好就, 确定了就是我前端的问题,因为之前一直在做后端的错误排查, 以为是编译问题(因为之前也出现过这个问题) 好 , 我把其中一个参数类型改为String类型, …

c++设计模式之装饰器模式

作用 为现有类增加功能 案例说明 class Car { public:virtual void show()0; };class Bmw:public Car { public:void show(){cout<<"宝马汽车>>"<<endl;} };class Audi:public Car { public:void show(){cout<<"奥迪汽车>>&q…

Java玩转《啊哈算法》解密回文之栈

菩萨清凉月&#xff0c;常游毕竟空&#xff0c;众生心垢净&#xff0c;菩提影现中。 这目录 这开头这代码地址栈案例代码优化建议类似扩展 这开头 各位女士们&#xff0c;先生们好&#xff01;本人最近在看《啊哈算法》&#xff0c;这本书写的确实还可以&#xff0c;很有趣味性…

代码随想录算法训练营第28天 | 93.复原IP地址 ,78.子集 ,90.子集II

回溯章节理论基础&#xff1a; https://programmercarl.com/%E5%9B%9E%E6%BA%AF%E7%AE%97%E6%B3%95%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 93.复原IP地址 题目链接&#xff1a;https://leetcode.cn/problems/restore-ip-addresses/ 思路&#xff1a; 这是切割问题&am…

2024年2月8日 十二生肖 今日运势

小运播报&#xff1a;2024年2月8日&#xff0c;星期四&#xff0c;农历腊月廿九 &#xff08;甲辰年丙寅月壬寅日&#xff09;&#xff0c;法定工作日。 红榜生肖&#xff1a;马、猪、狗 需要注意&#xff1a;龙、蛇、猴 喜神方位&#xff1a;正南方 财神方位&#xff1a;正…

基于swing和cf的推荐相似度SQL实现

对于cf和swing算法的介绍可以参考ItemCF的演进&#xff1a;狭义 VS 广义 基于cf的推荐相似度 这里介绍这样一个场景&#xff0c;我们有了大量的电商购买数据&#xff0c;希望通过cf算法计算不同的类目之间的相似度&#xff0c;以方便对用户购买进行兴趣探索。 使用SQL实现需要…

10.0 Zookeeper 权限控制 ACL

zookeeper 的 ACL&#xff08;Access Control List&#xff0c;访问控制表&#xff09;权限在生产环境是特别重要的&#xff0c;所以本章节特别介绍一下。 ACL 权限可以针对节点设置相关读写等权限&#xff0c;保障数据安全性。 permissions 可以指定不同的权限范围及角色。 …

【STL】:priority_queue介绍和模拟实现

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关priority_queue的使用&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通…

C# ONNX使用入门教程

背景 有新入坑的老哥不太了解C# onnx 运行的机理&#xff0c;我这边详细介绍一下&#xff0c;之前直接放官方的样例有点草率了。 准备[python环境] 1、要使用onnx&#xff0c;首先我们就自己生成一个onnx文件&#xff0c;请大家准备一下以下需要的[python]环境 python 版本…

探索设计模式的魅力:揭秘享元模式-轻松实现资源高效利用的秘密武器

设计模式专栏&#xff1a;http://t.csdnimg.cn/U54zu 目录 引言&#xff1a; 一、简介 二、实现资源的极致利用 公共自行车与享元模式的智慧共享 HOW 三、案例探讨 3.1 场景 3.2 不用模式实现&#xff1a;一坨坨代码实现 3.3 痛点 3.4 解决方案分析 注意 四、深入享…

Qt多线程与SocketTCP的简单实现

1.相关说明 多线程实现Qt的socket编程实现客户端发送文件&#xff0c;服务端接收文件&#xff0c;并且在客户端设置了心跳&#xff0c;用于监控服务端是否存活。因为Qt中socket套接字发送数据&#xff0c;会先把数据发送至缓冲区中&#xff0c;在发送数据过程中&#xff0c;soc…

寒假学习第24天---PythonPoc基础编写(二)

提示&#xff1a;所分享内容仅用于每一个爱好者之间的技术讨论及教育目的&#xff0c;所有渗透及工具的使用都需获取授权&#xff0c;禁止用于违法途径&#xff0c;否则需自行承担&#xff0c;本作者不承担相应的后果。 文章目录 前言一、 目标二、过程思路实践开始 总结完整代…

Java基于微信小程序的驾校报名小程序,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

腾讯云游戏服务器购买入口,详细配置精准报价

2024年更新腾讯云游戏联机服务器配置价格表&#xff0c;可用于搭建幻兽帕鲁、雾锁王国等游戏服务器&#xff0c;游戏服务器配置可选4核16G12M、8核32G22M、4核32G10M、16核64G35M、4核16G14M等配置&#xff0c;可以选择轻量应用服务器和云服务器CVM内存型MA3或标准型SA2实例&am…