人体生物钟程序设计(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&

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值