posted in C/C++ 

问题描述:

前几天用SQL语句根据FLOAT变量进行查询:

<span style="font-size:14px;">SELECT * 
FROM table_name
WHERE float_value = 0.0052;</span>

明明数据库中有对应的数据,

却查不出来。

原因探索:

经搜索,原来问题出在float类型的变量上:
float类型变量不能通过"="比较大小是否相等,

而应该通过不等号判断所在范围。

解决方案:

SQL语句应该这样写:

<span style="font-size:14px;">SELECT * 
FROM table_name
WHERE float_value <= 0.0052+0.0001
    AND float_value >= 0.0052-0.0001;</span>

参考:

http://stackoverflow.com/questions/8839460/why-doesnt-this-sql-query-return-any-results-comparing-floating-point-numbers

本文章迁移自http://blog.csdn.net/timberwolf_2012/article/details/23559769

1 Α α alpha a:lf 阿尔法

2 Β β beta bet 贝塔

3 Γ γ gamma ga:m 伽马

4 Δ δ delta delt 德尔塔

5 Ε ε epsilon ep`silon 伊普西龙

6 Ζ ζ zeta zat 截塔

7 Η η eta eit 艾塔

8 Θ θ thet θit 西塔

9 Ι ι iot aiot 约塔

10 Κ κ kappa kap 卡帕

11 Λ λ lambda lambd 兰布达

12 Μ μ mu mju 缪

13 Ν ν nu nju 纽

14 Ξ ξ xi ksi 克西

15 Ο ο omicron omik`ron 奥密克戎

16 Π π pi pai 派

17 Ρ ρ rho rou 肉

18 Σ σ sigma `sigma 西格马

19 Τ τ tau tau 套

20 Υ υ upsilon jup`silon 宇普西龙

21 Φ φ phi fai 佛爱

22 Χ χ chi phai 西

23 Ψ ψ psi psai 普西

24 Ω ω omega o`miga 欧米伽

本文章迁移自http://blog.csdn.net/timberwolf_2012/article/details/23559641

posted in Linux相关 

问题描述:

Linux英文环境下,Chrome的印象笔记剪藏插件只能登陆Evernote,却登陆不了印象笔记。

解决方案:

经多方探索,解决方案如下:

  1. 进入路径(不同版本印象笔记插件有所不同)

~/.config/google-chrome/Default/Extensions/pioclpoplcdbaefihamjohnefbikjilc/6.1.1_0/js/common

  1. 打开Bootstrap.js

将其中的"zh-CN"替换为"utf-8".

解决后截图如下:

SouthEast

本文章迁移自http://blog.csdn.net/timberwolf_2012/article/details/22953235

posted in C/C++ 

前言

之前在做课程设计时, 无意间想起了以前做ACM题常用的一行语句:

while(scanf("%d", &a) != EOF)

忽然间对这句话作用产生了好奇,想了半天终于有了一点结果。

1. EOF是什么东东?

EOF是一个宏,许多函数(包括scanf)在读文件读到末尾时,会返回EOF。[1]

2. while(scanf()!=EOF)流程图

先看看以前学过的3种循环语句的流程图:

===================================================================================

① for循环

for (表达式1; 表达式2; 表达式3)
{
    循环语句;
}

 SouthEast

 ② while循环

while (判断语句)
{
    循环语句;
}

  ![Image 1][] ![SouthEast 1][]

③ do-while循环

do
{
    循环语句;
}while(循环条件);

![SouthEast 2][]

===================================================================

显然,while (scanf("%d", &a) != EOF)不像以上任何一种的流程图,

那么while(scanf("%d", &a) != EOF)的流程图是怎样的?

应该是像下面这样:

while (scanf() != EOF)
{
    循环语句;
}

![SouthEast 3][]          

**3. OnlineJuge的评判时,**该语句的作用

OJ评判的原理应该是这样的:

输入:通过管道命令,将一个包含若干测试用例的文件作为【标准输入流】,所以需要while(scanf() != EOF)来判断测试文件是否读完。

输出:通过管道命令,将【标准输出流】,输出到一个文件中。

//输入输出
./prog < test_input > output_file

评判:将程序的【输出文件】与【正确答案文件】进行比对:如果一样,则返回程序正确提示;否则返回程序错误的提示。

**4. 本机运行程序时,**该语句的作用。

当在本机运行程序,运行while(scanf() != EOF)时,程序会进入阻塞状态,即,

运行到上面流程图中【temp = scanf("%d", &a)】这一句 时,程序会进入到阻塞状态——在这一语句处暂停。

那么如何在本机输入的时候达到EOF的效果呢?

Linux中,在新的一行的开头,按下Ctrl-D,就代表EOF;

Windows中,Ctrl-Z表示EOF。[2]

5. 等效的语句

虽然该语句用起来很方便,却不太好理解,因此建议用以下等效的语句来代替该语句。

while (true)
{
    if (scanf("%d", &a) != EOF)
        break;
}

引用:

[1][EOF 百度百科][EOF]

[2][EOF是什么?][EOF 1]

[Image 1]:
[SouthEast 1]: http://img.blog.csdn.net/20140502221640937?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGltYmVyd29sZl8yMDEy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
[SouthEast 2]: http://img.blog.csdn.net/20140502222555593?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGltYmVyd29sZl8yMDEy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
[SouthEast 3]: http://img.blog.csdn.net/20140502221756328?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGltYmVyd29sZl8yMDEy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
[EOF]: http://baike.baidu.com/link?url=LYoKaV_9HDbzkMc9pSnhV3vXjwdsoQIocHldGHZU1rMgyFWzz4NmU9e9enuFc_lN
[EOF 1]: http://www.ruanyifeng.com/blog/2011/11/eof.html

本文章迁移自http://blog.csdn.net/timberwolf_2012/article/details/18096493

posted in Linux相关 

Already solved here and here.
From the terminal:

sudo apt-get install indicator-datetime
sudo dpkg-reconfigure --frontend noninteractive tzdata
sudo killall unity-panel-service

Then logout & login from the graphic session.
If the clock is still hidden/grayed out:

Time&Date panel --> Clock --> Show a clock in the menu bar

If it still doesn't work report a bug on Launchpad.
*edited to solve a bigger slice of problems.

转自:http://askubuntu.com/questions/357266/how-to-show-time-in-ubuntu-13-10

本文章迁移自http://blog.csdn.net/timberwolf_2012/article/details/17029931

posted in C/C++ 

前言:

还没开学就搞了一个什么实训,让用C++做一个数据处理小程序。

程序不难,却也在此过程中总结回顾了一下VC中Debug的一些方法。

方法总结:

① 分阶段测试。

从一开始,每写一段就运行一下,这样出错时可以及时发现改正——否则攒了好几个错误在测试,Debug难度可能非线性增加。

② 设断点调试。

当错误可能出现在比较广的范围时,通过设断点来查看运行到每个点是否报错。

可以通过二分的思想不断缩小排查范围,最终找到出错点。

③ 跟踪变量。

如果最后输出的变量值和预期的不一样,可以跟踪变量来查看哪一步出错了。
跟踪变量一种方法是通过IDE的跟踪变量更能来查看,另一种方法是在关键点上输出变量的值来跟踪变量。

可以和【设置断点调试】结合来用。

④ 注释代码测试。

  1. 如果怀疑因为某行代码报错,可以通过注释掉该行数据来测试程序。好处在于方便快捷。

  2. 如果程序出错了,却又不知道在哪出错了,那么可以可以用 [二分的思想] 通过注释来定位错误所在:

    把出错的程序和 空白/未出错状态的程序

⑤ 控制变量换参数测试。

如果知道是因为某行代码报错,却不知道错在哪,可用该方法。

一方面百度该行语句的使用有没有错误;另一方面可以控制变量,换掉一些东西(如变量)来测试到底哪出问题了。

⑥ 查看内存调试(Learn this point from Mrs. Shine Wan)

当涉及到“位”级别时,可以用该方法来查看调试
在调试页面可以查看内存,来查看某个数据在内存中存储数值。

例如,查看p变量在内存中如何存储,
①. 查看 &p 值,即 p变量的存储地址
②. 在内存查看界面查看 该地址 存储的数值

本文章迁移自http://blog.csdn.net/timberwolf_2012/article/details/10084987

/** * RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS. * LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/ /* var disqus_config = function () { this.page.url = PAGE_URL; // Replace PAGE_URL with your page's canonical URL variable this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable }; */ (function() { // DON'T EDIT BELOW THIS LINE var d = document, s = d.createElement('script'); s.src = 'https://chenzz.disqus.com/embed.js'; s.setAttribute('data-timestamp', +new Date()); (d.head || d.body).appendChild(s); })();