当前位置:编程学习 > C/C++ >>

关于c++的问题

我以后想学电脑 不知道c++是什么样的谁可以编一段来归我看看

(如果可以的话再说说他是什么一事)

补充:英语不会可以学他吗?

(我英语很烂)

追问:什么意思 可以翻译下吗
答案:#include <iostream>
using namespace std;

int main()
{
 int x,y;
loog:
 cin>>x>>y;
 if (x>y)
 {
  cout<<"Hang zhou"<<endl;
 }
 else
  goto loog;
 return 0;
}//C++

说难不难,说简单也不简单,用心学应该可以学好的

# include<stdio.h>
int main()
{
 int max(int x,int y);
 int a,b,c;
 scanf("%d,%d",&a,&b);
 c=max(a,b);printf("max=%d\n",c);
 return 0;
}
int max(int x,int y)
{
 int z;
 if(x>y)z=x;
 else z=y;
 return(z);
}

上面的是我们大学学习电脑专业的最简单的比较3个数大小的源代码,虽然简单,但是对我这个初学者来说也搞了一个晚上才弄好呢

其实只要你肯学,就没什么学不好的,再说我英语很差的,不过对学习c++应该影响不大吧

我就是上的对口计算机学的c++它其实就是学习编写程序别看着简单其实很难。例如把很多的数据排列或者输出最大值等等只要编写一段程序就能很快实现,其实学好了这个也是很有前途的,电脑不论什么操作都是离不开程序的。

VC++开发中心  http://msdn.microsoft.com/zh-cn/visualc/default.aspx

 

可以,不过会很吃力

 

也做不了深层次的开发,因为最底层的开发都是英文的文档

好学的,其实C++和C差距不大,但是推荐还是先学C

 

void TextPrint_t(HDC hdc, RECT& rc, const WCHAR* lpchText, HFONT hFont, DWORD dwColor /* = 0  */, UINT format /* = DT_NORMAL */ )
{
 using namespace Gdiplus;
 DWORD start=GetTickCount();
 Bitmap* pimage=NULL;
 int width=0;
 int height=0;
 void* pImageBits=NULL;

 pimage=Bitmap::FromFile(L"Textglow.png",TRUE);
 assert(pimage);
 HBITMAP imageBmp=NULL;
 width=pimage->GetWidth();
 height=pimage->GetHeight();

 Rect rect(0,0,width,height);
 BitmapData bmpdata={0};
 pimage->LockBits(&rect,ImageLockMode::ImageLockModeWrite|ImageLockMode::ImageLockModeRead,
  PixelFormat32bppARGB,&bmpdata);
 pImageBits=bmpdata.Scan0;
 
 HDC hMemDC=NULL;
 HBITMAP hMemBmp=NULL;
 void* pBits=NULL;

 BITMAPINFOHEADER bih={0};
 bih.biSize=sizeof(BITMAPINFOHEADER);
 //bih.biWidth=((((int) width * 8) + 31) & ~31) >> 3;
 bih.biWidth=width;
 bih.biHeight=height;
 bih.biPlanes=1;
 bih.biBitCount=(WORD)32;
 bih.biCompression= BI_RGB;

 hMemDC=::CreateCompatibleDC(NULL);
 hMemBmp=::CreateDIBSection(hMemDC,(BITMAPINFO*)&bih,DIB_PAL_COLORS,&pBits,NULL,0);

 int i,j;
 {
  unsigned char* ptr1=NULL;
  unsigned char* ptr2=NULL;
  for (j=0;j<width;j++)
  {
   ptr1=(BYTE*)(&((unsigned int*)pBits)[width*(height-j-1)]);
   ptr2=(BYTE*)pImageBits+j*width*4;
   for (int x=0,xx=0;x<4*width;x+=4,xx+=4)
   {
    ptr1[x+0]=ptr2[xx+2];
    ptr1[x+1]=ptr2[xx+1];
    ptr1[x+2]=ptr2[xx+0];
    ptr1[x+3]=ptr2[xx+3];
   }
  }
 }
 ::DeleteObject(::SelectObject(hMemDC,hMemBmp));
 ///////////////////////

 SIZE dibSize={0};
 dibSize.cx=rc.right-rc.left;
 dibSize.cy=rc.bottom-rc.top;

 BITMAPINFOHEADER bih2={0};
 bih2.biSize=sizeof(BITMAPINFOHEADER);
 //bih2.biWidth=((((int) dibSize.cx * 8) + 31) & ~31) >> 3;
 bih2.biWidth=dibSize.cx;
 bih2.biHeight=dibSize.cy;
 bih2.biPlanes=1;
 bih2.biBitCount=(WORD)32;
 bih2.biCompression= BI_RGB;

 HDC hMemDC2=NULL;
 HBITMAP hMemBmp2=NULL;
 void* pBits2=NULL;
 hMemDC2=CreateCompatibleDC(NULL);
 hMemBmp2=::CreateDIBSection(hMemDC2,(BITMAPINFO*)&bih2,DIB_PAL_COLORS,&pBits2,NULL,0);
 ::DeleteObject(::SelectObject(hMemDC2,hMemBmp2));
 ::BitBlt(hMemDC2,0,0,dibSize.cx,dibSize.cy,hdc,rc.left,rc.top,SRCCOPY);

 ///////////////////////////////  

 BITMAPINFOHEADER bih3={0};
 bih3.biSize=sizeof(BITMAPINFOHEADER);
 //bih3.biWidth=((((int) dibSize.cx * 8) + 31) & ~31) >> 3;
 bih3.biWidth=dibSize.cx;
 bih3.biHeight=dibSize.cy;
 bih3.biPlanes=1;
 bih3.biBitCount=(WORD)32;
 bih3.biCompression= BI_RGB;

 HDC hMemDC3=NULL;
 HBITMAP hMemBmp3=NULL;
 void* pBits3=NULL;
 hMemDC3=CreateCompatibleDC(NULL);
 hMemBmp3=::CreateDIBSection(hMemDC3,(BITMAPINFO*)&bih3,DIB_PAL_COLORS,&pBits3,NULL,0);
 ::DeleteObject(::SelectObject(hMemDC3,hMemBmp3));
 ::DeleteObject(::SelectObject(hMemDC3,hFont));

 ::SetBkMode(hMemDC3,TRANSPARENT);
 int fillcolor=0;
 unsigned char aaa=0;
 ::SetTextColor(hMemDC3,dwColor);
 fillcolor=RGB(255,255,255);
 aaa=255;

 register unsigned int* ptr=NULL;
 for(j=0;j<dibSize.cy;++j)
 {
  ptr = &((unsigned int*)pBits3)[bih3.biWidth*(dibSize.cy-j-1)];
  if(!ptr)break;
  for(i=0;i<dibSize.cx;++i)
  {
   ptr[i] =  fillcolor;
  }
 }

 int textlen=0;
 textlen=wcslen(lpchText);
 RECT txtRect={0,0,dibSize.cx,dibSize.cy};
 ::DrawText(hMemDC3,lpchText,textlen,&txtRect,format);

 BYTE* ptr1=NULL;
 BYTE* ptr2=NULL;
 const BLENDFUNCTION bf = { AC_SRC_OVER, 0,120, AC_SRC_ALPHA };

 for ( j = 2;j < dibSize.cy-2;j++ )
 {
  ptr1 = ( BYTE * )(&((unsigned int*)pBits3)[bih3.biWidth*(dibSize.cy-j-1)]);
  if(!ptr1)break;
  for ( i = 2;i < dibSize.cx-2;i++ )
  {
   if (
    !(
    ptr1[ i * 4 ] == aaa &&
    ptr1[ i * 4 + 1 ] == aaa &&
    ptr1[ i * 4 + 2 ] == aaa
    )
    )
   {
    ::AlphaBlend(hMemDC2,i-5,j-5,width,height,hMemDC,0,0,width,height,bf);
   }
  }
 }

 for ( j = 0;j < dibSize.cy;j++ )
 {
  ptr1 = ( BYTE * )(&((unsigned int*)pBits3)[bih3.biWidth*(dibSize.cy-j-1)]);
  ptr2 = ( BYTE * )(&((unsigned int*)pBits2)[bih2.biWidth*(dibSize.cy-j-1)]);
  if(!ptr1)break;
  if(!ptr2)break;
  for ( i = 0;i < dibSize.cx;i++ )
  {
   if (
    !(
    ptr1[ i * 4 ] == aaa &&
    ptr1[ i * 4 + 1 ] == aaa &&
    ptr1[ i * 4 + 2 ] == aaa
    )
    )
   {
    ptr2[ i * 4 ] = ptr1[ i * 4 ];
    ptr2[ i * 4 + 1 ] = ptr1[ i * 4 + 1 ];
    ptr2[ i * 4 + 2 ] = ptr1[ i * 4 + 2 ];
    ptr2[ i * 4 + 3 ] = 255;
   }
  }
 }

 ::BitBlt(hdc,rc.left,rc.top,dibSize.cx,dibSize.cy,hMemDC2,0,0,SRCCOPY);
 ::DeleteDC(hMemDC);
 ::DeleteDC(hMemDC2);
 ::DeleteDC(hMemDC3);
&nbs

上一个:提高C++水平
下一个:C++是什么?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,