cout奇怪问题,为什么什么都不输出呢?
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
struct Date
{
int dd,mm,yy;
};
struct Book
{
char name[40];
char author[20];
unsigned price;
Date pdate;
};
void showdate (const Date &d);
void changename (Book &b);
void changeauth (Book &b);
void changepric (Book &b);
void showbook (const Book& b);
void main()
{
Book Cpp1 =
{"Object Oriented Programming",
"Bright Tsai",
350,
{6,11,1991}
};
showbook(Cpp1);
changename(Cpp1);
changeauth(Cpp1);
changepric(Cpp1);
showbook(Cpp1);
getch();
}
void showdate (const Date &d)
{
cout <<d.mm<<" /"
<<d.dd<<" /"
<<d.yy;
}
void showbook (const Book &b)
{
cout <<" \n";
cout <<" Book Name :" << b.name<<" \n";
cout <<" The Author :" << b.author<<" \n";
cout <<" The Price :" << b.price <<" \n";
showdate(b.pdate);
cout <<" \n\n";
}
void changename (Book &b)
{
cout<<" Please input the new name of the"
<<" book:";
gets(b.name);
}
void changeauth (Book &b)
{
cout<<" please input hte new author of the"
<<" book:";
gets(b.author);
}
void changepric (Book &b)
{
cout<<" please input the new price of the"
<<" book:";
scanf("%d",&b.price);
}
这是书本上的一个例子,我用vc做编译器,居然没有任何输出
是什么原因,查了一个下午了,没有答案
问题点数:20、回复次数:8Top
1 楼zhenbe(一头栽在C里面)回复于 2003-09-01 20:55:34 得分 2
vc做编译器,选的project类型时什么?console?Top
2 楼iampolaris(北极星)回复于 2003-09-01 21:07:09 得分 0
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
struct Date
{
int dd,mm,yy;
};
struct Book
{
char name[40];
char author[20];
unsigned price;
Date pdate;
};
void showdate (const Date &d);
void changename (Book &b);
void changeauth (Book &b);
void changepric (Book &b);
void showbook (const Book& b);
void main()
{
Book Cpp1 =
{"Object Oriented Programming",
"Bright Tsai",
350,
{6,11,1991}
};
showbook(Cpp1);
changename(Cpp1);
changeauth(Cpp1);
changepric(Cpp1);
showbook(Cpp1);
getch();
}
void showdate (const Date &d)
{
cout <<d.mm<<" /"
<<d.dd<<" /"
<<d.yy;
}
void showbook (const Book &b)
{
cout <<" \n";
cout <<" Book Name :" << b.name <<" \n";
cout <<" The Author :" << b.author <<" \n";
cout <<" The Price :" << b.price <<" \n";
showdate(b.pdate);
cout <<" \n\n";
}
void changename (Book &b)
{
cout<<" Please input the new name of the"
<<" book:";
cin >> b.name; //----------------------输入问题
gets(b.name);
}
void changeauth (Book &b)
{
cout<<" please input hte new author of the"
<<" book:";
gets(b.author);
}
void changepric (Book &b)
{
cout<<" please input the new price of the"
<<" book:";
cin >> b.price;
}
Top
3 楼iampolaris(北极星)回复于 2003-09-01 21:08:17 得分 2
我也没仔细改 下面的你再自己看看!
Top
4 楼miter()回复于 2003-09-01 21:16:49 得分 2
楼主看的什么书啊,肯定是中国写的。
把#include <iostream.h>
改成#include <iostream>
using namespace std;
这是C++标准化之后的用法。
建议楼主不要看这种书了,看就是大师写的c++的经典书,如
c++ primer,the c++ programming language,effective and more effective c++
inside c++ object model等,虽然说不敢说国内写的都是垃圾,但觉得看了确实浪费时间Top
5 楼xiao_potato(小土豆)回复于 2003-09-01 21:42:36 得分 0
vc做编译器,如何选project的类型
其余办法都用过了,问题依旧Top
6 楼catface(峰)回复于 2003-09-01 23:06:11 得分 2
TO miter()
太过绝对了
毕竟那些书籍比较利于启蒙 不同的书对不同的人在不同时期有不同的影响(忽忽 饶口)
Top
7 楼catface(峰)回复于 2003-09-01 23:07:35 得分 2
是在CONSOLE WIZARD下么?
我用BCB和DEC C++都可以通过啊Top
8 楼CslQy(LionHeart)回复于 2003-09-01 23:48:58 得分 10
同意CatFace的说法,不同的人看不同的书,中国的书也有很多好的东西的。
楼主的问题应该是没有在Cout后面加<<endl;,cout的作用是将要显示的内容写到缓冲中,而
endl的作用就是清空缓冲并将它输出到指定设备。Top



