C++ 请指教,这个程序怎么停不下来?

#include<iostream>#include<iomanip>#include<string>usingnamespacestd;charch;staticint... #include<iostream>
#include<iomanip>
#include<string>
using namespace std;
char ch; static int n=0;
class Student
{
public:
void get_information();
void output();
private:
string number,name;
char sex;

};
int main()
{
for(int i ;;i++){
Student i ;
i.get_information();
cout<<"if you have input all the information, please enter 'y' ";
cin>>ch;
if(ch=='y')break;
}
for(;i<=n;i++)
{
Student i ;
i.output();
}
cout<<"the program of the information's input and output about students has executed "<<n<<" times\n";
return 0;
}
void Student::get_information()
{
cout<<"please input your name:";
cin>>name;
cout<<"please input your student number:";
cin>>number;
cout<<"please choose your sex. female(f) or male(m):";
cin>>sex;
++n;

}

void Student::output()
{
cout<<"name:"<<name<<"\t"<<"sex:"<<sex<<"\t"<<"number:"<<number<<endl;
}
展开
 我来答
帐号已注销
推荐于2016-10-23 · TA获得超过156个赞
知道答主
回答量:133
采纳率:0%
帮助的人:51.5万
展开全部

#include<iostream>

#include<iomanip>

#include<string>

using namespace std;

char ch; static int n=0;

string number,name;

 char sex;//定义全局变量,后面函数才能读入

class Student

{

public:

 void get_information();

 void output();

};

int main()

 for(int i=1 ;;i++){//初始化变量i;

 Student  j;//对象名不能和循环内的变量同名

 j.get_information();

 cout<<"if you have input all the information, please enter 'y'  ";

 cin>>ch;

 if(ch=='y')break;

 }

 for(int i=1;i<=n;i++)

 {

    Student  j;

 j.output();

 }

 cout<<"the program of the information's input and output  about students has executed "<<n<<" times\n";

 return 0;

}

void  Student::get_information()

{

 cout<<"please input your name:";

 cin>>name;

 cout<<"please input your student number:";

 cin>>number;

 cout<<"please choose your sex. female(f) or male(m):";

 cin>>sex;

    ++n;

}

void Student::output()

{

 cout<<"name:"<<name<<"\t"<<"sex:"<<sex<<"\t"<<"number:"<<number<<endl;

}

百度网友5ba75e4
2011-03-21 · TA获得超过2045个赞
知道大有可为答主
回答量:1775
采纳率:60%
帮助的人:980万
展开全部
i没给初始值,系统会给一个随机数一般都是负6-8位的数- -
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lishuo_007
2011-03-21 · TA获得超过421个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:144万
展开全部
停不下来,是因为你的i值是局部变量,而且都没赋初值,所以会造成死循环,一直输出垃圾信心。
还有你的程序逻辑有错误,若是要输入多个学生信息,应该用数组或是链表保存信息,否则会造成前面的信息丢失,另外变量名不要用相同的。有什么问题再留言吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Hqingtianzhu
2011-03-21 · TA获得超过516个赞
知道小有建树答主
回答量:133
采纳率:0%
帮助的人:187万
展开全部
你可以查一下i在各个循环处的赋值情况,只有一些环境下的动态变量初值赋为0,有的则为负值或者值很大的数。这种方法不提倡,一般for语句要明确赋初值;另外,输出一段是<=n还是<n 啊
再试一试应该没什么问题了吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
代三个表__
2011-03-21 · TA获得超过108个赞
知道答主
回答量:65
采纳率:0%
帮助的人:74.2万
展开全部
输入y 不就退出循环了??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式