问题列表 - 第19525页

使用cin-C++的良好输入验证循环

我是第二个OOP课程,我的第一堂课是用C#教的,所以我是C++的新手,目前我正在使用cin练习输入验证.所以这是我的问题:

这个循环我构建了一个很好的验证输入的方法吗?或者有更常见/可接受的方式吗?

谢谢!

码:

int taxableIncome;
int error;

// input validation loop
do
{
    error = 0;
    cout << "Please enter in your taxable income: ";
    cin >> taxableIncome;
    if (cin.fail())
    {
        cout << "Please enter a valid integer" << endl;
        error = 1;
        cin.clear();
        cin.ignore(80, '\n');
    }
}while(error == 1);
Run Code Online (Sandbox Code Playgroud)

c++ validation loops

17
推荐指数
2
解决办法
7万
查看次数

生成具有可变比例"1"位的随机二进制数

我需要一个函数来生成随机整数.(long现在假设Java 类型,但这将扩展到BigIntegerBitSet稍后.)

棘手的部分是有一个参数P,它指定结果中任何位的(独立)概率为1.

如果P = 0.5,那么我们可以使用标准随机数发生器.P的一些其他值也易于实现.这是一个不完整的例子:

Random random = new Random();

// ...

long nextLong(float p) {
    if      (p == 0.0f)   return 0L;
    else if (p == 1.0f)   return -1L;
    else if (p == 0.5f)   return random.nextLong();
    else if (p == 0.25f)  return nextLong(0.5f) & nextLong(0.5f);
    else if (p == 0.75f)  return nextLong(0.5f) | nextLong(0.5f);
    else if (p == 0.375f) return nextLong(0.5f) & nextLong(0.75f); // etc
    else {
      // What goes here??
      String message …
Run Code Online (Sandbox Code Playgroud)

java random optimization bit-manipulation

6
推荐指数
2
解决办法
3727
查看次数

关于`({});`的更多信息?

我注意到有时候,C宏写得像这样:

#define foo(bar) ({ ++bar; })
Run Code Online (Sandbox Code Playgroud)

经过一些实验,我发现:

  1. ({});会编译,但什么都不做.(正如所料.)
  2. 离开;将导致语法错误.这样做的副作用是确保foo()看起来像代码中的函数.(虽然,如果你关闭分号,错误对诊断问题不是很有用!)
  3. return ({}); 抱怨虚假值不被忽略,就像我试图使用void函数一样.

这只是为了让开发人员在他们的宏中添加分号,还是有另一个目的?我已经尝试过谷歌,但是标点符号失败了.这有名字吗?

c macros gcc

8
推荐指数
1
解决办法
248
查看次数

这是jQuery如何处理子选择器的错误吗?

jQuery如何处理子选择器或者我错过了一些明显的错误?当孩子不是什么时,我无法让它工作*.

这是我正在运行的jQuery选择器:

$("#myTable > tr").each(function() {
    // do somthing }
);
Run Code Online (Sandbox Code Playgroud)

表结构是:

<table id="myTable">
    <tr>
        <td><button>someButton</button></td>
        <td><textarea>...</textarea></td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

没有元素与上面的选择器匹配#myTable > tr.但下面列出的两个选择器工作正常.

$("#myTable tr") // search all descendants for tr
Run Code Online (Sandbox Code Playgroud)

或使用通配符匹配孩子:

$("#myTable > *") // search all child elements
Run Code Online (Sandbox Code Playgroud)

关于这里可能出现什么问题的任何想法?

谢谢你的快速回答!不幸的是只能选择一个.

jquery css-selectors

6
推荐指数
2
解决办法
408
查看次数

访问相关对象键而不在App Engine中获取对象

通常,对于给定对象,最好对单个查询与许多查询进行比较.假设我有一堆"儿子"物品,每个物品都有一个"父亲".我得到了所有'儿子'对象:

sons = Son.all()
Run Code Online (Sandbox Code Playgroud)

然后,我想让那群儿子的所有父亲.我做:

father_keys = {}
for son in sons:
    father_keys.setdefault(son.father.key(), None)
Run Code Online (Sandbox Code Playgroud)

然后我可以这样做:

fathers = Father.get(father_keys.keys())
Run Code Online (Sandbox Code Playgroud)

现在,这假设son.father.key()实际上并没有获取对象.我错了吗?我有一堆代码假定object.related_object.key()实际上没有从数据存储区中获取related_object.

我这样做了吗?

python google-app-engine google-cloud-datastore

7
推荐指数
1
解决办法
550
查看次数

方法返回时,将重置onActivityResult中设置的类变量

我有一项活动,让用户选择一个电话号码.当然,我希望我的班级能够记住所选联系人的ID,所以我将其保存在课程领域.但是当onActivityResult方法返回时,我的类变量被重置.这是我正在尝试做的事情:

    Intent intent = new Intent(Intent.ACTION_PICK, People.CONTENT_URI);
    startActivityForResult(intent, PICK_CONTACT); 

    ...

    public void onActivityResult(int reqCode, int resultCode, Intent intent){
        super.onActivityResult(reqCode, resultCode, intent);       
        switch(reqCode){
            case(PICK_CONTACT):
                if(resultCode == Activity.RESULT_OK){
                    Uri contactData = intent.getData();
                    Cursor c = managedQuery(contactData, null, null, null, null);
                    if(c.moveToFirst()){
                        contactName = c.getString(c.getColumnIndexOrThrow(People.NAME));
                        contactId = c.getInt(c.getColumnIndexOrThrow(People._ID));

        break;
Run Code Online (Sandbox Code Playgroud)

当我在此方法中设置断点时,contactName和contactId的值正如我所期望的那样,但是一旦该方法返回,值就会以某种方式重置为其默认值.很明显我错过了一些东西,但我不确定我做错了什么或遗忘了.

谢谢!

伊娃

android

6
推荐指数
1
解决办法
1200
查看次数

使用CodeIgniter的Active Record函数在没有引号的MySQL语句中添加子句

我想在codeigniter中使用活动记录更新一行,我只想增加一个字段值(received_qty = received_qty +1),我意识到我可以在通常的sql中做到这一点,但我不能在codeigniter活动记录中

$update['received_qty'] = 'received_qty + 1';
$update['received_date'] = date("Y-m-d");
$this->db->where($where);
$this->db->update('vrs_distribution', $update);
Run Code Online (Sandbox Code Playgroud)

有人知道如何使用活动记录吗?

activerecord codeigniter

18
推荐指数
1
解决办法
2万
查看次数

iPhone崩溃日志?

我已经配置了iphone并让用户安装了应用程序.它失败.

是否有崩溃日志,我可以看到它在iphone上失败的原因?

伊恩

iphone crash logging

5
推荐指数
1
解决办法
3193
查看次数

新的jQuery选择器

我最近在(可能是你)StackOverflow的帮助下编写了以下选择器

$(':submit[name="Delete"][value="Delete"]').click(function() {
return window.confirm(this.title || 'Delete this record?');
});
Run Code Online (Sandbox Code Playgroud)

问:现在已经发布了1.4,是否有更优雅的方式来编写选择器?

jquery

0
推荐指数
1
解决办法
92
查看次数

使用CollectionUtils转换List会抛出ArrayStoreException

Java代码:

Transformer TRANSFORM_TO_INTEGER = new Transformer() {
    public Object transform(Object input) {
        Integer i = new Integer((String) input);
        return i;
    }
};

String begin = "1,2,3,4,5";
List strList = Arrays.asList(StringUtils.split(begin, ","));
CollectionUtils.transform(strList, TRANSFORM_TO_INTEGER);
Run Code Online (Sandbox Code Playgroud)

此代码将抛出ArrayStoreException:

java.lang.ArrayStoreException
at java.util.Arrays$ArrayList.set(Arrays.java:2360)
at java.util.AbstractList$ListItr.set(AbstractList.java:488)
at org.apache.commons.collections.CollectionUtils.transform(CollectionUtils.java:434)
Run Code Online (Sandbox Code Playgroud)

这是为什么?

java collections apache-commons

3
推荐指数
1
解决办法
8996
查看次数