高手坐镇(23)
编程学堂
求助邮箱:pcw-chendx@vip.sina.com。欢迎高手加入我们的答疑团队。
PHP自学 PHP 要看哪些书
题目难度:★★
读者来信:看了第17期《自学C语言要看哪些书》,编辑回答得非常详细,所以我也来问一个问题:我想学的是PHP,那自学 PHP 要看哪些书?编辑不要让我失望哟!
编辑 陈邓新:你都这么说了,这个问题我一定不会忘记的。当前,PHP网站已经成为主流,学习PHP编程是一个不错的选择。如果你有一定的基础,例如学过其他编程语言,特别是熟悉HTML语言,买书的必要性就不是很大,看看PHP开发文档就足够了(下载地址:http://www.icpcw.com/bzsoft),或者看看《PHP开发手册》也成。
如果你没有基础,最好先从简单的语法入手,再逐渐过渡到函数利用等。建议你最好下载或者在线观看一些PHP视频教程,网上有很多这样的视频教程,比看书直接多了。此外,你还要时常在一些PHP专业论坛中逛逛,可以增长见识快速提高自己的编程能力。
C语言只输出一个空格
题目难度:★★★★
读者来信:我在网上看到一道题目,要求将输入的内容直接输出,但是输入内容中有连续一个以上的空格时,只输出一个空格。这道题怎么做?希望得到《电脑报》高手的指点。
资深教师 李严同:这种题有很多种解决思路,关键是判断空格。下面我提供一种解决方法:
#include
#define SIZE 81
int main(void) {
char str_in[SIZE], str_out[SIZE], * p_in = str_in, * p_out = str_out;
gets(str_in);
while(*p_in) {
if(*p_in == " && *(p_in + 1) != ") {
*p_out++ = *p_in++;
} else if(*p_in == "&& *(p_in + 1) == ") {
p_in++;
continue;
} else {
*p_out++ = *p_in++;
}
}
*p_out = '\0';
puts(str_out);
return 0;
}
VC浏览器是怎么设计的
题目难度:★★★★★
读者来信:最近跟别人打赌,要独立设计一款浏览器。当时吹牛说了大话,现在追悔莫及。我学VC也不过一两年,还从来没有独立开发过任何程序。我希望得到《电脑报》高手的帮助,最好给我一份浏览器的源代码,一定要帮我!
程序员 故乡的云:这是什么情况,汗!如果你希望得到商业浏览器的源代码,这个兄弟就爱莫能助了,但是普通的浏览器源代码,还是找得到的(下载地址:http://www.icpcw.com/bzsoft)。浏览器的设计难点就是界面,首先需要考虑工具条、地址栏、动画控件的容器,然后要考虑工具栏如何才能扁平化,接着要考虑如何弹出下拉菜单、如何收藏网页等。关键代码如下:
{//判断是否为显示收藏网页的下拉箭头;
CMenu* pPopup;
pPopup = GetMenu()->GetSubMenu(3);
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON, rect.left, rect.top + 1, AfxGetMainWnd());
}
VB石头剪刀布
题目难度:★★★
读者来信:我想设计一个VB小游戏“石头剪刀布”,希望在思路上得到一些指点,谢谢啦!
编辑 陈邓新:这个游戏不难,主要是掌握系统如何随机给出答案,关键代码如下所示(完整代码下载地址:http://www.icpcw.com/bzsoft):
//系统随机做出选择并进行判断
Private Sub Process(ByVal UParam As Long)
Randomize '系统随机给出数字
Dim CParam As Long
CParam = Int(Rnd * 3) '系统随机给出数字
Select Case UParam
Case 0
Select Case CParam
Case 0
Call MsgBox("用户出剪刀,电脑也出剪刀,所以是平手")
Case 1
Call MsgBox("用户出剪刀,电脑出石头,所以是电脑赢")
Case 2
Call MsgBox("用户出剪刀,电脑出布,所以是用户赢")
End Select
Case 1
Select Case CParam
Case 0
Call MsgBox("用户出石头,电脑出剪刀,所以是用户赢")
Case 1
Call MsgBox("用户出石头,电脑也出石头,所以是平手")
Case 2
Call MsgBox("用户出石头,电脑出布,所以是电脑赢")
End Select
Case 2
Select Case CParam
Case 0
Call MsgBox("用户出布,电脑出剪刀,所以是电脑赢")