fscanf(fp, \ show_str(temp,\
cout<<\
fclose(fp); // 关闭文件
//将结构数据当成数据块进行读写
if ((fp=fopen(\ //打开d1.dat文件 }
#include
int c;
/* Create an error by writing to standard input. */ putc( 'A', stdin ); if( ferror( stdin ) ) {
cout<<\ cout<<\ exit(1); //结束程序执行 }
//声明结构数组并初始化 int i; student
starr[3]={{101,\};
//显示结构数组 for(i=0;i<3;i++)
show_str(starr[i],\
//将结构数组当成数据块写入文件 fwrite(starr, sizeof(student), 3, fp);
rewind(fp); //恢复读写指针的位置
//按数据块从文件中读取数据赋值给结构数组 student temp_arr[3];
if (!feof(fp)) //使用feof()判断文件尾 fread(temp_arr, sizeof(student),3,fp); for(i=0;i<3;i++)
show_str(temp_arr[i],\
fclose(fp); // 关闭文件 }
#include
//声明变量 char ch; char str[20]; int n; float x;
//用stdin从键盘上输入数据 fprintf(stdout,\
fscanf(stdin,\ fprintf(stdout,\ x \\n\ fscanf(stdin,\ %f\ cout<<\
//输出显示
fprintf(stdout,\ fprintf(stdout,\ cout< { perror( \ clearerr( stdin ); } /* See if read causes an error. */ printf( \ c = getc( stdin ); if( ferror( stdin ) ) { perror( \ clearerr( stdin ); } } #include #include cout<<\ for (int i=0;i<=180;i=i+30) cout< #include //以下是几个简单宏替换预处理指令 #define YES 1 #define PI 3.1415926 #define RAD PI/180 #define MESG \ //以下是主程序 main() { //以下各语句使用了宏替换 cout<<\ if (YES) cout<<\ cout<<\ cout< #include //以下为带参数宏替换的预处理指令 #define PRINT(k) cout<<(k)< int i=3,j=2; //MAX(a,b)宏替换的使用 cout<<\ cout<<\ cout<<\ //PRINT(k)宏替换的使用 21 PRINT(5); PRINT(MAX(7,i*j)); } #include cout<<\#endif #ifdef PI cout<<\ PI=\#endif #ifndef PI cout<<\ PI=\ //此语句不被编译执行 #endif } #include const int MAX=5; //假定栈中最多保存5个数据 //定义名为stack的类,其具有栈功能 class stack { //数据成员 float num[MAX]; //存放栈数据的数组 int top; //指示栈顶位置的变量 public: //成员函数 void init(void) { top=0; } //初始化函数 void push(float x) //入栈函数 { if (top==MAX){ cout<<\ return; }; num[top]=x; top++; } float pop(void) //出栈函数 { top--; if (top<0){ cout<<\ return 0; }; return num[top]; } } //以下是main()函数,其用stack类创建栈对象,并使用了这些对象 main(void) { //声明变量和对象 int i; float x; stack a,b; //声明(创建)栈对象 22 //以下对栈对象初始化 a.init(); b.init(); //以下利用循环和push()成员函数将2,4,6,8,10依次入a栈对象 for (i=1; i<=MAX; i++) a.push(2*i); //以下利用循环和pop()成员函数依次弹出a栈中的数据并显示 for (i=1; i<=MAX; i++) cout< //以下利用循环和push()成员函数将键盘输入的数据依次入b栈 cout<<\ for (i=1; i<=MAX; i++) { cin>>x; b.push(x); } //以下利用循环和pop()成员函数依次弹出b栈中的数据并显示 for (i=1; i<=MAX; i++) cout< #include const int MAX=5; //假定栈中最多保存5个数据 //定义名为stack的具有栈功能的类 class stack { //数据成员 float num[MAX]; //存放栈数据的数组 int top; //指示栈顶位置的变量 public: //成员函数 stack(void) //初始化函数 { top=0; cout<<\ } void push(float x) //入栈函数 { if (top==MAX){ cout<<\ return; }; num[top]=x; top++; } float pop(void) //出栈函数 { top--; if (top<0){ cout<<\ return 0; }; return num[top]; } } //以下是main()函数,其用stack类创建栈对象,并使用了这些对象 main(void) { //声明变量和对象 int i; float x; stack a,b; //声明(创建)栈对象并初始化 //以下利用循环和push()成员函数将2,4,6,8,10依次入a栈 for (i=1; i<=MAX; i++) a.push(2.0*i); //以下利用循环和pop()成员函数依次弹出a栈中的数据并显示 for (i=1; i<=MAX; i++) cout< //以下利用循环和push()成员函数将键盘输入的数据依次入b栈 cout<<\ for (i=1; i<=MAX; i++) { cin>>x; b.push(x); } //以下利用循环和pop()成员函数依次弹出b栈中的数据并显示 for (i=1; i<=MAX; i++) cout< #include const int MAX=5; //假定栈中最多保存5个数据 //定义名为stack的具有栈功能的类 class stack { //数据成员 float num[MAX]; //存放栈数据的数组 int top; //指示栈顶位置的变量 public: //成员函数 stack(char c) //初始化函数 { top=0; cout<<\ } void push(float x) //入栈函数 { if (top==MAX){ cout<<\ return; }; num[top]=x; top++; } 23 float pop(void) //出栈函数 { top--; if (top<0){ cout<<\ return 0; }; return num[top]; } } //以下是main()函数,其用stack类创建栈对象,并使用了这些对象 main(void) { //声明变量和对象 int i; float x; stack a('a'),b('b'); //声明(创建)栈对象并初始化 //以下利用循环和push()成员函数将2,4,6,8,10依次入a栈 for (i=1; i<=MAX; i++) a.push(2.0*i); //以下利用循环和pop()成员函数依次弹出a栈中的数据并显示 for (i=1; i<=MAX; i++) cout< #include //定义一个名为student的类 class student { int num; char *name; float grade; public: //定义构造函数 student(int n,char *p,float g): num(n),name(p),grade(g){} display(void) { cout< student a(1001,\ //创建对象,并初始化 //student c; 错误,没提供参数 a.display(); //显示对象a中的数据 b.display(); //显示对象b中的数据 } #include long minutes; public: //无参数构造函数 timer(void) { minutes =0; }; //字符指针参数的构造函数 timer(char *m) { minutes = atoi(m); }; //整数类型的构造函数 timer(int h, int m) { minutes = 60*h+m ; }; //双精度浮点型构造函数 timer(double h) { minutes = (int) 60*h ; }; long getminutes(void) { return minutes ; }; }; //main()函数的定义 main(void) { //使用double类型的构造函数创建对象 timer start(8.30),finish(17.30); cout<<\ cout< //使用char指针类型的构造函数创建对象 timer start0(\ //创建对象 cout<<\ cout< //使用无参数构造函数和整型构造函数创建对象 timer start1; timer finish1(3,30); cout<<\ cout< return 0; } #include rect(int l=1,int w=1) { length=l; width=w; area=length*width; } void show_rect(char *name) { cout< cout<<\ cout<<\ cout<<\ } }; //测试使用rect类 void main(void) { //用rect类创建对象 rect a; rect b(2); rect c(2,3); //调用对象的函数显示对象中的数据 a.show_rect(\ b.show_rect(\ c.show_rect(\} #include const int MAX=5; //假定栈中最多保存5个数据 //定义名为stack的具有栈功能的类 class stack { //数据成员 double num[MAX]; //存放栈数据的数组 int top; //指示栈顶位置的变量 public: //成员函数 stack(char *name) //构造函数 { top=0; cout<<\ } ~stack(void) //析构函数 { cout << \ //显示信息 } void push(double x) //入栈函数 { if (top==MAX){ cout<<\ return; }; num[top]=x; top++; } double pop(void) //出栈函数 { top--; if (top<0){ cout<<\ return 0; }; return num[top]; } } //以下是main()函数,其用stack类创建栈对象,并使用了这些对象 main(void) { double x; //声明(创建)栈对象并初始化 stack a(\ 24 //以下利用循环和push()成员函数将2,4,6,8,10依次入a栈 for (x=1; x<=MAX; x++) a.push(2.0*x); //以下利用循环和pop()成员函数依次弹出a栈中的数据并 for(i=1;i<=MAX;i++) cout< return 0; 显示 cout<<\ for (int i=1; i<=MAX; i++) cout< //从键盘上为b栈输入数据,并显示 for(i=1;i<=MAX;i++) { cout<>x; b.push(x); } cout<<\ for(i=1;i<=MAX;i++) cout< #include int num[MAX]; int top; public: stack(char *name); //构造函数原型 ~stack(void); //析构函数原型 void push(int n); int pop(void); }; //main()函数测试stack类 main(void) { int i,n; //声明对象 stack a(\ //以下利用循环和push()成员函数将2,4,6,8,10依次入a栈 for (i=1; i<=MAX; i++) a.push(2*i); //以下利用循环和pop()成员函数依次弹出a栈中的数据,并显示 cout<<\ for (i=1; i<=MAX; i++) cout< //从键盘上为b栈输入数据,并显示 for(i=1;i<=MAX;i++) { cout<>n; b.push(n); } cout<<\ } //------------------------- // stack成员函数的定义 //------------------------- //定义构造函数 stack::stack(char *name) { top=0; cout << \} //定义析构函数 stack::~stack(void) { cout << \ //显示信息 } //入栈成员函数 void stack::push(int n) { if (top==MAX){ cout<<\ return; }; num[top]=n; top++; } //出栈成员函数 int stack::pop(void) { top--; if (top<0){ cout<<\ return 0; }; return num[top]; } #include //定义一个全部为public:模式的类 class ex { public: int value; void set(int n) { value=n; } int get(void) { return value; } }; //测试使用ex类 main() { ex a; //创建对象 //以下通过成员函数访问对象数据 a.set(100); 25