⑴ 請用c語言控制台程序寫一個程序
#include<stdio.h>
typedefstructpoint{
intx;
inty;
}quadrangle;
intmain(intargc,charconst*argv[])
{
quadranglefour[4];
inti,j,tmpx,tmpy;
for(i=0;i<4;i++)
{
printf("輸入第%d個點,每個點由x軸,y軸坐標表示如:125 ",i+1);
scanf("%d%d",&four[i].x,&four[i].y);
}
for(i=0;i<4;i++)
{
tmpx=four[i].x;
tmpy=four[i].y;
for(j=i+1;j<4;j++)
{
if(four[j].x<tmpx)
{
four[i].x=four[j].x;
four[i].y=four[j].y;
four[j].x=tmpx;
four[j].y=tmpy;
tmpx=four[i].x;
tmpy=four[i].y;
}
}
}
inta[2],b[2],c[2],d[2];
if(four[0].y>four[1].y)
{
a[0]=four[1].x;
a[1]=four[1].y;
d[0]=four[0].x;
d[1]=four[0].y;
}
else{
a[0]=four[0].x;
a[1]=four[0].y;
d[0]=four[1].x;
d[1]=four[1].y;
}
if(four[2].y>four[3].y)
{
b[0]=four[3].x;
b[1]=four[3].y;
c[0]=four[2].x;
c[1]=four[2].y;
}
else
{
b[0]=four[2].x;
b[1]=four[2].y;
c[0]=four[3].x;
c[1]=four[3].y;
}
printf("a(%d,%d)b(%d,%d)c(%d,%d)d(%d,%d) ",
a[0],a[1],b[0],b[1],c[0],c[1],d[0],d[1]);
return0;
}
⑵ c語言是不是只能寫控制台啊
我來給你解釋下吧:
C語言是很底層的東西。它能夠用來寫圖形化界面,但是需要使用單獨的圖形庫,因為關於圖形的部分不是C語言標准里的東西。
Windows環境下的話,用C寫圖形化界面就得使用微軟的Windows API。那個學起來很難,用起來也麻煩得很。微軟為了簡化圖形開發,為C++開發者提供了C++編寫的基於Windows API的類庫封裝--MFC(Microsoft Foundation Classes),為C提供了Windows SDK。MFC用起來還能簡化不少,SDK則是依然很復雜。想用C寫Windows系統下的圖形化界面,就得學《Windows程序設計》。
Linux環境下的話,就QT、GTK+之類的。
所以說,Windows環境下用C寫圖形化界面的想法還是放棄吧,太難,外面基本上也沒有哪個公司會做這樣的開發。C本來就不是用來干這個的,主要用於系統應用開發,做底層的。
C++就用MFC,不過也不怎麼好學,開發效率也不高。Java的話得學Swing、AWT,不過Java寫界面也是渣得很。
現在最主流的圖形界面開發都是用的C#。開發圖形界面太簡單了,特別是WPF。開發效率是當前最高的。你幾乎不用學編程就能做界面,界面和編程基本是分離的。(當然動態界面控制是必須要編程實現的)
學完C學C++吧,了解下面向對象編程,然後就學C#,做圖形界面就簡單了。當然你也可以直接跳過C++學C#,只是可能不好接受點。
另外,關於界面,這些界面都是API自己畫出來的,你只需要在代碼里調用就能產生,而不是要你自己去畫。在集成開發環境(比如Visual C++、Visual Studio)里拖拽控制項到界面上實際上也是集成開發環境在自動為你生成調用控制項的代碼。
⑶ C語言只能寫控制台程序
不是。
C語言還可以寫編寫WINDOWS 應用程序。
需要些SDK的知識,windows的實現中基本上都是用的C語言,其各種介面基本上都是原生C語言函數,具體比如SDK用的windows API。
使用純C語言編寫windows程序,工作量將會相當大,下面是一個小例子:
/*
*Thisisasimplewindowsprogram,itdoesnothingbutdrawanellipse.
*WindowsSDK,Win32API,PureC,(NotC++orMFC!!)
*Suxpertatgmaildotcom,2008/8/24
**/
#include<windows.h>
LONGWINAPIWndProc(HWND,UINT,WPARAM,LPARAM);
intAPIENTRYWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,
LPSTRlpszCmdLine,intnCmdShow){
/*TheEntryforwindowsprogram,justlikemain()indos*/
WNDCLASSwc;
HWNDhwnd;
MSGmsg;
wc.style=0;//Classstyle
wc.lpfnWndProc=(WNDPROC)WndProc;//Windowprocereaddress
wc.cbClsExtra=0;//Classextrabytes
wc.cbWndExtra=0;//Windowextrabytes
wc.hInstance=hInstance;//Instancehandle
wc.hIcon=LoadIcon(NULL,IDI_WINLOGO);//Iconhandle
wc.hCursor=LoadCursor(NULL,IDC_ARROW);//Cursorhandle
wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);//Backgroundcolor
wc.lpszMenuName=NULL;//Menuname
wc.lpszClassName="WinSDKtest";//WNDCLASSname
RegisterClass(&wc);
hwnd=CreateWindow(
"WinSDKtest",//WNDCLASSname
"SDKApplication",//Windowtitle
WS_OVERLAPPEDWINDOW,//Windowstyle
CW_USEDEFAULT,//Horizontalposition
CW_USEDEFAULT,//Verticalposition
CW_USEDEFAULT,//Initialwidth
CW_USEDEFAULT,//Initialheight
HWND_DESKTOP,//Handleofparentwindow
NULL,//Menuhandle
hInstance,//Application'sinstancehandle
NULL//Window-creationdata
);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
returnmsg.wParam;
}
LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,
LPARAMlParam)
{
/*...*/
PAINTSTRUCTps;
HDChdc;
switch(message){
caseWM_PAINT:
hdc=BeginPaint(hwnd,&ps);
Ellipse(hdc,0,0,800,600);
//
EndPaint(hwnd,&ps);
break;//Someoneliketowritereturnhere.
caseWM_DESTROY:
PostQuitMessage(0);
break;
default:
returnDefWindowProc(hwnd,message,wParam,lParam);
}
return0;
}
基本過程就是直接調用windows提供的API函數,完成從窗口創建,顯示等界面功能到深層的文件操作,注冊表等甚至windows內核調試等高級功能。
⑷ 什麼是C語言控制台
C語言控制台就是C語言在新建工程時選的一種工程類型,稱為Win32控制台應用程序。
控制台應用程序就是模擬DOS環境下運行的程序。
建立Win32控制台應用程序的過程如下:
新建項目--->Win32--->Win32控制台應用程序
建立完控制台應用程序後,就可以在新建的源文件中輸入C語言程序,經編譯完成後就可以運行在DOS環境中運行(即黑框)。
⑸ C語言 怎麼使控制台窗口大小固定不變
啊是發說的 提供的方法有效,但在VC++6.0中GetConsoleWindow()無法通過編譯
經查詢並添加頭文件、聲明等之後均無法使用
後將GetConsoleWindow()換為FindWindow(), 親測可用
例如:SetWindowLong(FindWindow("ConsoleWindowClass", NULL),GWL_STYLE,GetWindowLong(FindWindow("ConsoleWindowClass", NULL),GWL_STYLE) & ~WS_SIZEBOX & ~WS_MAXIMIZEBOX & ~WS_MINIMIZEBOX);
已經實現隱藏最大化按鈕
FindWindow()也能獲取控制台窗口句柄,內含兩個參數,具體可網路
參考鏈接:網頁鏈接
C語言、VC++6.0編譯
⑹ C語言編寫的怎麼都是命令控制台程序
1、控制台程序是基礎,有基礎了寫圖形界面的程序就很簡單了。學完C++了學windows編程、MFC什麼的,到時候就是圖形界面了。
2、圖形界面需要些SDK的知識,windows的實現中基本上都是用的C語言,其各種介面基本上都是原生C語言函數,具體比如SDK用的windows API。
使用純C語言編寫windows程序,工作量將會相當大,下面是一個小例子:
/*
*Thisisasimplewindowsprogram,itdoesnothingbutdrawanellipse.
*WindowsSDK,Win32API,PureC,(NotC++orMFC!!)
*Suxpertatgmaildotcom,2008/8/24
**/
#include<windows.h>
LONGWINAPIWndProc(HWND,UINT,WPARAM,LPARAM);
intAPIENTRYWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,
LPSTRlpszCmdLine,intnCmdShow){
/*TheEntryforwindowsprogram,justlikemain()indos*/
WNDCLASSwc;
HWNDhwnd;
MSGmsg;
wc.style=0;//Classstyle
wc.lpfnWndProc=(WNDPROC)WndProc;//Windowprocereaddress
wc.cbClsExtra=0;//Classextrabytes
wc.cbWndExtra=0;//Windowextrabytes
wc.hInstance=hInstance;//Instancehandle
wc.hIcon=LoadIcon(NULL,IDI_WINLOGO);//Iconhandle
wc.hCursor=LoadCursor(NULL,IDC_ARROW);//Cursorhandle
wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);//Backgroundcolor
wc.lpszMenuName=NULL;//Menuname
wc.lpszClassName="WinSDKtest";//WNDCLASSname
RegisterClass(&wc);
hwnd=CreateWindow(
"WinSDKtest",//WNDCLASSname
"SDKApplication",//Windowtitle
WS_OVERLAPPEDWINDOW,//Windowstyle
CW_USEDEFAULT,//Horizontalposition
CW_USEDEFAULT,//Verticalposition
CW_USEDEFAULT,//Initialwidth
CW_USEDEFAULT,//Initialheight
HWND_DESKTOP,//Handleofparentwindow
NULL,//Menuhandle
hInstance,//Application'sinstancehandle
NULL//Window-creationdata
);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
returnmsg.wParam;
}
LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,
LPARAMlParam)
{
/*...*/
PAINTSTRUCTps;
HDChdc;
switch(message){
caseWM_PAINT:
hdc=BeginPaint(hwnd,&ps);
Ellipse(hdc,0,0,800,600);
//
EndPaint(hwnd,&ps);
break;//Someoneliketowritereturnhere.
caseWM_DESTROY:
PostQuitMessage(0);
break;
default:
returnDefWindowProc(hwnd,message,wParam,lParam);
}
return0;
}
基本過程就是直接調用windows提供的API函數,完成從窗口創建,顯示等界面功能到深層的文件操作,注冊表等甚至windows內核調試等高級功能。
⑺ C語言學控制台程序有什麼用,或者說控制台程序有什麼意義。
控制台程序是為了兼容DOS程序而設立的,這種程序的執行就好像在一個DOS窗口中執行一樣,沒有自己的界面。主要是幫助你學習最基本的c的語法,c的語法還是蠻重要的,是以後編程的基礎
⑻ 如何用c語言改變控制台的尺寸大小比如尺寸設置為800*600
在運行時候,右擊標題欄,選擇屬性,在出現的對話框裡面就能改