乱七八糟

#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;

class Point;
class UPoint;
class Handle;



class Point
{
public:
	Point():xval(0),yval(0){}
	Point (int x,int y):xval(x),yval(y){}
	int x()const{return xval;}
	int y()const{return yval;}
	Point & x(int xv){xval=xv;return *this;}
	Point & y(int yv){yval=yv;return *this;}
protected:
private:
	int xval;
	int yval;
};
class UPoint
{
public:
protected:
private:
	friend class Handle;
	Point p;
	int u;

UPoint():u(1){}
UPoint(int x,int y):p(x,y),u(1){}
UPoint(const Point&p0):p(p0),u(1){}
};
class Handle
{
public:
	Handle();
	Handle(int ,int);
	Handle(const Point &);
	Handle(const Handle&);
	Handle &operator=(const Handle&);
	~Handle();

	int x()const;
	int y()const;
	Handle & x(int);
	Handle & y(int);
protected:
private:
	UPoint *up;
};
Handle::Handle():up(new UPoint)
{};
Handle::Handle(int x,int y):up(new UPoint(x,y))
{} ;
Handle::~Handle()
	{
		if (--up==0)
		{
			delete up; 
		}
	};
Handle::Handle(const Handle& h):up(h.up)
	{ 
		++up->u;
	};
Handle& Handle::operator=(const Handle & h)
	{
		++h.up->u;
		if (--up==0)
		{
			delete up;
		}
		up=h.up;
		return *this;
	} ;
int Handle::x()const{return up->p.x();}
int Handle::y()const{return up->p.y();}
Handle & Handle::x(int x0)
	{
	   up->p.x(x0);
	   return *this;
	};
Handle & Handle::y(int y0)
	{
		up->p.y(y0);
		return *this;
	};
//

class Expr_Node;
class Expr;
class Binary_node;
class Unary_node;
class Int_node;

ostream & operator<<(ostream & o,const Expr& t);


class Expr_Node
{
public:	
protected:
	~Expr_Node(){}
	virtual void print(ostream &)const =0;
	virtual int eval()const=0;
	Expr_Node ():use(1){}
private:
	friend ostream & operator<<(ostream & o,const Expr &t);
	friend class Expr;
	int use;
};


class Expr
{
public:
	Expr(int );
	Expr(const string & ,Expr t);
	Expr(const string & ,Expr l,Expr r);
	Expr(Expr &t){ p = t.p; ++p->use; }
	Expr & operator=(const Expr &t);
	~Expr(){
		if (--p->use==0)
		{
			delete p;
		}
	}
	int eval()const{ return p->eval(); }
protected:
private:			 
	friend ostream & operator<<(ostream & ,const Expr&);
	Expr_Node * p;
};

class Int_node:public Expr_Node
{
public:
protected:
private:
	friend class Expr;
	int n;
	Int_node (int k):n(k){}
	void print(ostream & o)const {o<<n;}
	int eval()const{return n;}
};
class Unary_node:public Expr_Node
	{
		 friend class Expr;
		 string op;
		 Expr opnd;
		 Unary_node(const string &a,Expr b):op(a),opnd(b){}
		 void print(ostream & o)const{o<<"("<<op<<opnd<<")";}
		 int eval()const
		 {
			 if (op=="-")
			 {
				 return -opnd.eval();
			 }
			 throw " error ,bad operator  "+ op+" in Unary_node";
		 }
	};
class Binary_node:public Expr_Node 
	{
		friend class Expr;
		string op;
		Expr left;
		Expr right;
		Binary_node (const string &a,Expr  b, Expr  c):op(a),left(b),right(c){}
		void print(ostream & o) const
			{
			     o<<"("<<left<<op<<right<<")";
			}
		int eval()const;
	};

int Binary_node::eval()const
	{
		int op1=left.eval();
		int op2=right.eval();

		if (op=="-"){return op1-op2;}
		if (op=="+"){return op1+op2;}
		if (op=="*"){return op1*op2;}
		if (op=="/"&&op2!=0){return op1/op2;}
		throw " error ,bad operator  "+ op+" in Binary_node";
	} ;

Expr::Expr(int n)
{
	p=new Int_node(n);
}
Expr::Expr(const string  &op,Expr t)
{
	p=new Unary_node(op,t);
}
Expr::Expr(const string & op,Expr left,Expr  right)
{
	p=new Binary_node(op,left,right);
}
Expr & Expr::operator=(const Expr &t)
{
	t.p->use++;
	if (--p->use==0)
	{
		delete p;
	}
	p=t.p;
	return *this;
} ;

ostream & operator<<(ostream & o,const Expr& t)
{
	t.p->print(o);
	return o;
};


///
int main()
	{
		Handle h(10,10);
		for (int i=0;i<10;i++)
		{
			h.x(i);
			h.y(i);
		}
		system("pause");
		Expr t=Expr("*",Expr("-",5),Expr("+",3,4));
		cout<<t<<" = "<<t.eval()<<endl;
		system("pause");
	}

 

C语言查找数组里数字重复次数

#include<stdio.h>
#include <iostream>
int count_number( int* arr_beg, int* arr_end , int num );
using namespace std;
int main()
{
  int myarray[] = {4, 3, 7, 4, 8, 7, 9, 4, 3, 6, 4, 3, 7, 4, 8, 7, 9, 4, 3, 6};
  printf( "输入你想查询的数:" );
  int number = 0;
  cin >> number;
  int count = 0;
  int size = sizeof( myarray ) / sizeof( *myarray );
  for ( int i = 0; i < size; i++ ) {
      if ( number == myarray[i] ) {
          count++;
        }
    }
  if ( count != 0 ) {
      printf( "共出现了 %d  次数字 %d \n", count , number );
    }
  else {
      printf( "一次都没出现!\n" );
    }
  // 使用函数调用查找数字
  count = count_number( myarray, myarray + size , 3 );
  if ( count != 0 ) {
      printf( "共出现了 %d  次数字 %d \n", count , 3 );
    }
  else {
      printf( "一次都没出现!\n" );
    }
  return 0;
}

int count_number( int* arr_beg, int* arr_end , int num )
{
  int count = 0;
  while ( arr_beg != arr_end ) {
      if ( *arr_beg  == num ) {
          count++;
        }
      arr_beg++;
    }
  return count;
}



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
大学生在线租房平台管理系统按照操作主体分为管理员和用户。管理员的功能包括报修管理、报修评价管理、字典管理、房东管理、房屋管理、房屋收藏管理、房屋留言管理、房屋租赁管理、租房论坛管理、公告信息管理、留言板管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 大学生在线租房平台管理系统可以提高大学生在线租房平台信息管理问题的解决效率,优化大学生在线租房平台信息处理流程,保证大学生在线租房平台信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理大学生在线租房平台信息,包括房屋管理,培训管理,报修管理,薪资管理等,可以管理公告。 房屋管理界面,管理员在房屋管理界面中可以对界面中显示,可以对房屋信息的房屋状态进行查看,可以添加新的房屋信息等。报修管理界面,管理员在报修管理界面中查看报修种类信息,报修描述信息,新增报修信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
基于hal库的OLED显示屏驱动C语言实现源码.zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值