我正在创建一个控制台应用程序并使用switch语句来创建一个简单的菜单系统.用户输入采用单个字符的形式,在屏幕上显示为大写字母.但是,我确实希望程序接受小写和大写字符.
我理解switch语句用于比较常量,但有可能做类似下面的事情吗?
switch(menuChoice) {
case ('q' || 'Q'):
//Some code
break;
case ('s' || 'S'):
//More code
break;
default:
break;
}
Run Code Online (Sandbox Code Playgroud)
如果无法做到这一点,是否有解决方法?我真的不想重复代码.
我在几周内开始上大学(软件工程学位),并且知道我将在第一年学习的其中一个模块是"建筑学基础"或类似的东西; 基本上它正在学习用'汇编'编程.
我想做一些背景学习,所以我已经做好了准备(我在其他一些单元上做了同样的事情),但不知道是否有多种"汇编语言".那里有多少?它是每个制造商一个,32位和64位语言,还是只有一个标准?
如果有多种类型,那么在大学阶段最受欢迎或可能被教授的是什么?
我在C++中编写此代码作为uni任务的一部分,我需要确保数组中没有重复项:
// Check for duplicate numbers in user inputted data
int i; // Need to declare i here so that it can be accessed by the 'inner' loop that starts on line 21
for(i = 0;i < 6; i++) { // Check each other number in the array
for(int j = i; j < 6; j++) { // Check the rest of the numbers
if(j != i) { // Makes sure don't check number against itself
if(userNumbers[i] == userNumbers[j]) { …Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用OO PHP,目前有三个文件.我有一个class_lib.php,目前只有一个databaseServer类,一个index.php文件和一个definitions.php文件.我想将所有敏感数据库信息放入定义文件中.但是,当我这样做时,我在尝试连接数据库时遇到错误:"Unkown server DB_HOST".我的定义文件是:
<?php
define("DB_HOST","localhost");
define("DB_USER","root");
define("DB_PASS","password");
define("DB_NAME","database");
?>
Run Code Online (Sandbox Code Playgroud)
然后我在索引文件中使用它们,如下所示:
include('definitions.php');
include('class_lib.php');
$testing = new databaseServer();
$testing->connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);
Run Code Online (Sandbox Code Playgroud)
我在databaseServer类中使用的函数是这样的:
function connect($host,$user,$pw,$db) {
$this->con = mysql_connect($host,$user,$pw);
if (!$this->con) {
die('Could not connect: ' . mysql_error());
}
$this->selectDb($db);
}
function selectDb($database) {
$this->db = mysql_select_db($database,$this->con);
if (!$this->db) {
echo "Could not Select database: " . mysql_error();
}
}
Run Code Online (Sandbox Code Playgroud)
任何想法为什么这不起作用?我也尝试将定义文件放入class_lib文件中的include中,但它仍然不起作用.
我正在考虑在PHP中创建一个基于文本的RPG类型程序作为假日项目,并有机会了解有关PHP和OOP的更多信息.(也许不是语言的最佳选择,我知道,但我不想在与OOP同时从头开始学习另一种语言.)
无论如何,我只是开始设计过程并思考'怪物'.每个怪物类型(你知道,兽人,地精,老鼠等)将拥有自己的统计数据,技能和不具备的数据.起初我虽然我可以只有一个怪物类,并在实例化对象时设置属性.但后来我觉得这可能有点低效,所以我正在考虑为每种类型的怪物准备一个课程.
考虑到每个类中的方法可能是相同的,这是解决问题的最佳方法吗?做一些我还不知道的更好的方法吗?
任何帮助表示赞赏.
我试图在PHP中创建用户登录/创建脚本,并想知道在创建用户时检查用户名是否存在的最佳方法.目前,我有以下代码:
function createUser($uname,$pword) {
$server->connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);
$this->users = $server->query("SELECT * FROM user_list");
while ($check = mysql_fetch_array($this->users) {
if ($check['uname'] == $uname) {
Run Code Online (Sandbox Code Playgroud)
我不确定的是这样做的最佳逻辑.我想添加一个布尔变量来做类似的事情(在if语句之后):
$boolean = true;
}
if ($boolean) {
echo "User already exists!";
}
else {
$server->query("INSERT USER INTO TABLE");
echo "User added Successfully";
}
Run Code Online (Sandbox Code Playgroud)
但这似乎有点低效 - 是否有更有效的方法来做到这一点?对不起,如果这有一个基本的解决方案 - 我是一个相对较新的PHP程序员.
我想知道是否有更优雅的方式来增加一个百分比.例如,如果我想将12%$a的值添加到$a我正在做的事情中:
$a = 100;
$a = $a + (($a / 100) * 12);
Run Code Online (Sandbox Code Playgroud)
112当然,这让我成为新的价值.但我不禁觉得这有点过于冗长,必须有更好的方法来增加百分比.
我试过了:
$a = $a + 12%;
Run Code Online (Sandbox Code Playgroud)
但是,正如预期的那样,这不起作用.在我考虑自己编写函数以使其更容易之前,是否有预先存在的方法来执行此操作?
我正在为uni工作,我必须使用C#Win Forms在Visual Studio 2010中创建一个Breakout游戏.目前,我正专注于只有一块砖被摧毁,所以我在扩展它之前先让机械装置停下来.
澄清我当前的程序:我使用图片框作为Graphics对象和计时器来创建动画效果.球可以在每个帧上跳过1到10个像素 - 这是为球创建随机起始矢量的一部分.
这可以正常工作,直到检查球是否"击中"我绘制的砖块.我所拥有的是一个if语句,用于检查球是否位于图片框中与砖块轮廓相对应的任何坐标上.我知道逻辑很好,因为它在某些时候有效.但是,由于球的位置"跳跃"的变化,我需要在if语句中添加+/- 5像素的缓冲区.
这就是出现问题的地方,因为我的if声明(两个,真的)真的很复杂,因为它是:
// Checks if ball hits left side or top of brick
if (((x >= brickX) && (x <= (brickX + 50)) && (y == brickY)) ||
((y >= brickY) && (y <= (brickY + 20)) && (x == brickX)))
{
brickHit = true;
}
// Check if ball hits right side or bottom of brick
else if ((((x >= brickX) && (x <= brickX + 50)) …Run Code Online (Sandbox Code Playgroud) 我试图破解一些涉及8位二进制数上多次左旋转的汇编代码.
供参考,代码是:
lab: rol dl,1
rol dl,1
dec ecx
jnz lab
Run Code Online (Sandbox Code Playgroud)
该dec和jnz是不是一个问题,而是有没有表明,2个rols的多次执行.
我想要做的是找出这个代码的数学等价物,例如公式.我当然不是在寻找一个完整的公式来告诉我整个代码,但我想知道是否有一个公式给出了单个左旋转的等价(以denary为单位).
我试过用几个不同的数字来解决这个问题,但是看不到两个结果之间的联系.例如:如果起始编号为115,则表示为220,但如果起始编号为99,则表示为216.
在VS 2010中使用GUI编写(希望本机)C++应用程序的有效方法是什么?
我记得大约10年前我使用过MFC,今天有什么重大变化吗?