求百度云大神版出问题了,一个简单的C语言问题

13:59 提问
一个C++小程序运行错误,求大神帮忙看看
#include "stdafx.h"
/* run this program using the console pauser or add your own getch, system("pause") or input loop /
class cartp
virtual char getcar()=0;
class BMW:public cartp
char* getcar()
return "BMW";
class BENZ:public cartp
char* getcar()
return "BENZ";
class carfactory
static cartp* getcarname(char* name)
if(name=="BMW")
return new BMW();
else if(name=="BENZ")
return new BENZ();
return NULL;
int main(int argc, char** argv)
char name[20]={0};
char* car=
cout&&"input cartype:";
cartp* cc=carfactory::getcarname(car);
cout&&"type is"&getcar()&&
按赞数排序
class cartp
virtual char* getcar()=0;
class BMW:public cartp
char* getcar()
return "BMW";
class BENZ:public cartp
char* getcar()
return "BENZ";
class carfactory
static cartp* getcarname(char* name)
if(strcmp(name,"BMW") == 0)
return new BMW();
else if(strcmp(name,"BENZ") == 0)
return new BENZ();
return NULL;
int main(int argc, char** argv)
char name[20] = {0};
char* car =
cout&&"input cartype:";
cartp* cc = carfactory::getcarname(car);
cout&&"type is"&&cc-&getcar()&&
BMW类重写虚函数时返回值不对。
strcmp(name, "BMW") == 0 strcmp(name, "BENZ") == 0
这里应该是这样才能比较的
strcmp(name, "BMW") == 0 strcmp(name, "BENZ") == 0
这里应该是这样才能比较的
strcmp(name, "BMW") == 0 strcmp(name, "BENZ") == 0
这里应该是这样才能比较的
#include "stdafx.h"
class cartp
virtual char* getcar()=0;
class BMW:public cartp
char* getcar()
return "BMW";
class BENZ:public cartp
char* getcar()
return "BENZ";
class carfactory
static cartp* getcarname(char* name)
if(name=="BMW")
return new BMW();
else if(name=="BENZ")
return new BENZ();
return NULL;
int main(int argc, char** argv)
char name[20]={0};
char* car=
cout&&"input cartype:";
cartp* cc=carfactory::getcarname(car);
cout&&"type is"&getcar()&&
1.你这不是运行错误,编译都过不去。两处,第一cartp类virtual char getcar()=0;是应该返回char*的。*忘记了。第二处main函数cout&&"type is"&getcar()&&错误,首先这个getcar函数要通过对象或者指针调用但此处只能是指针。另外少一个'&'语法错误。
2.这个小程序的用意是使用一下多态的意思,可能是一个简单的工厂模式。
else if(name=="BENZ")
name不能直接比较,要用strcmp
或者你把name赋值给string对象,然后可以用==比较
strcmp(name, "BMW") == 0 strcmp(name, "BENZ") == 0
字符串应该这样比较
嗯。一眼就看到 name=="BMW" ,双等号对比的估计是内存地址,而不是值;
C++中对于数字类型的数据我们可以直接使用"=="即可比较是否相等,但是对于字符串的比较并不适用。我们可以利用以下的两个函数来比较两个字符串是否相等。
这是用于ANSI标准字符串的函数(如string和char *),此函数接受两个字符串缓冲区做为参数,如果两个字符串是相同的则返回零。否则若第一个传入的字符串的值大于第二个字符串返回值将会大于零,若传入的第一个字符串的值小于第二个字符串返回值将小于零。
char *ch="翔翔糖糖";
if(strcmp(ch,"翔翔糖糖")==0)
//字符串相等
//字符串不相等
这个函数是strcmp所对应的Unicode系列的函数,它的使用方法和strcmp相同,它用来比较两个Unicode字符串是否相等(如wstring和wchar_t *)。
wchar_t *ch=L"翔翔糖糖";
if(wcscmp(ch,L"翔翔糖糖")==0)
//字符串相等
//字符串不相等
其他相似问题2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
本帖子已过去太久远了,不再提供回复功能。求帮我看一道非常简单的作业,看了好久我不知道出错在哪
修改10.2节的栈示例使它存储字符而不是整数。接下来,增加main函数,用来要求用户输入一串圆括号或花括号,然后指出它们之间的嵌套是否正确:
Enter&parenteses&and/or&braces:((){}{()})&
Parenteses/braces&are&nested&properly&
提示:读入左圆括号或左花括号时,把它们像字符一样压入栈中。当读入右圆括号或右花括号时,把栈顶的项弹出,并且检查弹出项是否是匹配的圆括号或花括号。(如果不是,那么圆括号或花括号嵌套不正确。)当程序读入换行符时,检查栈是否为空。如果为空,那么圆括号或花括号匹配;如果栈不为空(或者如果曾经调用过stack_underflow函数),那么圆括号或花括号不匹配。如果调用stack_underflow函数,程序显示信息Stack&overflow,并且立刻终止。
下面附10.2节栈示例:
void&makeem(void)
bool&isem(void)
return&top&==&0;
bool&isfull(void){return&top&==&
void&push(int&i)//压入
if&(isfull())&
stack_overflow();&
contents[top++]&=&i;
int&pop(void)//弹出
if&(isem())
&stack_underflow();&else&
return&contents&[--top];
下面是我的程序
#include&&stdio.h&
#include&&stdbool.h&
#define&STACK_SIZE&100&
char&contents[STACK_SIZE];
int&top=0,pan=0;
void&stack_overflow(){
printf("stack&overflow!!!");
void&stack_underflow(){
printf("stack&underflow!!!");
void&make_empty(void)
bool&is_empty(void){
return&top&==&0;
bool&is_full(void){
return&top&==&STACK_SIZE;
void&push(char&i){
if(is_full())
stack_overflow();
contents[top++]='i';&
char&pop(void){
if(is_empty())
stack_underflow();
return&contents[--top];
int&main(void)
printf("Enter&parenteses&and/or&barces:");
for(&;(ch=getchar())!='\n';&){
if(ch=='('||ch=='{'){
if(ch==')'||ch=='}'){
if(ch==')'&&contents[top]=='('){
&&&&if(ch=='}'&&contents[top]=='{'){
&&&&&printf("Parentese/braces&are&not&nested&properly.\n");
&&&&&return&0;
if(top==0){
&&&& printf("Parentese/braces&are&nested&properly.\n");
&&&& return&0;
&&&&return&0;
#include&&stdbool.h&
#include&&stdio.h&
#include&&stdlib.h&
#define&STACK_SIZE&100
void&make_empyt(void);
bool&is_empty(void);
bool&is_full(void);
void&push(char&ch);
int&pop(void);
void&stack_overflow(void);
void&stack_underflow(void);
char&contents[STACK_SIZE];
int&top&=&0;
int&main(void){
int&count&=&0;
printf("Enter&parenteses&and/or&braces:&");
while((c&=&getchar())&!=&'\n'){
if&(c&==&'('&||&c&==&'{'){
sub&=&pop();
if(sub&==&'('&&&&c&==&')'){
}else&if(sub&==&'{'&&&&c&==&'}'){
if&(is_empty()){
printf("Parenteses/braces&are&nested&properly");
printf("not");
void&make_empty(void){
bool&is_empty(void){
return&top&==&0;
bool&is_full(void){
return&top&==&STACK_SIZE;
void&push(char&ch){
if(is_full())
stack_overflow();
contents[top++]&=&
int&pop(void){
if&(is_empty())
stack_underflow();
return&contents[--top];
void&stack_overflow(void){
printf("Stack&overflow");
exit(EXIT_SUCCESS);
void&stack_underflow(void){
printf("Stack&underflow");
我也不太懂,抄书上的不知道make_empty怎么用
关于C++语言const关键字的总结
初学,for的问题
strstr函数,找不到问题在哪?
史上最“贱”黑客:把你的文件压缩,再卖给
sqrt使用在不同数据类型上的效率问题
为什么我这个程序运行不对。。感觉没有进入
两种获取字体平均宽度和高度的方法详细分析
C语言迭代程序改错
吾思过吾在之n维数组的寻秘
Windows核心编程入门1:什么是操作
opencv图像进行叠加处理(一)
资源怎么使用:如何使用文本文件资源
C++简单好用的串口读写操作类源码分享
提问:MFC可编辑的list 如何保存数
vector::push_back(V&
散分+快来报名“C语言指针与汇编内存地址
我已经使用fflush清空缓存区了为什么
资源怎么使用:背景了解
自学数据结构时遇到一些问题,自己看了一下
【精品公开课免费在线学习系列】斯坦福大学
解析面试题:下面哪个函数实现两个数的交换
【精品公开课免费在线学习系列】斯坦福大学
鸡尾酒排序——冒泡排序
opencv2.4.10+VS2013,
新手问一个问题
从新手到高手:C++全方位学习
从新手到高手:C++全方位学习
数据库编程疑惑全面解答8:本地数据库和远
不借助第三方工具实现两台电脑之间文件互传
用C++写程序相比于C到底有哪些不同
代码似乎没问题,但运行结果是错误的,求大
非递归先序遍历二叉树不报错但停止运行
#includeus...
VS2013问题
在VS2013中,进行生成时,总会出现这...
新人发帖想问问这代码怎么出现了 段错误
//字符串逆序#include<stdi...
散分+推荐阅读“没学过C语言的代价”
https://www.oschina....
C++友元函数问题,类的成员函数无法访问
class X{public:frien...
vs2010装了Visual_Assis
vs2010装了Visual_Assis...
30万奖金等你拿,2016中国移动“万物
本帖最后由zhaifangqing于20...
散分+传道
本帖最后由zhao4zhong1于201...
如何将文件中的数据按要求存入数组中
将如图所示数据存入二维数组中
我的程序...
零根底新手如何学习SEO?我一直以为,跟什么东西学习SEO,就会成为什么样的东西...
很多行业企业很多对推广的需求都比较迫切强烈,特别是初创时期资金上又比较吃紧。所以...
网站打开速度对SEO优化排名的影响网站的打开速度对优化的影响非常重要,可以说是优...
现在互/sitemap/index-h...
从网站架构来说,SEO应当重视的链接点分别为网站入口的第一个链接点和网站入口的第...
 301重定向全称为301永久重定向,也即301跳转。其实现方法为在所购买的空间...
接触SEO相关的知识,学习SEO相关的技能,都是为了解决问题的。今天小编就从解决...
 实际上说到企业网站的搜索引擎优化,在优化圈子里面是相对简单的事情,因为百度自身...
相信很多seoer都遇到过这样的问题,关键词在百度自然排名的21位就再也无法前进...
近2-3年的长尾理论是受到广大站长普遍认可并使用的一种网站内容建设思路,当然,也...
在网站优化过程过,有一个是比较让一些站长头疼的事,那就是寻找网站外链的渠道。有的...
随着/sitemap/index-ht...
随着百度对网站外链的关注度越来越少,外链也变得不是那么重要。很多seoer人员也...
最近我发现自己的几个网站site网站首页不在第一,于是上网查了下site网站首页...
网站优化做久了,几乎什么情况都会碰到。当还在菜鸟时期,因为不懂,网站被惩罚在所难...
对于中小企业网站来说,网站的导航结构是网站用户浏览网页核心最重要的部分,其主要的...
  关于修改网站TDK会不会导致网站降权的问题,很多站长朋友也是众说纷纭。为了验...
  关于修改网站TDK会不会导致网站降权的问题,很多站长朋友也是众说纷纭。为了验...
  关于修改网站TDK会不会导致网站降权的问题,很多站长朋友也是众说纷纭。为了验...【入门】求帮忙看看这个简单的程序如何错的。 - C++当前位置:& &&&【入门】求帮忙看看这个简单的程序如何错的。【入门】求帮忙看看这个简单的程序如何错的。&&网友分享于:&&浏览:0次【入门求助】求帮忙看看这个简单的程序怎么错的。。。编程小白QAQ
刚自学C++什么都不懂,希望有好心人随手帮忙指点一下。。。这么简单的程序哪出错了,怎么就错了QAQ请勿嘲实在没人帮助。。
#include&iostream.h&
class&Date
int&day,month,
&&&&int&main()
&&&&Date&d;
d.year=2000;
d.month=12;
&&&&cout&&d.day&&"/"&&d.month&&"/"&&d.year&&
&&&&return&0;
}------解决思路----------------------class成员默认为private类型,无法使用如你所示的赋值。要完成你的功能,直接将struct代替class即可。由于使用了输出流cout,应该使用命名空间&namespace。正确程序如下:
#&include&&iostream&
using&namespace&
struct&Date
int&day,month,
&&&&int&main()
&&&&Date&d;
&&&d.year=2000;
&&&d.month=12;
&&&d.day=6;
&&&&cout&&d.day&&"/"&&d.month&&"/"&&d.year&&
&&&&return&0;
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 1234567891011 Copyright & &&版权所有【提问】c++初学 求帮看看那错了 找了几遍没找到!【编程吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:190,069贴子:
【提问】c++初学 求帮看看那错了 找了几遍没找到!收藏
#include&stdio.h&void main(){//你的年龄//你的身高char name[50];//你的名字char ah[50];//你的爱好char xb[50];//你的性别char cs[50];//你所在的城市char mz[50];//你的民族char mmname[50];//你的妈妈叫什么pirntf(&你的年龄是\n&);scanf(& %d&,&age);printf(&你的身高是\n&);scanf(& %f&,&high);printf(&你的名字是\n&);scanf(& %s&,name);printf(&你的爱好是\n&);scanf(& %s&,ah);printf(&你的性别是\n&);scanf(& %s&,xb);printf(&你生活的城市是\n&);scanf(& %s&,cs);printf(&你的民族\n&);scanf(& %s&,mz);printf(&你的妈妈叫\n&);scanf(& %s&,mmname);printf(&年龄:%d,身高:%.1f,名字:%s,爱好:%s,性别:%s,城市:%s,民族:%s,妈妈:%s\n&,age,high,name,ah,xb,cs,mz,mmname);}
深圳艾斯普偌电子代理各品牌编程器,是编程器行业的领先供应商,本司提供所有的编程器100%正品,交货速度快,欢迎来电咨询,咨询热线:
nane前也要加&后面也一样
明明是c初学……
scanf输入的时候都要加&
#include&stdio.h&void main(){//你的年龄//你的身高char name[50];//你的名字char ah[50];//你的爱好char xb[50];//你的性别char cs[50];//你所在的城市char mz[50];//你的民族char mmname[50];//你的妈妈叫什么pirntf(&你的年龄是\n&);scanf(& %d&,&age);printf(&你的身高是\n&);scanf(& %f&,&high);printf(&你的名字是\n&);scanf(& %s&,&name);printf(&你的爱好是\n&);scanf(& %s&,&ah);printf(&你的性别是\n&);scanf(& %s&,&xb);printf(&你生活的城市是\n&);scanf(& %s&,&cs);printf(&你的民族\n&);scanf(& %s&,&mz);printf(&你的妈妈叫\n&);scanf(& %s&,&mmname);printf(&年龄:%d,身高:%.1f,名字:%s,爱好:%s,性别:%s,城市:%s,民族:%s,妈妈:%s\n&,age,high,name,ah,xb,cs,mz,mmname);}
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 简单的整数划分问题 的文章

 

随机推荐