#include "stdafx.h"#include<iostream>
using namespace std;int main()
{
cout<<"输入你要的服务:1.存款;2,取款;3转帐;4修改密码"<<endl;
cout<<"友情提示:输入对应的数字即可 "<<endl;
int n;
cin>>n;
switch(n)
{
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
int p=4;
int m=4;
do
{
if(p!=m){
cout<<"你两次输入的密码不一致,请重新输入:"<<endl;
}
cout<<"输入你的新密码"<<endl;
cin>>m;
cout<<"再输入一次你的新密码"<<endl;
cin>>p;
}while(p!=m);
cout<<"恭喜修改密码成功"<<endl;
break;
default:
cout<<"输入有误"<<endl;
}
return 0;
}编译通不过,说是default skip p and m,如果在case 4中,p,m不赋值,可以运行,怎么回事,我在vc++6.0下编译的
主要是default那一块,去掉default那一段,可以运行。
解决方案 »
- CListCtrl加图片不显示,查阅了好多资料解决不了!请大家帮忙
- 动态分配的数组,delete时是用不用加[]?
- 字符串A=B+C ,怎么在程序转变为A=B+C (A,B,C此时都是变量了)
- wince下有没有ACTIVEX控件啊
- Tab控件的使用
- 改变控件颜色的问题
- COleDispatchDriver::CreateDispatch在什么时候使用的
- 如何把视图类中某个函数中定义和使用的动态数组的值传递到对话框类中使用?
- 求救!MFC调用ocx控件失败,无效的参数数目,JS调用正常。。。。
- 在中国哪里可以下载Visual Studio.NET测试版?
- 在线等,udp传送一个结构体怎么实现?
- 在VC里面怎样为datagrid某一列添加ComboBox控件?
看看
cout < < "输入有误 " < <endl;
-----------下面加一个RETURN OR BREAK
你在case 4: 中定义了变量p,m并初始化,在default中也是可见的,但是就没有初始化。
如果你改为
case 4:{
int p=4;
int m=4;
...
break;
}
应该就可以了。
using namespace std; int main()
{
cout<< "输入你要的服务:1.存款;2,取款;3转帐;4修改密码" << endl;
cout<< "友情提示:输入对应的数字即可" << endl;
int n;
cin >> n;
switch(n)
{
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
{
int p=4;
int m=4;
do
{
if(p!=m){
cout << "你两次输入的密码不一致,请重新输入:" <<endl;
}
cout << "输入你的新密码 " <<endl;
cin >> m;
cout << "再输入一次你的新密码 " <<endl;
cin >> p;
}while(p!=m);
cout << "恭喜修改密码成功 " <<endl;
break;
}
default:
cout << "输入有误 " <<endl;
break;
}
return 0; 由于你变量m,p定义在case块了,vc编译器无法确定m,p的作用域所以会抱错,你只要用括号指定它们的作用域就可以了