/*
============================================================================
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. ElasticSearch实践系列(二):探索集群

    前言 为了方便ELK的逐步搭建,我们本篇文章先安装Kibana,然后用Kibana的DevTols执行命令.也可以安装elasticsearch-head运行命令. 安装Kibana 参考Instal ...

  2. 【下一代核心技术DevOps】:(六)Rancher集中存储及相关应用

    1. 前言 为什么要使用集中存储? 使用集中存储有个很大的优势是数据安全和统一管理,和集群完美配合. 产品集成存储经历过几个阶段: 1.单机本机存储. 系统使用本地硬盘存储 2.单网络集中存储. 局域 ...

  3. 开发CMDB系统

    背景: 在现网环境中服务器多了每天服务器的配置 情况我们很难记住,当某台服务器硬件配置变化后可以第一时间了解,某台服务器出现问题时可以快速定位机架位置,之前都是excel文档,要查某项数据时极不方便. ...

  4. 基于MongodbDB的用户认证-运维笔记

    MongoDB默认是不认证的,默认没有账号,只要能连接上服务就可以对数据库进行各种操作,MongoDB认为安全最好的方法就是在一个可信的环境中运行它,保证之后可信的机器才能访问它,可能这些对一些要求高 ...

  5. WinForm多线程+委托防止界面假死

    当有大量数据需要计算.显示在界面或者调用sleep函数时,容易导致界面卡死,可以采用多线程加委托的方法解决 using System; using System.Collections.Generic ...

  6. Linux第五周学习总结

    作者:黎静 一.知识点总结 (一)给MenuOS增加time和time-asm命令 1.更新menu代码到最新版 2.test.c中main函数里,增加MenuConfig() 3.增加对应的两个函数 ...

  7. Opentsdb分布式安装

    Opentsdb分布式安装 --李琦 1.下载文件上传到虚拟机 -rw-r--r--.  1 root   root  76793860 Apr 27 10:56 opentsdb-2.2.0.tar ...

  8. 软件工程项目之摄影App

    摄影app 开发人员:Ives & Dyh 开发功能: 摄影师注册与认证,为年轻摄影师提供成长的空间,发挥一技之长的平台. 用户注册与验证,为有摄影需求的人提供选择摄影师进行个性化拍摄的平台. ...

  9. Beta冲刺随笔汇总

    项目Beta冲刺(团队) Beta冲刺随笔汇总 姓名 学号 博客链接 何守成 031602408 http://www.cnblogs.com/heshoucheng/ 黄锦峰 031602411 h ...

  10. vue$ref

    vue的$ref方法 可以在元素上template中直接添加ref属性 类似html的id属性 用来做选项卡的切换的