/*
============================================================================
Name : http.c
Author :
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/

#include <stdio.h>
#include <stdlib.h>
#if 0
#include <stdio.h>
#include <curl/curl.h>

/*
char data[100];
data[0] = '\0'; //BUILD DATA STRING FOR XML REQUEST
strcat(data, "id=");
strcat(data, id);
strcat(data, "&");
strcat(data, "function=");
strcat(data, function);
strcat(data, "&");
strcat(data, "parameter=");
strcat(data, parameter);
*/

char unitid[] = "TEST05";
char buff[51200];

size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream)
{

char * pbuf = &buff[0];

memset(buff, '\0', size*nmemb+1);
size_t i = 0;
for(; i < nmemb ; i++){
strncpy(pbuf,ptr,size);
pbuf += size;
ptr += size;
}
printf("XML:\n %s\n",buff);

return size * nmemb;
}

void post_reporting(char *unit_id, int media_id, long time_played, int male0, int male1, int male2, int male3, int female0, int female1, int female2, int female3, int unknown)
{
char data[100];
char temp_char[11];

data[0] = '\0';
strcat(data, "function=P&P=");
itoa(media_id,temp_char);
strcat(data, temp_char);

strcat(data, "&T=");
itoa(time_played,temp_char);
strcat(data, temp_char);

strcat(data, "&R=");
itoa(male0,temp_char); //convert child male
strcat(data, temp_char); //join to data string
strcat(data, ","); //CSV input
itoa(male1,temp_char); //convert young male
strcat(data, temp_char); //join to data string
strcat(data, ","); //CSV input
itoa(male2,temp_char); //convert adult male
strcat(data, temp_char); //join to data string
strcat(data, ","); //CSV input
itoa(male3,temp_char); //convert senior male
strcat(data, temp_char); //join to data string
strcat(data, ","); //CSV input
itoa(female0,temp_char); //convert child female
strcat(data, temp_char); //join to data string
strcat(data, ","); //CSV input
itoa(female1,temp_char); //convert young female
strcat(data, temp_char); //join to data string
strcat(data, ","); //CSV input
itoa(female2,temp_char); //convert adult female
strcat(data, temp_char); //join to data string
strcat(data, ","); //CSV input
itoa(female3,temp_char); //convert senior male
strcat(data, temp_char); //join to data string
strcat(data, ","); //CSV input
itoa(unknown,temp_char); //convert unknow audience
strcat(data, temp_char); //join to data string

strcat(data, "&id="); //CSV input
strcat(data, unit_id); //CSV input
strcat(data, "&debug=1"); //DEBUG

printf("data:%s\n", data);

CURL *curl;
CURLcode res;

/* In windows, this will init the winsock stuff */
curl_global_init(CURL_GLOBAL_ALL);

/* get a curl handle */
curl = curl_easy_init();
if(curl) {
/* First set the URL that is about to receive our POST. This URL can
just as well be a https:// URL if that is what should receive the
data. */
curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.1.200:8888/cms/trunk/update.php");
/* Now specify the POST data */
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &write_data); //put returned data in to memory

/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);
/* Check for errors */
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));

/* always cleanup */
curl_easy_cleanup(curl);
}
curl_global_cleanup();

printf("stuff in memory: \n%s\n",buff);
}

void post_powerup(char *unit_id)
{
char data[100];
char temp_char[11];

data[0] = '\0';
strcat(data, "function=1&id=");
strcat(data, unit_id);

CURL *curl;
CURLcode res;

/* In windows, this will init the winsock stuff */
curl_global_init(CURL_GLOBAL_ALL);

/* get a curl handle */
curl = curl_easy_init();
if(curl) {
/* First set the URL that is about to receive our POST. This URL can
just as well be a https:// URL if that is what should receive the
data. */
curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.1.200:8888/cms/trunk/update.php");
/* Now specify the POST data */
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &write_data); //put returned data in to memory

/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);
/* Check for errors */
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));

/* always cleanup */
curl_easy_cleanup(curl);
}
curl_global_cleanup();

printf("stuff in memory: \n%s\n",buff);

}

/* BEGIN itoa.c */

void itoa(int, char *);
char *sput_i(int, char *);
char *sput_ip1(int, char *);

void itoa(int integer, char *string)
{
if (0 > integer) {
++integer;
*string++ = '-';
*sput_ip1(-integer, string) = '\0';
} else {
*sput_i(integer, string) = '\0';
}
}

char *sput_i(int integer, char *string)
{
if (integer / 10 != 0) {
string = sput_i(integer / 10, string);
}
*string++ = (char)('0' + integer % 10);
return string;
}

char *sput_ip1(int integer, char *string)
{
int digit;

digit = (integer % 10 + 1) % 10;
if (integer / 10 != 0) {
string = (digit == 0 ? sput_ip1 : sput_i)(integer / 10, string);
*string++ = (char)('0' + digit);
} else {
if (digit == 0) {
*string++ = '1';
}
*string++ = (char)('0' + digit);
}
return string;
}

/* END itoa.c */

int main(void)
{
post_powerup(unitid);

post_reporting(unitid, 377, 1348304373, 0, 1, 2, 3, 0, 1, 2, 3, 10);
return 0;
}
#endif

int main(){
monthly();
}

int monthly(){
int total = 240;//months

float intest_day = 1.83f;
float base = 705000.00f;
float rate = 0.052;

int i=0;
float sum=base;
for(;i<total;i++){
int bak=sum;
sum+=sum*rate/12;
printf("intest month %d; sum: %10.2f intest: %10.2f\n",i,sum, sum-bak);
// if(i%12==0){
// printf("\t\year %d:%10.2f", i/12,sum-base);
// }
}

printf("\n total intest: %f",sum-base);

// printf("Year rate: %10.2f", (sum-base)/base);
return 0;
}

int daily(void)
{

float intest_day = 1.83f;
float base = 14420.00f;
float rate = 1.83f/base;

int i=0;
float sum=base;
for(;i<365;i++){
sum+=sum*rate;
printf("%d : %10.2f\n",i,sum);
if(i%30==0){
printf("\t\tmonth %d:%10.2f", i/30,sum-base);
}
}

printf("\n Year: %f",sum-base);

printf("Year rate: %10.2f", (sum-base)/base);
return 0;
}

intest的更多相关文章

  1. INTEST/EXTEST SCAN

    INTEST scan指的是对IP 内部的scan cell的扫描测试,针对IP内部的flip-flop进行shift/capture的操作.和INTEST SCAN 对应的就是EXTEST SCAN ...

  2. INTEST/EXTEST SCAN 的学习

    intest scan的一些基本知识.INTEST scan指的是对IP 内部的scan cell的扫描测试,针对IP内部的flip-flop进行shift/capture的操作.和INTEST SC ...

  3. Enormous Input Test Solved Problem code: INTEST

    import sys import psyco #一键优化库 psyco.full() def main(): n, k = map(int, sys.stdin.readline().strip() ...

  4. 利用epoll写一个"迷你"的网络事件库

    epoll是linux下高性能的IO复用技术,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率.另一点原因就是获取 ...

  5. 在Jena框架下基于MySQL数据库实现本体的存取操作

    在Jena框架下基于MySQL数据库实现本体的存取操作 转自:http://blog.csdn.net/jtz_mpp/article/details/6224311 最近在做一个基于本体的管理系统. ...

  6. JTAG

    JTAG是JOINT TEST ACTION GROUP的简称,JTAG的两个标准IEEE 1149.1(2001)和IEEE 1149.7(2009). JTAG中主要包含两部分内容:TAP(TES ...

  7. 弹出层和ajax数据交互

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs& ...

  8. 【转】java内部类的作用

    http://andy136566.iteye.com/blog/1061951/ 推荐一. 定义 放在一个类的内部的类我们就叫内部类. 二. 作用 1.内部类可以很好的实现隐藏 一般的非内部类,是不 ...

  9. 基本java类-In.java

    package com.algorithm.api; /************************************************************************ ...

随机推荐

  1. os模块 与 sys模块

    os模块 os模块是与操作系统交互的一个接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工 ...

  2. 浅谈meta viewport设置移动端自适应

    1.viewport 移动设备上的viewport是设备屏幕上用来显示网页的那部分区域,再具体一点就是浏览器上用来显示网页的那部分区域,但viewport又不局限于浏览器可视区域的大小,它可能比浏览器 ...

  3. PHP从入门到精通(三)

    PHP数组的分类 按照下标的不同,PHP数组分为关联数组与索引数组: 索引数组:下标从0开始,依次增长:关联数组: 下标为字符串格式,每个下标字符串与数组的值一一关联对应.(有点像对象的键值对) 关于 ...

  4. python实现线性规划

    python工具包scipy linprog 函数格式 scipy.optimize.linprog(c, A_ub=None, b_ub=None, A_eq=None, b_eq=None, bo ...

  5. SQL之SELECT语句执行顺序及子句功能

    1.select 语句的执行顺序 SELECT a.id,a.`product_name`,a.`agreement_copies` i,b.id as statusId from `opmp_pro ...

  6. mac安装VMware虚拟机(含序列号)及Ubuntu系统

    首先去官网下载虚拟机,这里下载vmware fusion 10的版本: https://www.vmware.com/products/fusion/fusion-evaluation.html 下载 ...

  7. node的经典事件监听

    let fs = require('fs'); let Event = require('events'); let myEvent = new Event(); //注册一个订阅者 A myEven ...

  8. 如何批量删除Docker中已经停止的容器

    如何批量删除Docker中已经停止的容器   方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{p ...

  9. Docker-Compose 安装

    1. 什么是Docker-Compose Compose项目来源于之前的fig项目,使用python语言编写,与docker/swarm配合度很高. Compose 是 Docker 容器进行编排的工 ...

  10. QA

    QA:Quality Assurance,品质保证 IDQA:Individual Document Quality Assurance 设计品质保证 QE:Quantitative Easing 质 ...