华剑缘
一切都在这个过程中获得,将那些目标埋藏于心中
posts - 19,comments - 20,trackbacks - 0

//C++第一次作业,老师试探C语言基础
//输入不多于20是个字符,遇到回车结束输入,并判断个数,字符类型,并反序输出。
//
#include <stdio.h>
   int XiaoXie=0,ShuZi=0,DaXie=0,Other=0;
main(){
   int i,n,m;
   char a[100];
    printf("最多输入20个你想到的字符:\n");
    for(i=0;i<20;i++){
     a[i]=getchar();
     if (a[i]=='\n')
       break;
       m=i+1;             //回车前字符个数
     }
   printf("你输入的字符:\n");
   for(n=0;n<i;n++)
     putchar(a[n]);
     putchar('\n');
     printf("反序:");
   for(n=i-1;n>=0;n--){  //回车时i已经计数,所以'n=i-1'
     putchar(a[n]);

//判断字符类型,个数:
     if (a[n]>='0'&&a[n]<='9')
         ShuZi=ShuZi+1;
     else if(a[n]>='a'&&a[n]<='z')
         XiaoXie=XiaoXie+1;
     else if (a[n]>='A'&&a[n]<='Z')
         DaXie=DaXie+1;
     else Other=Other+1;
     }
     printf("\n你输入了%d个字符",m);
     printf("其中:\n");
       printf("所输入的小写字母个数为:%d\n",XiaoXie);
       printf("所输入的数字个数为:%d\n",ShuZi);
       printf("所输入的大写字母个数为:%d\n",DaXie);
       printf("其他字符的个数为:%d\n",Other);
}


实验2  类与对象
1.实验目的
(1)学习类与对象的定义。
(2)掌握类与对象的使用方法。
(3)学习类和对象的声明。
(4)学习数据成员与成员函数的访问方式。
(5)理解构造函数和析构函数的定义与执行过程。
(6)学会构造函数的重载方法。
2.实验基本要求
(1)可以定义出一个类,并且在程序中创建一个该类的对象。
(2)实现类的定义,建立一个新的类。
(3)体现出构造函数和析构函数的调用。
(4)重载构造函数。
(5)为了提高对相关知识的综合应用能力,编写一个较为复杂的类和对象的应用程序。
3.实验基本步骤
(1) 建立一个源程序文件。
(2)在此文件中建立一个新的类,将新建的类命名为Rect。
class Rect
{
public:
  int Area_int();
  double Area_double();
  Rect(double l,double w);
  Rect(int l,int w);
  virtual ~Rect();
  int nLength;
   int nWidth;
  double dLength;
  double dWidth;
};
(3)向Rect类中添加数据成员及成员函数,并完善成员函数的功能。如设计一个Area_int()函数,计算边长为整型的长方形的面积;设计一个Area_double()函数,计算边长为double型的长方形的面积。
(4)重载构造函数。一种构造函数用整型变量记录长方形的长和宽,另一种构造函数用double型记录。
(5)体现对象的构造和析构过程。例如,在构造函数中用cout<<”I am the constructor!”<<endl;在析构函数中输出cout<<”I am the destructor”<<endl。
(6)在main()函数中定义两个Rect类的对象,一个对象用实例实现(就像定义普通的变量一样),另一个对象用指针实现(利用关键字new,给指针分配内存空间)。并用不同的参数,以调用不同的构造函数体现构造函数的重载。
(7)下面提供一个较为复杂的类与对象的应用,请根据掌握情况进行实验。定义一个类student,管理一个学生的基本信息,包括学生姓名、学号、英语成绩、数学成绩、程序设计语言成绩、平均成绩等数据成员,以及对这些数据成员的操作。
class student
{
private:
  char stu_name[10];
  charstu_no[10];
  float english_score;
  float math_score;
  float program_score;
  float avg_score;
public:
  student();
  void setname(char'newname);
  void setno(charG number);
  char getname();
  char getno();
  void setenglish(float e);
  void setmath(float m);
  void setprogram(float p);
  float getavg();
};
(8)在main()函数中,根据要求动态分配一组学生的基本信息。从键盘输入得到学生的基本信息,并输出到显示器上。
(9)设置一静态成员记录学生人数。
// (10)设计一友元函数,输出学生名单。



//第二次作业1
///////////////////////////////////
////计算机C041 袁建华 044599///////
//////////////////////////////////

#include <iostream.h>
class Rect {
public:
  int Area_int();
  double Area_double();
  Rect();
  Rect (int l,int w);
  Rect (double l,double w);
  virtual ~Rect();
int nLength;
int nWidth;
double dLength;
double dWidth;
};

//计算面积
int Rect::Area_int(){
return nLength*nWidth;
}
double Rect::Area_double(){
return dLength*dWidth;
}

//定义构造函数
Rect::Rect(int l,int w){
   nLength=l;
   nWidth=w;
   cout<<"I am the constructor!"<<endl;
}
Rect::Rect(double l,double w){
   dLength=l;
   dWidth=w;
   cout<<"I am the constructor!"<<endl;
}
Rect::~Rect(){
cout<<"I am the destructor"<<endl;
}


void main(){
 Rect A1(123,321);
 cout<<"the int Area:"<<A1.Area_int()<<endl;
 Rect *P1=new Rect(0.123,0.321);       //动态创建对象
 cout<<"the double Area:"<<P1->Area_double()<<endl;
}




/////第二次作业2
 //////////////////////////////
 //////////student.cpp/////////
 //////////////////////////////

//1.在main()函数中,根据要求动态分配一组学生的基本信息。从键盘输入得到学生的基本信息,并输出到显示器上。
//2.设置一静态成员记录学生人数。
//3.设计一友元函数,输出学生名单。

#include "iostream"
#include "string"
using namespace std;
class student{
private:
  int i;
  string stu_name;
  string stu_no;
  float english_score;
  float math_score;
  float program_score;
  float avg_score;
public:
student(){
    }
  void setname();
  void setno();
  string getname();
  string getno();
  void setenglish();
  void setmath();
  void setprogram();
  float getavg();

// void friend list_stu(student &);          //声明友元函数

};

//定义友元函数
/*
void list_stu(student &Stu[i]){
  cout>>"Name:">>Stu[i]->stu_name;
  cout>>"Number:">>Stu[i]-stu_no;
}*/

void student::setname(){  //通过一个数组接受学号
 string name;
 cout<<"Name:";
 cin>>name;
 stu_name=name;
}

void student::setno(){    //通过一个数组接受一个学号
 string number;
 cout<<"Number:";
 cin>>number;
 stu_no=number;
}

string student::getname(){   //返回一个名字
 return stu_name;
}

string student::getno(){     //返回学号
 return stu_no;
}

void student::setenglish(){  //输入英语成绩
 float e;
 cout<<"English_score:";
 cin>>e;
 english_score=e;
}

void student::setmath(){       //输入数学成绩
 float m;
 cout<<"Math_score:";
 cin>>m;
 math_score=m;
}
void student::setprogram(){    //输入程序设计程序
 float p;
 cout<<"Program_score:";
 cin>>p;
 cout<<endl;
 program_score=p;
}

float student::getavg(){       //计算三科平均成绩
 avg_score=(english_score+math_score+program_score)/3;
 return avg_score;
}

 

void main(){
 //   int i;
 student *stu=new student();    //动态创建一组
    stu->setname();
    stu->setno();
    stu->setenglish();
    stu->setmath();
    stu->setprogram();
 /* student Stu[10];
for(i=0;i<4;i++){
    cout<<"第"<<i+1<<"个"<<endl;
 Stu[i].setname();
    Stu[i].setno();
    Stu[i].setenglish();
    Stu[i].setmath();
    Stu[i].setprogram();
    }
 */

/*for (i=0;i<10;i++){
   cout<<"第"<<i+1<<"个"<<endl;
 cout<<"Name:"<<Stu[i].getname()<<endl;
    cout<<"Number:"<<Stu[i].getno()<<endl;
   // cout<<Stu[i].getenglish();
   // cout<<Stu[i].getmath();
   // cout<<Stu[i].getprogram();
 */

}

//list_stu(Stu[1]);


 

posted on 2006-04-03 13:02 华剑缘 阅读(410) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理