注册 登录
编程论坛 C++教室

坚持写代码

hmsabc 发布于 2010-08-16 16:44, 1353 次点击
程序代码:
//谭浩强《C++程序设计》第一版 P174 例6.4 输入a,b,c 3个整数,按由大到小的顺序输出。

#include <iostream>
using namespace std;

int main( )
{
    void exchange( int *,int *,int *);               //对 exchange 函数的声明
    int a, b, c, * p1,* p2,*p3;
    cin >> a >> b >> c;                              //输入三个整数
    p1 = &a;p2 = &b;p3 = &c;                         //指向三个整形变量
    exchange( p1,p2,p3);                             //调用 exchange 函数,交换三个整形变量的值
    cout << a << " " << b << " " << c << endl;       //按由大到小的顺序输出三个整数
    system("pause");
    return 0;
}

void exchange( int * q1,int * q2,int * q3)          //定义 exchange 函数
{
    void swap( int *,int *);                        //申明 swap 函数
    if( *q1 < *q2) swap(q1,q2);                     //调用 swap 函数,属于嵌套调用
    if( *q1 < *q3) swap(q1,q3);
    if( *q2 < *q3) swap(q2,q3);
}

void swap( int * pt1,int * pt2)                     //定义 swap 函数
{ int temp;
temp = * pt1;
* pt1 = * pt2;
*pt2 = temp;
}

坚持写代码,我想一定会进步!
19 回复
#2
mxs8102010-08-16 16:57
不知道楼主现在c++学到什么程度了,谭浩强的《C++程序设计》这本书讲的很基础、很具体,
但是有时候不需要拘泥于太过具体的代码,要以理解程序设计思想为主...
可以先整体把握,然后再具体,楼主学习很刻苦,可以大跨步往前走啦,哈哈

上面的代码应该就是讲了函数的声明与定义,另外一个知识点就是如何交换两个数据的值。

仅供参考~~
#3
zhoufeng19882010-08-16 17:05
我也来参考一下,楼主是个好学的男人。
#4
towhee2010-08-16 17:15
恩,对是男人,呵呵
是不是把*temp改为temp了?
#5
hmsabc2010-08-16 21:15
回复 4楼 towhee
是呀,很可笑吗?那是书上说的,哈哈……
#6
hmsabc2010-08-16 21:20
回复 2楼 mxs810
我刚学,才一个多月,谈不上什么程度,很多东西都还不理解,反正我没有太高要求,只是希望自己能编出一个像样点的 windows 窗体程序,不知道要努力几年?
#7
pangding2010-08-17 00:45
写窗口程序到时候得专门学,属于系统的扩展。其实和纯 C++ 关系不是很大,但当然基础是很有用的了。
写窗口程序有定势的,要想写,就是背几个函数的事。一学就会,不是很神秘的。
#8
mxs8102010-08-17 08:50
回复 6楼 hmsabc
那你的目标今年年底就能完成啦,哈哈
windows窗体程序不是很复杂的,一学就会~~
#9
ciweitou1632010-08-17 09:26
形参传递时,引用传递很好,建议使用。
#10
hmsabc2010-08-17 13:15
回复 9楼 ciweitou163
谢谢,什么指针、数组、引用等概念,真的很多,不容易记住,得慢慢来,要写很多程序后才会有点感觉。对于我真是这样的。我最搞不懂的还是关于运算符重载的问题,真是让我感到云里雾里的……难!
#11
zhoufeng19882010-08-17 14:34
以下是引用mxs810在2010-8-17 08:50:48的发言:

那你的目标今年年底就能完成啦,哈哈
windows窗体程序不是很复杂的,一学就会~~
真的吗?
我觉得MFC有点难度啊,呵呵,能不能提供点帮助和指引一下方向?
#12
towhee2010-08-17 14:54
呵呵,孙鑫的vc++视频讲windows编程讲得不错,可以看看
#13
南国利剑2010-08-17 15:29
楼主给出的东西,把swap函数定义去掉也可以运行。
各位可以试试。。。
#14
mxs8102010-08-17 17:31
回复 11楼 zhoufeng1988
我只是说楼主能够掌握简单的windows窗体程序开发,而不是掌握mfc编程,嘿嘿

说来惭愧,我对mfc的掌握也就是在vc平台上添加些控件,处理些控件事件,
能够输入数据、处理数据、显示数据,仅此而已~~
#15
zhoufeng19882010-08-18 00:42
回复 14楼 mxs810
呵呵,同样谢谢哥们````
加油哦~~~
#16
挑衅2010-08-18 08:17
楼主的c++学的咋样了?
#17
2010-08-18 18:21
楼主真的很用功,一定要坚持,今后遇到好的算法,传上来大家帮你一起分析一下,懂的会更透彻一些。
引用和指针个有好处,还有数组,比如这个冒泡排序:
Void sort(int [] arrry)
{ For(int j=1,j<array.Length;j++)
   For(int i=0;i<array.Length-1;i++)
  {  If(array[i]<array[i+1]) {
      Int temp=array[i];
        Array[i]=array[i+1];
        Array[i+1]=temp;}}}
多想多写多上传以后我会经常光顾你写的程序的,Come on!
#18
hmsabc2010-08-18 19:35
回复 16楼 挑衅
学得不好,正在攻难点,特别是运算符重载,我还没找到门。有些设计思想,算法什么的,也很不好理解。
#19
hmsabc2010-08-18 19:36
回复 17楼 gexin
Thank you very much!
#20
yslf03272010-08-19 05:16
我的c-free上运行,system("pause")报错,comment以后就可以运行了。
1