信息

这个问题是关闭的。重新编辑或回答。

任务:文本文件编写一个函数char_counter计数一定数量的字符在文本文件中。该函数需要两个输入参数、帧,一个char向量的文件名和性格,字符计数的文件。

14日视图(30天)
当测试与“返回您的解决方案1是不正确的。(0)
这个错误出现在做作业。
谁能告诉我为什么这个错误出现,上述声明的意义。
当角色”然后我得到一个有限的答案。当字符' ' '太答案是有限的。但我不明白上面的粗体文本意味着....
我的代码
函数charnum = char_counter(帧,字符)
fid = fopen(帧);
如果fid < 0
charnum = 1;
返回;
结束
如果比较字符串(字符,)= = 1
charnum = 0;
返回;
结束
如果双(字符)> = 35 & &双(字符)< = 43 & &双(字符)~ = 39 & &双(字符)~ = & &双(字符)~ 41 = 40
charnum = 0;
返回;
结束
如果双(字符)> = 60 & &双(字符)< = 64 & &(字符)~ = 63的两倍
charnum = 0;
返回;
结束
如果双(字符)= = 81 | |双(字符)= = 88 | |双(字符)= = 90
charnum = 0;
返回;
结束
cc = fgets (fid);
sumv = 0;
ischar (cc)
z = sprintf (' % s ',cc);
k = strfind (z,字符);
sumv = sumv +长度(k);
cc = fgets (fid);
结束
charnum = sumv;
如果charnum = = 0
charnum = 1;
返回;
结束
3评论
Shubham Pandey
Shubham Pandey 2020年4月11日
编辑:Shubham Pandey 2020年4月11日
基本的错误代码生成是当你通过“角色和如果它读取0并将其存储在charnum,这个charnum由于去年if块更改为1。这就是为什么,出现错误。因此,建议删除最后一个if块。相反,您可以添加额外的或条件的if块来检查的有效性字符除了fid < 0。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2019年3月29日
编辑:沃尔特·罗伯森 2019年3月29日
你显然是使用某种形式的自动赋值评估软件。你提交的作业评分。课程软件试着传递”(空字符向量,相当于char[])()函数,和你的函数返回值1不应该返回什么任务指定输入,所以告诉你,你错了。
我们不知道你在做什么作业,或输入正确答案是什么。你需要重读问题更仔细地看看你应该回应。
推测 你在做作业已经持续大约计算匹配的字符的数量在一个文件中。转让他人已经发布要求1返回如果输入是无效的。我 怀疑 你看到“特征向量(空)和考虑它是无效的,所以返回1,但是,如果你仔细阅读作业你会发现任务认为”是一个有效的输入和匹配您期望的数量是0。小心你的验证测试:isempty()[]和“是正确的。

更多的答案(4)

Jaimin Motavar
Jaimin Motavar 2019年7月2日
有人能告诉我我的错误在这个代码是什么?问题是用secssion置评。
函数charnum = char_counter(文件名,b)
charnum = 0;
如果~ ischar (b)
charnum = 1;
返回;
结束
fid = fopen(文件名,“rt”);
如果fid < 0
charnum = 1;
返回;
结束
oneline = fgets (fid);
ischar (oneline)
一个= sprintf (“% s \ n”,oneline);
c =中(b);
[m, n] =大小(c);
charnum = charnum + n;
oneline = fgets (fid);
结束
结束
3评论

Ajith托马斯
Ajith托马斯 2019年8月19日
编辑:Ajith托马斯 2019年8月19日
我的问题是应该取消所有的人物?在这个问题上?
2的评论

Preethi Vannal
Preethi Vannal 2020年4月12日
我通过3评估出4同样的问题。
我的代码:
函数ch charnum = char_counter(帧)
如果isfile(帧)
fid = fopen(帧,“rt”)
如果(fid > 0 & & ischar (ch))
ct = 0;
oneline = fgets (fid);
ischar (oneline)
如果(strfind (oneline ch))
ct = ct +计数(oneline, ch);
其他的
charnum = 1;
结束
oneline = fgets (fid);
结束
charnum = ct;
其他的
charnum = 1;
结束
其他的
charnum = 0;
结束
文件关闭(fid);
结束
我不可以通过第四次评估。
可以有人帮我吗?
4评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年11月2日
fclose()的任何文件是好的做法你fopen(),除非你正在返回文件的处理内部(或记录)。
然而,试图fclose()发布的代码文件,即使存在()测试失败了,这是一个问题,因为如果存在()失败,那么变量 支撑材 就不会被分配到。

tshering拉母
tshering拉母 2020年9月5日
编辑:里克 2020年9月5日
你好,我的函数给出了误差与所有可见characters-failed“测试”。请帮助我理解我犯了一个错误的地方。谢谢你!
函数charnum = char_counter(帧,字符)
fid = fopen(帧,“rt”);
如果~ ischar(字符)| | fid < 0
流(“打开文件错误\ n”);
charnum = 1;
返回;
其他的
帧= fgets (fid);
charnum = 0;
2 = 1:长度(帧)
char_n =数(帧(ii)、性格);
charnum = charnum + char_n;
结束
结束
文件关闭(fid);
1评论
里克
里克 2020年9月5日
如果你不关闭文件 字符 输入无效,你只读一行。也,你会通过字符你不真正需要的计数功能。为什么你存储的文件内容 吗?这个名字不描述内容。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!