| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 466 人关注过本帖
标题:新手求帮忙,大虾帮改下
只看楼主 加入收藏
BlizzardKen
Rank: 1
来 自:广西桂林
等 级:新手上路
帖 子:36
专家分:0
注 册:2011-4-26
结帖率:33.33%
收藏
 问题点数:0 回复次数:7 
新手求帮忙,大虾帮改下
#include "stdafx.h"
#include<iostream>
using namespace std;
void print_teacher();
void print_student();
void print_body(void(*pFuc)());

int main(int argc, char* argv[])
{
    void(*print_message)();
    int nChoose=0;
    cout<<"选择 1 老师 2学生:"<<endl;
    cin>>nChoose;
    if(nChoose==1)print_message=print_teacher;
        else if(nChoose=2)print_message=print_student;
        else {cout<<"选择错误."<<endl;exit(1);};
            print_body(print_message);
            return 0;
};
void print_teacher()
{
    cout<<"老师姓名:李冰"<<endl;
    cout<<"所教课程:  C++"<<endl;
};
void print_student()
{
    cout<<"学生名称:张伟"<<endl;
    cout<<"所学课程:C++"<<endl;
};
void print_body(void(*pFuc)())
{
    pFuc();   
}
我输入的是除了1、2之外的数字显示的还是:            学生名称:张伟
                                                                                    所学课程:C++
为什么这句话“else {cout<<"选择错误."<<endl;exit(1);};”的作用没有表达出来呢?

[ 本帖最后由 BlizzardKen 于 2011-5-2 21:08 编辑 ]
搜索更多相关主题的帖子: include return 
2011-05-02 20:14
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
if(nChoose=2 )你觉得这句是否正确?

我们都在路上。。。。。
2011-05-03 11:19
BlizzardKen
Rank: 1
来 自:广西桂林
等 级:新手上路
帖 子:36
专家分:0
注 册:2011-4-26
收藏
得分:0 
回复 2楼 hellovfp
这句有什么问题么,新手来着
2011-05-03 15:04
seven39
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2010-9-15
收藏
得分:0 
else if(nChoose==2)print_message=print_student;改成这个。一个=是赋值的意思,两个==是判断是否相等
2011-05-03 15:45
Pirelo
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:118
专家分:550
注 册:2011-1-28
收藏
得分:0 
faint!
建议楼主以后写if条件表达式这样写:
if(2==nChoose),把常量发在左边吧,
否则if(nChoose=2),少写一个"="后成为赋值表达式,编译和运行都检查不出错误。
2011-05-03 16:23
BlizzardKen
Rank: 1
来 自:广西桂林
等 级:新手上路
帖 子:36
专家分:0
注 册:2011-4-26
收藏
得分:0 
回复 4楼 seven39
原来是这个问题,知道了。谢谢
2011-05-03 16:31
BlizzardKen
Rank: 1
来 自:广西桂林
等 级:新手上路
帖 子:36
专家分:0
注 册:2011-4-26
收藏
得分:0 
回复 5楼 Pirelo
谢谢
2011-05-03 16:31
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
现在很多编译器,在希望出现条件语句的地方出现赋值语句会给警告。就是为了避免这种情况。

有人推荐 2 == x 这种写法。也有人觉得这么写比较难看,而且不符合人的常规逻辑习惯。反正不管怎样,这种问题要想办法避免。
2011-05-03 18:56
快速回复:新手求帮忙,大虾帮改下
数据加载中...
 
   



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

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