当前位置: 首页 > 知识库问答 >
问题:

字符串和开关语句的问题??C++评分系统[副本]

羊渝
2023-03-14

当我开始编写这段代码时,我遇到了字符串和switch语句的问题,这就是为什么我不确定我是否正确地绕过了这个问题。最主要的问题是程序只打印图表的答案而不打印字符串的答案。也许这是因为使用了错误的“if”。下面是我的代码:

#include <iostream>
#include <string> 

using std::cin;
using std::cout;
using std::string;
using namespace std;

 constexpr long long string_hash(const char *s) {
long long hash{}, c{};
for (auto p = s; *p; ++p, ++c) {
    hash += *p << c;
}
return hash; }   constexpr long long operator"" _sh(const char *s, size_t) {
return string_hash(s); }

int main() {
    cout << "Ievadiet atzimi ar burtiem (A, B, C, D, F) ==> ";
    string atzime;
    char burts;
    double atzime_sk, pluss, minuss;

    cin >> atzime;
    burts = atzime[0];
    switch(burts) 
    {
    case 'A':
        atzime_sk = 4;
        cout << "Tava atzime ir ==> " << atzime_sk;
        break;
    case 'B':
        atzime_sk = 3;
        cout << "Tava atzime ir ==> " << atzime_sk;
        break;
    case 'C':
        atzime_sk = 2;
        cout << "Tava atzime ir ==> " << atzime_sk;
        break;
    case 'D':
        atzime_sk = 1;
        cout << "Tava atzime ir ==> " << atzime_sk;
        break;
    case 'F':
        atzime_sk = 0;
        cout << "Tava atzime ir ==> " << atzime_sk;
        break;
    default:
        break;
    }
    
   if (atzime[1] == '-' || '+')
    {
      switch (string_hash(atzime.c_str()))
      {
      case "+"_sh:
        pluss = atzime_sk + 0.3;
        cout << "Tava atzime ir ==> " << atzime_sk;
        break;
      case "-"_sh:
        minuss = atzime_sk - 0.3;
        cout << "Tava atzime ir ==> " << atzime_sk;
        break;
      default:
        break;
      }
    }
 }

共有1个答案

上官德寿
2023-03-14
if (atzime[1] == '-' || '+')

并不像你想象的那样。

 类似资料:
  • 老师们好: C 语言实现, 给定一个字符串长度不是16字节倍数时,请将字符串左边用0填充,使其长度为16字节的整倍数。 期望得到下面给出的结果

  • 本文向大家介绍C语言链表实现歌手评分系统,包括了C语言链表实现歌手评分系统的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C语言链表实现歌手评分系统的具体代码,供大家参考,具体内容如下 此程序可以添加文件操作用于保存歌手得分等信息,此程序实现了链表的增删查和链表冒泡排序交换节点功能 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 问题内容: 是否有用于计算一对句子的语义相似性评分的库? 我知道WordNet的语义数据库,以及如何生成2个单词的分数,但是我正在寻找可以对整个句子和输出执行所有预处理任务(例如端口阻止,停止单词删除等)的库两个句子之间的相关程度得分。 我发现使用.NET框架编写的工作正在进行中,该框架使用一系列预处理步骤来计算分数。有没有在python中执行此操作的项目? 我不是在寻找可以帮助我找到分数的操作序

  • 主要内容:字符串结束标志(划重点),字符串长度用来存放字符的数组称为 字符数组,例如: 字符数组实际上是一系列字符的集合,也就是 字符串(String)。在C语言中,没有专门的字符串变量,没有string类型,通常就用一个字符数组来存放一个字符串。 C语言规定,可以将字符串直接赋值给字符数组,例如: 数组第 0 个元素为 ,第 1 个元素为 ,第 2 个元素为 ,后面的元素以此类推。 为了方便,你也可以不指定数组长度,从而写作: 给字符数组赋

  • 本文向大家介绍关于JavaScript语句后面的分号问题,包括了关于JavaScript语句后面的分号问题的使用技巧和注意事项,需要的朋友参考一下 JavaScript自动加分号规则,有3条 当有换行符(包括含有换行符的多行注释),并且下一个token没法跟前面的语法匹配时,会自动补分号。 当有}时,如果缺少分号,会补分号 当程序源代码结束时,如果缺少分号,会补分号。  利用我自己的JS语法分析工

  • 问题内容: 这个问题已经在这里有了答案 : 8年前关闭。 可能重复: SQL UPDATE中的str_replace吗? 如何在mysql中删除字符串的一部分? SQL查找并替换字符串的一部分 我有一个包含网站网址列表的数据库表,例如,我想从中删除所有和。他们是否可以在列上运行以删除它的简单SQL语句? 我已经搜索了一下,但是找不到我需要的东西。我想我需要同时使用REPLACE和UPDATE,但是