【发布时间】:2016-12-05 13:27:12
【问题描述】:
我正在尝试编写代码来检查一个 char 包含多少个“A”、“C”、“G”和“T”字符。但我有点不确定如何去做。因为据我所知,没有像 .contains() 这样的操作符可供检查。
所需的输出类似于:
"The char contains (variable amount) of letter A's"
在我的代码中,我现在有这个:
DNAnt countDNAnt(char strand)
{
DNAnt DNA;
if (isupper(strand) == "A")
{
DNA.adenine++;
}
else if (isupper(strand) == "C")
{
DNA.cytosine++;
}
else if (isupper(strand) == "G")
{
DNA.guanine++;
}
else if (isupper(strand) == "T")
{
DNA.thymine++;
}
}
DNAnt 是一种结构,它具有我正在检查的所需变量(A、C、G 和 T)。每当我在 char 中找到它时,我基本上都会尝试添加每个的数量。
感谢您的帮助!
【问题讨论】:
-
上次我检查时,
char足够大,正好可以容纳一个char。不多也不少。 -
你的意思是,一个字符只能包含像“A”这样的字符?如果这就是 char 的工作方式,那么我想我需要稍微改变一下我的逻辑:P
-
是的,
char就是这样。一个字符。不多也不少。 -
你的意思是
toupper,而不是isupper。 -
顺便说一句,单个字母的单引号,2个或更多字母的双引号。所以你的声明应该是
"if (isupper(strand) == 'A')"。顺便说一句,您可以使用带有字符的switch;将strand转换为大写,然后使用switch。
标签: c++ struct char structure c-strings