//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) 编辑 收藏 引用