c++程序一运行就显示程序弹出对话框显示遇到问题需要关闭,望高手解答,程序是计算单词加法的

#include<iostream.h>
void main(){ int i,j,sum,m=0,n=0,p=0,q=0; char a[10][6]={"zero","one","two","three","four","five","six","seven","eight","nine"}; char b[28]; cin.getline(b,28); for(i=0;;i++) { if(a[i][0]==b[0]&&a[i][1]==b[1]) break; } m=i; for(j=0;;j++) { if(b[j]==32) break; j+=1; } for(i=0;;i++) { if(a[i][0]==b[j]&&a[i][1]==b[j+1]) break; } n=i; for(;;j++) { if(b[j]==43) break; } j+=1; for(i=0;;i++) { if(a[i][0]==b[j]&&a[i][1]==b[j+1]) break; } p=i; for(;;j++) { if(b[i]=32) break; j+=1; } for(i=0;;i++) { if(a[i][0]==b[i]&&a[i][1]==b[j+1]) break; } q=i; sum=m*10+n+p*10+q;cout<<sum<<endl;},

你这程序不报错才怪了。。。
每一个循环都会产生死循环。
第一个for如果输入的b不是a中的字符,就一辈子跳不出来。死循环直到程序崩溃
第二个for已经写了j++你还在后面j += 1相当于每次跳两位,b一共就28个字符,你的j也是没有限制。如果b[j]不是32,就一直j++下去,能有b[100]这个元素吗?肯定还是报错。。。。
剩下的就不说了,同理。
你整理一下思路。把for循环的条件都写全了。逻辑都想明白,别有遗漏
最好画个流程图,你每次一步想干什么都写下来追问

我的设想是 输入0到9的英文单词,实现运算(例 one two+one two=24)所有的for循环全通过break跳出。
问题就在于我不知道该怎么实现数组种元素的计数,来跳过数组中的空格和加号

追答

呵呵。那你想用C++?加号周围有空格没?

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-01
uuyuyfyuf vgvhfvhdggfgvgvvcfcxdzssrdgvhjkjlokffghhhhtyhghhyfgtr'tugh;gyhgggg ;u

c++程序一运行就显示程序弹出对话框显示遇到问题需要关闭,望高手解答...
每一个循环都会产生死循环。第一个for如果输入的b不是a中的字符,就一辈子跳不出来。死循环直到程序崩溃 第二个for已经写了j++你还在后面j += 1相当于每次跳两位,b一共就28个字符,你的j也是没有限制。如果b[j]不是32,就一直j++下去,能有b[100]这个元素吗?肯定还是报错。。。剩下的就...

C++文件打开时,有提示说“发现一个问题,程序已停止工作,如果有可解决...
那是EXE程序反编译成的汇编代码(是win32的汇编,不是8086的那种汇编),这种东西除非你是:1.破解高手 2.微软家程序员 3.该出错程序的开发人员同时懂汇编语言…… 否则那就是天书。最后,我觉得你的Visual Stdio 6是不是工作得不太好,到了该重装一下的程度了。

C++小程序 运行的时候出现“遇到问题需要关闭,我们对此引起的不便表示...
} 问题处在strcpy上,此时name指针还是也指针,没有初始化,指向正确的内存区域,直接拷贝,肯定报错

一进游戏就出 microsoft visual c++runtime library runtim error!_百 ...
问题原因分析:是微软C++语言运行错误造成的。解决方法为:1、第一步,单击计算机桌面上的[运行]按钮,见下图,转到下面的步骤。2、第二步,执行完以上操作之后,在搜索框中输入[cmd],然后单击窗口底部的[确定]选项,见下图,转到下面的步骤。3、第三步,执行完以上操作之后,输入[cd%windir%\\ sy...

C++点击“打开文件”之后,程序出现未响应自动关闭。如何解决
8)此时VC中会出现一个上面只有两个图标的工具栏,点击窗口中的“X”来关闭,然后关闭VC6.0并重新启动程序。9)将这个dll文件复制到X:\/Program Files\/Microsoft Visual Studio\/Common\/MSDev98\/AddIns(注意X:等于你的系统盘,例如C:)。10)重新打开VC++6.0,工具(Tools)→定制(Customize)→...

运行程序的时候出现C++错误怎么办
运行程序的时候出现C++错误这样的问题一般是因为DLL文件出错或者VC运行库没有安装导致的,解决方法 一、下载VC运行库进行安装修复,修复后再进行测试。二、以管理员身份运行命令提示符,打开开始菜单,搜索cmd。在命令提示符上单击右键,选择“以管理员身份运行”;在命令提示符中输入以下命令:for %i in (...

电脑弹出对话框microsoft visual c++ runtime library,怎么解决?
出现 "Microsoft Visual C++ Runtime Library" 对话框通常意味着某个程序中的 C++ 运行时组件发生了错误。以下是一些可能的解决方案:重新安装 Microsoft Visual C++ 组件:你可以尝试从 Microsoft 官方网站下载并安装最新版本的 Microsoft Visual C++ 组件,这可能会修复问题。另外,如果你已经安装了多个版本...

用VC编程时运行提示出错Microsoft Visual C++ Runtime Library Assert...
这就是断言错误,你看下给出的对话框中提及的文件:alignment.cpp中323行是什么断言,然后debug进入看下程序到底什么地方发生了错误。

c++程序运行时产生错误报告
我的一个程序编译时没有错误 运行时就会出现错误报告 不得不中止 具体错误信息如下: 有哪个c++高手知道为什么吗?谢谢了。--- 回答:这样的问题一般都是“内存非法访问”引起的。请将你的左值初始化好,并查看一下你的指针是不是指到一个不应该指的地方了,内存分配正确不?

c++编程中遇到的问题,请各位电脑高手帮忙解决
1. 打开一个命令行窗口: 开始->运行, 输入"cmd", 回车 2. 在命令行窗口中输入: msdev \/useenv 回车就好了 ps. msdev就是msdev.exe,就是VC IDE程序, 所以你输入msdev.exe \/useenv也可以.就是表示启动这个程序,并加了一个命令行选项.具体程序在这里:C:\\Program Files\\Microsoft Visual Studio\\...

相似回答