| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1930 人关注过本帖
标题:[原创]如何使C++程序运行完了过后就让它暂时停下来?
只看楼主 加入收藏
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

不好意思我现在才知道你想说的错误,你的代码是这样: cout<<"If you want to see the sorted arry,press any key to continue..."<<endl; system("cls"); getch();

而运行后变成了这样的顺序,对吗? system("cls"); cout<<"If you want to see the sorted arry,press any key to continue..."<<endl; getch();

这是因为IO的方式不同而引起的,cout<<是C++的,getch()是C的,system()其实算是.net的,或者说Java的,而cout<<是读完了全部在输出,而getch和system是即时输入输出,所以虽然system在cout<<下面但却比cout<<先运行了,所以你要清屏的话,应该这样:

getch(); system("cls"); cout<<"If you want to see the sorted arry,press any key to continue..."<<endl;
2004-10-06 17:05
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
不好意思,我楼上的算是废话了,你的问题到底是什么?
2004-10-06 17:07
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 

#include <iostream.h> #include <conio.h> #include <stdlib.h> void convert(int *string,int n) { int i; int tmp; int m=(int)(n/2); for(i=0;i<=m;i++) { tmp=*(string+i); *(string+i)=*(string+n-1-i); *(string+n-1-i)=tmp; } } int main () { int a[9]; int i; int *string; string=a; for(i=0;i<9;i++) { cout<<"\nPlease input a["<<i<<"]"; cin>>a[i]; } for(i=0;i<9;i++) { cout<<'\t'<<a[i]; } cout<<endl; convert(a,9); cout<<"If you want to see the sorted arry,press any key to continue..."; cout<<flush; // 清空输出流缓存 system("cls"); // 清屏

// getch(); 这个没有必要,我删掉了

for(i=0;i<9;i++) { cout<<'\t'<<a[i]; // 输出九个元素,这个时候上面那段话讲不再输出。 } cout<<endl; system("pause"); // 在这里起到停住屏幕的作用,以便你能看到结果,在你击Enter 键 之后,程序结束。 return 0; }

// 上面这段程序符合楼主的意思。 关键在于那个 flush.


自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2004-10-06 23:19
bcomer
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2004-9-13
收藏
得分:0 
以下是引用live41在2004-10-06 17:07:56的发言: 不好意思,我楼上的算是废话了,你的问题到底是什么?

不是废话,我有些明白了,谢谢live41.

也谢谢kai版主hero.

2004-10-07 08:31
bcomer
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2004-9-13
收藏
得分:0 
以下是引用kai在2004-10-06 23:19:40的发言:

#include <iostream.h> #include <conio.h> #include <stdlib.h> void convert(int *string,int n) { int i; int tmp; int m=(int)(n/2); for(i=0;i<=m;i++) { tmp=*(string+i); *(string+i)=*(string+n-1-i); *(string+n-1-i)=tmp; } } int main () { int a[9]; int i; int *string; string=a; for(i=0;i<9;i++) { cout<<"\nPlease input a["<<i<<"]"; cin>>a[i]; } for(i=0;i<9;i++) { cout<<'\t'<<a[i]; } cout<<endl; convert(a,9); cout<<"If you want to see the sorted arry,press any key to continue..."; cout<<flush; // 清空输出流缓存 system("cls"); // 清屏

// getch(); 这个没有必要,我删掉了

for(i=0;i<9;i++) { cout<<'\t'<<a[i]; // 输出九个元素,这个时候上面那段话讲不再输出。 } cout<<endl; system("pause"); // 在这里起到停住屏幕的作用,以便你能看到结果,在你击Enter 键 之后,程序结束。 return 0; }

// 上面这段程序符合楼主的意思。 关键在于那个 flush.

谢谢kai版主
2004-10-07 08:34
金多虾
Rank: 2
等 级:论坛游民
帖 子:153
专家分:99
注 册:2009-6-9
收藏
得分:0 
断点执行可以吧...
2009-08-07 08:36
快速回复:[原创]如何使C++程序运行完了过后就让它暂时停下来?
数据加载中...
 
   



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

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