c语言程序设计实验报告
一、实验目的:
1、掌握C语言的数据类型和变量的声明。
2、掌握不同类型数据之间赋值的规律。
3、掌握C语言的运算符和表达式的使用。
4、熟悉C程序的编辑、编译、连接和运行的过程。
二、实验内容:
由这两个类派生出新类Teacher_Cadre(教师兼干部)类。要求:
① 在两个基类中都包含姓名、年龄、性别等数据成员。
② 在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务)。在Teacher_Cadre类中还包含数据成员wages(工资)。
③ 对两个基类中的姓名、年龄、性别等数据成员用相同的名字,在引用这些数据成员时,指定作用域。
④ 在类体中声明成员函数,在类外定义成员函数。
⑤ 在派生类Teacher_Carde的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别,然后再用cout语句输出职务和工资。
三、实验步骤:
在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务)。在Teacher_Cadre类中还包含数据成员wages(工资)。
#include <iostream> #include<string> using namespace std; class Teacher { public: Teacher(string n, int a, char s,string t) { name=n; age=a; sex=s; title=t; } void display() { cout<<"name:"<<name<<endl; cout<<"age:"<<age<<endl; cout<<"sex:"<<sex<<endl; cout<<"title:"<<title<<endl; } protected: string name; int age; char sex; string title; };
对两个基类中的姓名、年龄、性别等数据成员用相同的名字,在引用这些数据成员时,指定作用域。
class Cadre { public: Cadre(string n, int a, char s,string p) { name=n; age=a; sex=s; post=p; } void display1() { cout<<"name:"<<name<<endl; cout<<"age:"<<age<<endl; cout<<"sex:"<<sex<<endl; cout<<"post:"<<post<<endl; } protected: string name; int age; char sex; string post; };
在派生类Teacher_Carde的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别,然后再用cout语句输出职务和工资。
class Teacher_Cadre:public Teacher,public Cadre { public: Teacher_Cadre(string n, int a, char s,string t,string p,float w): Teacher(n,a,s,t),Cadre(n,a,s,p),wages(w){} void show() {display(); cout<<"post:"<<post<<endl; cout<<"wages:"<<wages<<endl; } private: float wages; }; int main() { Teacher_Cadre teacher1("zhangsan",21,'n',"professor", "assitant",100); teacher1.show(); return 0; }
运行结果
cin和cout是c++中的标准输入输出流。
一、cin
cin的一般用法:
cin>>变量a>>变量b>>变量c;
cin会自动辨别变量的类型,如a可以是char,b可以是int,c可以是float。
接收字符串时,遇到空格,tab键和换行符都会结束接收。
cin.getline()可以接收空格,cin.getline(char*,int,char),内有三个参数,第一个表示要接收的字符串,第二个表示接收字符个数,第三个表示结束字符。当第三个省略时默认结束字符为'\0'。
二、cout
cout的一般用法:
cout<<表达式1<<表达式2<<表达式3;
如要换行可使用 cout<<endl;语句。
和cin一样,cout会自动检测表达式类型输出。