标题:这个头疼的问题
只看楼主
天生
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-11-4
 问题点数:0 回复次数:9 
这个头疼的问题
各位高手 小弟遇到这样一个问题 很长时间了 实在不知怎么解决 想各位高手指点下:
下面代码输入
输入一个整数 6
1 2 3 4 5 6  正常输出
输入一个整数 6
1 2 3 m 4 5 不正常输出
输入一个整数 m
..在死循环
#include<conio.h>
#include<iostrem>
using namespace std;
int main()
{
  int n;
  int *ar;
  char c;
  do
  {
    cout<<"输入一个整数:"<<endl;
    cin>>n;
    ar=new int[n];
    for(int i=0; i<n; i++)
       cin>>ar[i];
    for(i=0; i<n; i++)
       cout<<ar[i];
    delete []ar;
    ar=NULL;
    cout<<"输入一个字符Q或q结束"<<endl;
    getchar();
    c=getch();
  }while((c!='Q')&&(c!='q'));
  return 0;
}66
搜索更多相关主题的帖子: 头疼 
2008-03-16 00:21
Ethip
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:771
专家分:0
注 册:2008-1-18
得分:0 
回复 1# 的帖子
我耐心帮你看了下,发现两个问题
1.头文件#include<iostrem>写错了,自己看看哪里写错了
2.发帖子时,程序末尾多了点尾巴,自己给找出来哦!下次请认真一点啊!别人耐心给你回帖,你却“故意”整人。

另外我的IDE是VC++6.0,下面贴出对你的程序的小小韵色。请注意看
#include<conio.h>
#include<iostream>
https://bbs.bccn.net/viewthread.php?tid=203620###

using namespace std;
int main()
{
  int n;
  int *ar;
  char c;

  do
  {
    cout<<"输入一个整数:"<<endl;
    cin>>n;
    ar=new int[n];

    cout<<"输入" << n << "个整数:" <<endl;
    for(int i=0; i<n; i++)
       cin>>ar[i];
    
    cout<< endl << "你刚才输入的几个整数是:"<<endl;
    for(i=0; i<n; i++)
        cout<<ar[i] << "   ";
    delete []ar;
    ar=NULL;
    cout<< endl <<"输入一个字符Q或q结束,其他字符继续"<<endl;
    getchar();
    c=getch();
    cout << endl;
  }while((c!='Q') && (c!='q'));
  return 0;
}
2008-03-16 09:17
天生
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-11-4
得分:0 
不好意思,我的代码有错,谢谢楼上兄弟,不过按以下方式输入时还是有问题:
输入一个整数:
6
输入6个整数:
1 2 3 4 5 6

你刚才输入的几个整数是:
1  2  3  4  5  6
输入一个字符Q或q结束,其他字符继续

输入一个整数:
m
输入6个整数:

你刚才输入的几个整数是:
-842150451  -842150451  -842150451   -842150451  -842150451   -842150451
输入一个字符Q或q结束,其他字符继续
'\n' (回车)
输入一个整数:                     *
输入6个整数:

你刚才输入的几个整数是:
-842150451  -842150451  -842150451   -842150451  -842150451   -842150451
输入一个字符Q或q结束,其他字符继续                                 **

在继续输入回车后重复出现标有 * 的这行到 ** 的这行的过程,郁闷 不知怎解决
2008-03-16 15:25
VanHorn
Rank: 1
等 级:新手上路
帖 子:152
专家分:0
注 册:2008-1-8
得分:0 
楼上的朋友,第一次提示输入,是要求输入数组的大小,动态分配数组时将按照这个大小分配数组,你怎么能输入一个字符呢?我估计错误就是发生在这里的。说说你写这个程序的目的吧,你想干什么?不然没人知道要怎么改代码。
2008-03-16 15:35
天生
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-11-4
得分:0 
就是在进行标准终端输入时 怎么做到保证输入 一定是确定的类型 而不引起崩溃
2008-03-16 15:42
天生
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-11-4
得分:0 
我看了很多书 都找不到答案 郁闷
2008-03-16 15:45
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
得分:0 
控制台程序的输入处理确实很麻烦,还不如用Win32程序的Edit控件

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-03-16 20:34
天生
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-11-4
得分:0 
谢谢楼上兄弟,改用WIN32API
2008-03-16 20:49
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
得分:0 
忘了告诉你,其实用MFC更简单。我看MFC就是为懒人准备的:)

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-03-16 20:56
天生
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-11-4
得分:0 
现在正学习WIN32API编程 对MFC还不是很了解
2008-03-16 21:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-203620-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036219 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved