Trang chủLập trìnhSource CodeLập trình Demo ứng dụng Học lập trình trên Graphics C/C++

Lập trình Demo ứng dụng Học lập trình trên Graphics C/C++

DANH SÁCH BÀI VIẾT
Lập trình tỏ tình người yêu trên Graphics C/C++ – I LOVE YOU
Lập trình Demo Ai Là Triệu Phú trên Graphics C/C++
Lập Trình C/C++ Vẽ và Tô Màu Trái Tim bằng Thư Viện Graphics
Lập trình Đồng Hồ Thời Gian & Bấm Giờ Trên Graphics C/C++ 
Lập trình Game Flappy Bird Trên Graphics C/C++
Lập trình Demo ứng dụng Học lập trình trên Graphics C/C++
Lập trình I LOVE YOU trên Graphics C/C++ – Lập trình tỏ tình Crush
Bóng bay lên trời – Lập trình Happy Birthday  trên C/C++
Tỏ tình Crush bằng code C/C++ – I LOVE YOU ngôn ngữ C/C++
Cách tạo menu game trên thư viện Graphics C/C++
Lập trình game Cờ Caro trên C/C++ màn hình Console(Demo Game)
Lập trình ứng dụng giúp bé học toán trên C/C++ màn hình Console
Lập trình game Rắn săn mồi trên C/C++ màn hình Console(Demo Snake)
Xây dựng demo Code Vượt vật cản trên màn hình Console C/C++

Trong loạt bài chia sẻ các demo và Source code, hôm nay mình sẽ chia sẻ code Lập trình Demo ứng dụng Học lập trình trên Graphics C/C++ trên thư viện Graphics C/C++.

Ứng dụng Học lập trình đây tên do mình tự đặt vậy, ứng dụng tương đối đơn giản được mình xây dựng trên Graphics C/C++ với mục địch nghịch code và học thêm là chính, bạn có nhu cầu thăm khảo có thể download code về nhé.

Lập trình Demo ứng dụng Học lập trình trên Graphics C/C++

Video dưới đây là demo mà mình đã xây dựng và sẽ chia sẻ source code trong bài viết hôm nay, bạn xem qua nhé.

Chương trình

Link SourceCode đầy đủ: https://drive.google.com/file/d/11V7M_vEt4Iiw72F3weNI9Rdm-eqInaRn/view

Đây là một chương trình trên thư viện Graphhics C/C++ nên để chạy thì bạn cần cài đặt thư viện Graphics trước đó, nếu như bạn đang vẫn chưa cài đặt thư viện Graphics hoặc chưa biết cách chạy chương trình trên màn hình Grpahics C/C++ thì hãy xem thêm bài viết này: Cài đặt thư viện Graphics trên IDE Dev C++.

Bạn không hiểu được ý nghĩa, cách dùng và tác dụng của các hàm đồ họa sử dụng trong chương trình dưới thì đọc tiếp bài viết này: Một số hàm đồ họa trong thư viện Graphics C/C++.

Dưới đây là mã code chương trình, tuy nhiên để chạy được chương trình này thì bạn cần truy cập theo liên kết trên để tải xuống code. Chương trình sẽ bao gồm cả một số file .txt mình xây dựng sẵn và khi chạy demo sẽ gọi các file này. Khi chạy code bạn cần tạo project ngay tại thư mục chứa các file đó và coppy mã nguồn vào project là chạy được.

#include <graphics.h>
#include <bits/stdc++.h>
using namespace std;
void TextColor(int x)
{
	HANDLE h= GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(h, x);
}
void gotoxy(int x, int y)
{
  static HANDLE h = NULL;  
  if(!h)
    h = GetStdHandle(STD_OUTPUT_HANDLE);
  COORD c = { x, y };  
  SetConsoleCursorPosition(h,c);
}
void resizeConsole(int width, int height)
{
	HWND console = GetConsoleWindow();
	RECT r;
	GetWindowRect(console, &r);
	MoveWindow(console, r.left, r.top, width, height, TRUE);
};
struct Sinhvien{
	char ten[30],que[30];
	int namsinh;
};
struct CaSi{
	char ten[30],nhom[30];
	int namsinh;
};

struct Toado{
	int x,y;
};
class HePhuongTrinh{
	private:
		int a1,b1,c1,a2,b2,c2;
	public:
		void get()
		{
			cout<<(char)180<<"a1.x + b1.y = c1"<<endl;
			cout<<(char)180<<"a2.x + b2.y = c2\n\n";
			cout<<"Nhap lan luot cac he so: "; cin>>a1>>b1>>c1>>a2>>b2>>c2;
		}
		void put()
		{
			cout<<"\n\nHe ban nhap:\n";
			cout<<(char)180<<a1<<".x + "<<b1<<".y = "<<c1<<endl;
			cout<<(char)180<<a2<<".x + "<<b2<<".y = "<<c2<<endl;
		}
		void Nghiem()
		{
			float d,dx,dy;
			d=(float)a1*b2-a2*b1;
			dy=(float)a1*c2-c1*a2;
			dx=(float)c1*b2-b1*c2;
			if(d)
			cout<<"\n\nPhuong trinh co 1 nghiem (x , y) = ("<<round((dx/d)*100)/100<<" , "<<round((dy/d)*100)/100<<")";
			else if(dx||dy) cout<<"\n\nPhuong trinh vo nghiem";
			else cout<<"\n\nPhuong trinh co vo so nghiem";
		}
};
class PhuongTrinhBac2{
	private:
		float a,b,c;
	public:
		void get()
		{
			cout<<" a.X"<<(char)253<<" + b.X + c = 0";
			cout<<"\n\nNhap he so a: "; cin>>a;
			cout<<"Nhap he so b: "; cin>>b;
			cout<<"Nhap he so c: "; cin>>c;
		}
		void put()
		{
			cout<<"\n\nPhuong trinh: "<<a<<".X"<<(char)253<<" + "<<b<<".X + "<<c<<" = 0\n\n";
		}
		void Nghiem()
		{
			if(a<0) cout<<"Phuong trinh co 1 nghiem: "<<-c/b;
			else{
				float del = (b*b)-(4*a*c);
				if(del>0) del=sqrt(del);
				if(del<0) cout<<"Phuong trinh vo nghiem";
				else if(del==0) cout<<"Phuong trinh co ngiem duy nhat: "<<-b/(2*a);
				else if(del>0)
				{
					cout<<"Phuong trinh co 2 nghiem phan biet X1 = "<<(-b+del)/(2*a)<<endl;
					cout<<"                                   X2 = "<<(-b-del)/(2*a);
				}
			}
		}
};


int menu=0,x,y, baitoan=1,ld=0; //bien toan cuc
int OPP=0,BTCB=0,BTST=0,DMG=0;
void GiaoDien();
void Menu();
void Thanhmenu();
void BaiTapCoBan();
void BaitapStruct();
void LaptrinhOPP();
void DemoGame();
void resettable();
void readfile(char *file, int tdy);
void support(int s1, int s2);
void Rectangle();
void triangular();
void CacMangConTangDan();
void structSinhvien();
void structCaSi();
void GameSnake();

//Ham chinh ne :D:D
int main()
{
	initwindow(1358,714);
	GiaoDien();
	setcolor(12); setbkcolor(7);
	settextstyle(4,0,7);
	outtextxy(330,180,"Bug khong phai la loi");
	settextstyle(4,0,7); outtextxy(400,270,"Do la tinh nang!!!");
	BaiTapCoBan();
return 0;
}
//Ham giao dien ngoai
void GiaoDien()
{
	setfillstyle(1,7); bar(0,0,1458,750); //bang ghi
	setfillstyle(1,8); bar(0,0,250,750); 
	setcolor(15);
	setlinestyle(1,0,5); line(0,40,150,40);
	setcolor(2);
	setlinestyle(1,0,5); line(250,0,250,750);
	setbkcolor(8);
//	setcolor(15); settextstyle(4,0,2); outtextxy(5,650,"<<Back | Next>>");
	setcolor(12); settextstyle(2,0,5); outtextxy(55,685,"@.Copyright Tanchan679");
} 
//Reset Bnag ghi
void resettable()
{
	setfillstyle(1,7); bar(253,0,1458,750);
}
//Ham nut menu
void Menu()
{
	//Bat vi tri chuot nut MENU
	 setbkcolor(8);
	 if (ismouseclick(WM_MOUSEMOVE))
            getmouseclick(WM_MOUSEMOVE, x, y);
            if(x<140&&y<40)
            {
            		setcolor(12); setbkcolor(8);  settextstyle(4,0,2); outtextxy(40,13,"MENU");
            		 setlinestyle(2,0,3); line(10,16,30,16); line(10,23,30,23);  line(10,30,30,30); 
			}
			else{
					setcolor(3);setbkcolor(8);settextstyle(4,0,2); outtextxy(40,13,"MENU");
					 setlinestyle(2,0,3); line(10,16,30,16); line(10,23,30,23);  line(10,30,30,30); 
			}
	//Bat su kien click chuot nut menu
	if (ismouseclick(WM_LBUTTONDBLCLK)){
            getmouseclick(WM_LBUTTONDBLCLK, x, y);
            if(x<140&&y<40 &&menu==0)
            {
            	menu=1; Thanhmenu();
			}
			else if(x<140&&y<40 &&menu==1)
            {
            	GiaoDien(); 
				if(baitoan==1) BaiTapCoBan();
				else if(baitoan==2) BaitapStruct();
            	else if(baitoan==3) LaptrinhOPP(); 
            	else if(baitoan==4) DemoGame(); 
				menu=0;
			}
        }
}
//Ham bang menu
void Thanhmenu()
{
	int y=40;
	setfillstyle(1,15);
	setcolor(12); setlinestyle(0,0,2);
	//Thanh cuon menu
	while(y<500)
	{
		bar(30,40,340,y); 
		 line(30,40,30,y); line(340,40,340,y); line(30,y,340,y); 
		 y+=15;
		delay(30);
	}
	//Menu bai tap
		setcolor(2); setbkcolor(15);
		settextstyle(1,0,1); outtextxy(55,45,"Cac bai tap co ban");
		settextstyle(1,0,1); outtextxy(55,70,"Bai tap ve Struct");
	 	settextstyle(1,0,1); outtextxy(55,95,"Bai tap OPP");
	 	settextstyle(1,0,1); outtextxy(55,120,"Demo Game");
	 	//Cac dau cham truoc danh sach menu
	 	setfillstyle(1,15); setcolor(0); 	fillellipse(45,55,5,5);
	 	fillellipse(45,80,5,5);	 fillellipse(45,105,5,5);	 fillellipse(45,130,5,5);
	//	 fillellipse(45,155,5,5);		fillellipse(45,180,5,5);
		//Bat vi tri con tro va click chuot trong thanh cuon menu
	 	if(menu==1)
	 	{
	 		int s1=45,s2=-20;
	 		while(menu==1)
	 		{
	 			//Bat di chuyen chuot
	 			 if (ismouseclick(WM_MOUSEMOVE))
        	    getmouseclick(WM_MOUSEMOVE, x, y);
          	  if(y>45&&y<70&&x>35&&x<320)
           	 {
           	 	s1=45;
           		 setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);			s2=55;	
				setfillstyle(1,12);   fillellipse(s1,s2,6,6);
				}
				else if (y>70&&y<95&&x>35&&x<320){ 
				  setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);		s2=80;	
				  	setfillstyle(1,12);  fillellipse(s1,s2,6,6);
				}
				else if (y>95&&y<120&&x>35&&x<320){ 
				 	setfillstyle(1,15); setcolor(0); fillellipse(s1,s2,5,5);		s2=105;	
					 	setfillstyle(1,12);  fillellipse(s1,s2,6,6);
				}
				else if (y>120&&y<145&&x>35&&x<320){ 
				  setfillstyle(1,15);setcolor(0); 	fillellipse(s1,s2,5,5);		s2=130;	
				   	setfillstyle(1,12); fillellipse(s1,s2,6,6);
				}
			/*	else if (y>145&&y<170&&x>35&&x<320){ 
				  setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);		s2=155; 
				  	setfillstyle(1,12); fillellipse(s1,s2,6,6);
				} 
					else if (y>170&&y<195&&x>35&&x<320){ 
				  setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);		s2=180; 
				  	setfillstyle(1,12); fillellipse(s1,s2,6,6);
				} */
				else{
					 setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);
				}
				//Bat chuot click
				if (ismouseclick(WM_LBUTTONDBLCLK)){
        	   	 getmouseclick(WM_LBUTTONDBLCLK, x, y);
        	    	 if(y>45&&y<70&&x>35&&x<320)
        	    	 {
        	    	 	GiaoDien();	BaiTapCoBan(); menu=0;
					 }
					else if (y>70&&y<95&&x>35&&x<320) 
					{
						GiaoDien();BaitapStruct(); menu=0;
					}
					else if (y>95&&y<120&&x>35&&x<320)
					{
						GiaoDien();	LaptrinhOPP(); menu=0;
					}
					else if (y>120&&y<145&&x>35&&x<320)
					{
							GiaoDien();	 DemoGame();   menu=0;
					}
					else if(x<140&&y<40 &&menu==1)
          			  {
           	 				GiaoDien(); menu=0;
           	 				if(baitoan==1) BaiTapCoBan();
            				else if(baitoan==2) BaitapStruct();
            				else if(baitoan==3) LaptrinhOPP();
            				else if(baitoan==4) DemoGame(); 
					}
      			  }
      			  delay(100);
				 }	 
		 }
}
//ham doc du lieu file
void readfile(char *file, int tdy)
{
	   int x=300,y=tdy;
       FILE *p = fopen(file,"rt");
       char a[1500];
       setcolor(0); settextstyle(2,0,5);
       if(p!=NULL) {
      	 	while(!feof(p))
    	   {
      	 	fgets(a,1500,p);
    	   	outtextxy(x,tdy,a);	tdy+=13;
    	   	if(tdy > 600) {x=840; tdy=y;}
			}
		    setcolor(15); if(x==840) line(790,10,790,600); //Duong phan doi
			setcolor(2);outtextxy(x,tdy+10,"Code duoc luu tai file ");
			outtextxy(x+113,tdy+10,file);
			setcolor(4); settextstyle(9,0,1);  outtextxy(1050,683,"~~Code by Tanchan679~~");
			setfillstyle(1,6); setcolor(6); bar(730,630,850,680); //Nut run now
			setcolor(6); settextstyle(2,0,5); rectangle(730,630,850,680);
			setcolor(15); settextstyle(6,0,2); setbkcolor(6); outtextxy(734,645,"Run Now");
	   }
		else {setcolor(12); settextstyle(4,0,7); outtextxy(450,270,"LOI DOC FILE!!!");}
		fclose(p);
}
void readtext(char *file, int tdy)
{
	   int x=300,y=tdy;
       FILE *p = fopen(file,"rt");
       char a[1500];
       setcolor(0); settextstyle(2,0,5);
       if(p!=NULL) {
      	 	while(!feof(p))
    	   {
      	 	fgets(a,1500,p);
    	   	outtextxy(x,tdy,a);	tdy+=13;
    	   	if(tdy > 600) {x=840; tdy=y;}
			}
		    setcolor(15); if(x==840) line(790,10,790,600); //Duong phan doi
			setcolor(2);outtextxy(x,tdy+10,"Code duoc luu tai file ");
			outtextxy(x+113,tdy+10,file);
			setcolor(4); settextstyle(9,0,1);  outtextxy(1100,683,"~~by Tanchan679~~");
	   }
		else {setcolor(12); settextstyle(4,0,7); outtextxy(450,270,"LOI DOC FILE!!!");}
		fclose(p);
}
void readpictures(char *file, int tdy)
{
	int x=300;
       FILE *p = fopen(file,"rt");
       char a[1500];
       setcolor(1);
       if(p!=NULL)
       {
	       	while(!feof(p))
	       {
	       	fgets(a,1500,p);
	       	outtextxy(x,tdy,a);	tdy+=13;
	       	if(tdy > 600) x=850;
			}
	   }
	   else { setcolor(12); settextstyle(4,0,1); outtextxy(x,tdy+20,"Loi doc file hinh anh mau!!!");}
	   fclose(p);
}
//Ham in nut Menu va runnow trong chuong trinh con
void support(int s1, int s2, int bienHam)
{
				 if(x>730&&x<850&&y>630&&y<680 && bienHam!=0)
				{
					setfillstyle(1,1); bar(730,630,850,680); //Nut run now
					setcolor(1); settextstyle(2,0,5); rectangle(730,630,850,680);
					setcolor(15); settextstyle(6,0,2); setbkcolor(1); outtextxy(734,645,"Run Now");
				}
				 if(x<140&&y<40)
				{
					setcolor(12); setbkcolor(8); settextstyle(4,0,2); outtextxy(40,13,"MENU");
					setlinestyle(2,0,3); line(10,16,30,16); line(10,23,30,23);  line(10,30,30,30); 
					setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);
				}
}
//Ham goi thuc thi cac chuong trinh co ban
void BaiTapCoBan()
{
	BTCB=0;
    if(ld==1) GiaoDien(); ld=1; Menu();
	baitoan = 1;  setbkcolor(8);
	setcolor(13); settextstyle(1,0,1); outtextxy(5,60,"Cac bai tap co ban");
	setcolor(10);settextstyle(3,0,1); 
	outtextxy(40,85,"Ve hinh chu nhat");
    outtextxy(40,110,"Ve hinh tam giac");
	outtextxy(40,135,"Mang con tang dan");
	int s1=25,s2=95;
	setfillstyle(1,15); setcolor(0); 	fillellipse(s1,95,5,5);fillellipse(s1,120,5,5);
	fillellipse(s1,145,5,5);
	while(1)
	{
		//lay vi tri con tro trong ham Bai Toan co ban
		if (ismouseclick(WM_MOUSEMOVE))
        	  {
        	   	getmouseclick(WM_MOUSEMOVE, x, y);
        	   	support(s1,s2, BTCB); //Ham goi Phat hien nut Run Now va Menu
				if (y>85&&y<110&&x>0&&x<200){ 
				  setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);		s2=95;	
				  	setfillstyle(1,12);  fillellipse(s1,s2,6,6);
				}
				else if (y>110&&y<135&&x>0&&x<200)
				{ 
				  setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);		s2=120;	
				  	setfillstyle(1,12);  fillellipse(s1,s2,6,6);
				}
				else if (y>135&&y<160&&x>0&&x<200)
				{ 
				  setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);		s2=145;	
				  	setfillstyle(1,12);  fillellipse(s1,s2,6,6);
				}
				else if(x<140&&y<40)
				{
					setcolor(12);setbkcolor(8);  settextstyle(4,0,2); outtextxy(40,13,"MENU");
					setlinestyle(2,0,3); line(10,16,30,16); line(10,23,30,23);  line(10,30,30,30); 
					setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);
				}
				 else if(x>730&&x<850&&y>630&&y<680 && BTCB!=0)
				{
					setfillstyle(1,1); bar(730,630,850,680); //Nut run now
					setcolor(1); settextstyle(2,0,5); rectangle(730,630,850,680);
					setcolor(15); settextstyle(6,0,2); setbkcolor(1); outtextxy(734,645,"Run Now");
				}
				else 
				 {
					setcolor(3);setbkcolor(8); settextstyle(4,0,2); outtextxy(40,13,"MENU");
					  setlinestyle(2,0,3); line(10,16,30,16); line(10,23,30,23);  line(10,30,30,30); 
					   setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);
				    if(BTCB!=0)
				    {
				    	setfillstyle(1,6); setcolor(6); bar(730,630,850,680); 
						setcolor(6); settextstyle(2,0,5); rectangle(730,630,850,680);
						setcolor(15); settextstyle(6,0,2); setbkcolor(6); 
			 			outtextxy(734,645,"Run Now"); 
					}
				}
			}
			//Bat su kien click chuot	
		if (ismouseclick(WM_LBUTTONDBLCLK))
			{
          	 getmouseclick(WM_LBUTTONDBLCLK, x, y);
          	 //De bai trong tung chung trinh con
          	 if (y>85&&y<110&&x>0&&x<200)
        	 {
        	 	resettable(); BTCB=1;
        	    setcolor(1); setbkcolor(7);settextstyle(2,0,5);  outtextxy(270,10,"De bai: Ve Hinh Chu Nhat");  
        	    readpictures("FormRectangle.txt",23);
        	   	readfile("Rectangle.txt",90);  //read data file
			 }
			else if(y>110&&y<135&&x>0&&x<200) 
			{
				resettable(); BTCB=2;
        	    setcolor(1); setbkcolor(7);settextstyle(2,0,5);  outtextxy(270,10,"De bai: Ve Hinh Tam Giac");  
        	    readpictures("triangularform.txt",23);
        	   	readfile("triangular.txt",90); //read data file
			}
			else if (y>135&&y<160&&x>0&&x<200)
			{
				resettable(); BTCB=3;
        	    setcolor(1); setbkcolor(7);settextstyle(2,0,5);  
				outtextxy(270,10,"De bai: Nhap vao 1 mang co n phan tu, tach cac mang con co trong no");  
        	   	readfile("CacMangConTangDan.txt",45); //read data file
			}
			//Nut thuc thi chuong trinh
			else if(x>730&&x<850&&y>630&&y<680 && BTCB!=0)
			{
				//Bang thong bao
				setfillstyle(1,2); bar(500,245,1075,333);
				setcolor(6); setbkcolor(2); settextstyle(4,0,2);
				outtextxy(525,260,"THE PROGRAM RUNNING ON THE");
				outtextxy(620,285," CONSOLE SCREEN!!!");
				setcolor(14); settextstyle(3,0,1);
				outtextxy(530,308,"(Mouse is disabled until the program in  Console  is complete)");      
				delay(500);
				//	Cac ham goi thuc thi chuong trinh con
				system("cls");
				if(BTCB==1)
				{
					Rectangle();
					TextColor(12); cout<<"\n\n            CHUONG TRINH HOAN TAT!! QUAY LAI MAN HINH CHINH!!!"; TextColor(15);
				}
				else if(BTCB==2)
				{
					triangular();
					TextColor(12); cout<<"\n\n            CHUONG TRINH HOAN TAT!! QUAY LAI MAN HINH CHINH!!!"; TextColor(15);
				}
				else if(BTCB==3)
				{
					CacMangConTangDan();
					TextColor(12); cout<<"\n\n            CHUONG TRINH HOAN TAT!! QUAY LAI MAN HINH CHINH!!!"; TextColor(15);
				}
				//Bang thong bao
				setfillstyle(1,2);  bar(500,245,1075,333);
				setcolor(6); setbkcolor(2); settextstyle(4,0,4);
				outtextxy(600,273,"RUN COMPLETE");
			}
			else if(x<140&&y<40)
          	{
          			menu=1; Thanhmenu();
			 }
          	}
	 delay(100);
	}
}
//Ham goi thuc thi cac chuong trinh ve Struct
void BaitapStruct()
{
	BTST=0;
	GiaoDien();	Menu();
	baitoan = 2; setbkcolor(8);
	setcolor(13); settextstyle(1,0,1); outtextxy(5,60,"Bai tap ve Struct");
	setcolor(10); settextstyle(3,0,1); outtextxy(40,85,"Quan ly Sinh vien");
	setcolor(10); settextstyle(3,0,1); outtextxy(40,110,"Quan ly Ca si");
	int s1=25,s2=95;
	setfillstyle(1,15); setcolor(0); 	fillellipse(s1,95,5,5);	fillellipse(s1,120,5,5);
		while(1)
	{
		//lay vi tri con tro trong ham Bai Toan co ban
		if (ismouseclick(WM_MOUSEMOVE))
        	  {
        	   	getmouseclick(WM_MOUSEMOVE, x, y);
        	   	support(s1,s2, BTST); //Ham goi Phat hien nut Run Now va Menu
				if (y>85&&y<110&&x>0&&x<200){ 
				  setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);		s2=95;	
				  	setfillstyle(1,12);  fillellipse(s1,s2,6,6);
				}
				else if (y>110&&y<135&&x>0&&x<200)
				{ 
				  setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);		s2=120;	
				  	setfillstyle(1,12);  fillellipse(s1,s2,6,6);
				}
				else if(x<140&&y<40)
				{
					setcolor(12);setbkcolor(8);  settextstyle(4,0,2); outtextxy(40,13,"MENU");
					setlinestyle(2,0,3); line(10,16,30,16); line(10,23,30,23);  line(10,30,30,30); 
					setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);
				}
				 else if(x>730&&x<850&&y>630&&y<680 && BTST!=0)
				{
					setfillstyle(1,1); bar(730,630,850,680); //Nut run now
					setcolor(1); settextstyle(2,0,5); rectangle(730,630,850,680);
					setcolor(15); settextstyle(6,0,2); setbkcolor(1); outtextxy(734,645,"Run Now");
				}
				else 
				 {
					setcolor(3);setbkcolor(8); settextstyle(4,0,2); outtextxy(40,13,"MENU");
					  setlinestyle(2,0,3); line(10,16,30,16); line(10,23,30,23);  line(10,30,30,30); 
					   setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);
					   if(BTST!=0)
					   {
					   	setfillstyle(1,6); setcolor(6); bar(730,630,850,680); 
						setcolor(6); settextstyle(2,0,5); rectangle(730,630,850,680);
						setcolor(15); settextstyle(6,0,2); setbkcolor(6); 
			 			outtextxy(734,645,"Run Now");
					   }
				}
			}
			//Bat su kien click chuot	
		if (ismouseclick(WM_LBUTTONDBLCLK))
			{
          	 getmouseclick(WM_LBUTTONDBLCLK, x, y);
          	 //De bai trong tung chung trinh con
          	 if (y>85&&y<110&&x>0&&x<200)
        	 {
        	 	resettable(); BTST=1;
        	    setcolor(1); setbkcolor(7);settextstyle(2,0,5);  
				outtextxy(270,10,"De bai: Xay dung struct gom cac thuoc tinh ten sinh vien, que quan, nam sinh");
				outtextxy(290,25,"a. Xay dung ham nhap, xuat cho danh sach sinh vien"); 
				outtextxy(290,40,"b. Tim kiem ten Sinh vien duoc nhap tu ban phim"); 
        	   	readfile("structSinhVien.txt",55);  //read data file
			 }
			else if(y>110&&y<135&&x>0&&x<200) 
			{
				resettable(); BTST=2;
        	    setcolor(1); setbkcolor(7);settextstyle(2,0,5);  
				outtextxy(270,10,"De bai: Xay dung struct gom cac thuoc tinh ten Ca Si, Nhom nhac, nam sinh");
				outtextxy(290,25,"a. Xay dung ham nhap, xuat cho danh sach Ca si"); 
				outtextxy(290,40,"b. Sap xep danh sach Ca Si theo ten"); 
        	   	readfile("structCaSi.txt",55);  //read data file
			}
			//Nut thuc thi chuong trinh
			else if(x>730&&x<850&&y>630&&y<680 && BTST!=0)
			{
				//Bang thong bao
				setfillstyle(1,2); bar(500,245,1075,333);
				setcolor(6); setbkcolor(2); settextstyle(4,0,2);
				outtextxy(525,260,"THE PROGRAM RUNNING ON THE");
				outtextxy(620,285," CONSOLE SCREEN!!!");
				setcolor(14); settextstyle(3,0,1);
				outtextxy(530,308,"(Mouse is disabled until the program in  Console  is complete)");      
				delay(500);
				//	Cac ham goi thuc thi chuong trinh con
				system("cls");
				if(BTST==1)
				{
					structSinhvien();
					TextColor(12); cout<<"\n\n            CHUONG TRINH HOAN TAT!! QUAY LAI MAN HINH CHINH!!!"; TextColor(15);
				}
				else if(BTST==2)
				{
					structCaSi();
					TextColor(12);; cout<<"\n\n            CHUONG TRINH HOAN TAT!! QUAY LAI MAN HINH CHINH!!!"; TextColor(15);
				}
				//Bang thong bao
				setfillstyle(1,2);  bar(500,245,1075,333);
				setcolor(6); setbkcolor(2); settextstyle(4,0,4);
				outtextxy(600,273,"RUN COMPLETE");
			}
			else if(x<140&&y<40)
          	{
          			menu=1; Thanhmenu();
			 }
          	}
	 delay(100);
	}
}
//Ham goi thuc thi cac chuong trinh lien quan Huong doi tuong
void LaptrinhOPP()
{
	OPP=0;
	GiaoDien(); Menu();
	baitoan=3;setbkcolor(8);
	setcolor(13); settextstyle(1,0,1); outtextxy(5,60,"Bai tap OPP");
	setcolor(10); settextstyle(3,0,1); 
	outtextxy(40,85,"Giai He Phuong trinh");
	outtextxy(40,110,"Phuong trinh bac 2");
	int s1=25,s2=95;
	setfillstyle(1,15); setcolor(0); 	fillellipse(s1,95,5,5);fillellipse(s1,120,5,5);
	while(1)
	{
		//lay vi tri con tro trong ham Bai Toan co ban
		if (ismouseclick(WM_MOUSEMOVE))
        	  {
        	   	getmouseclick(WM_MOUSEMOVE, x, y);
        	   	support(s1,s2, OPP); //Ham goi Phat hien nut Run Now va Menu
				if (y>85&&y<110&&x>0&&x<200){ 
				  setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);		s2=95;	
				  	setfillstyle(1,12);  fillellipse(s1,s2,6,6);
				}
				else if (y>110&&y<135&&x>0&&x<200)
				{ 
				  setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);		s2=120;	
				  	setfillstyle(1,12);  fillellipse(s1,s2,6,6);
				}
				else if(x<140&&y<40)
				{
					setcolor(12);setbkcolor(8);  settextstyle(4,0,2); outtextxy(40,13,"MENU");
					setlinestyle(2,0,3); line(10,16,30,16); line(10,23,30,23);  line(10,30,30,30); 
					setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);
				}
				 else if(x>730&&x<850&&y>630&&y<680 && OPP!=0)
				{
					setfillstyle(1,1); bar(730,630,850,680); //Nut run now
					setcolor(1); settextstyle(2,0,5); rectangle(730,630,850,680);
					setcolor(15); settextstyle(6,0,2); setbkcolor(1); outtextxy(734,645,"Run Now");
				}
				else 
				 {
					setcolor(3);setbkcolor(8); settextstyle(4,0,2); outtextxy(40,13,"MENU");
					  setlinestyle(2,0,3); line(10,16,30,16); line(10,23,30,23);  line(10,30,30,30); 
					   setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);
					if(OPP!=0)
					   {
					   	setfillstyle(1,6); setcolor(6); bar(730,630,850,680); 
						setcolor(6); settextstyle(2,0,5); rectangle(730,630,850,680);
						setcolor(15); settextstyle(6,0,2); setbkcolor(6); 
					 	outtextxy(734,645,"Run Now"); 
					   }
				}
			}
			//Bat su kien click chuot	
		if (ismouseclick(WM_LBUTTONDBLCLK))
			{
          	 getmouseclick(WM_LBUTTONDBLCLK, x, y);
          	 //De bai trong tung chung trinh con
          	 if (y>85&&y<110&&x>0&&x<200)
        	 {
        	 	resettable(); OPP=1;
        	    setcolor(1); setbkcolor(7);settextstyle(2,0,5);  outtextxy(270,10,"De bai: Giai he phuong trinh"); 
        	    outtextxy(350,23,"a1.x + b1.y = c1");  outtextxy(350,36,"a2.x + b2.y = c2"); 
        	   	readfile("HePhuongTrinh.txt",53);  //read data file
			 }
			else if(y>110&&y<135&&x>0&&x<200) 
			{
				resettable(); OPP=2;
				setcolor(1); setbkcolor(7);settextstyle(2,0,5);  outtextxy(270,10,"De bai: Giai Phuong trinh Bac 2"); 
        	    outtextxy(350,23,"a(x^2).x + b.y +c = 0");
        	    readfile("PhuongTrinhBac2.txt",45);  //read data file
			}
			//Nut thuc thi chuong trinh
			else if(x>730&&x<850&&y>630&&y<680 && OPP!=0)
			{
				//Bang thong bao
				setfillstyle(1,2); bar(500,245,1075,333);
				setcolor(6); setbkcolor(2); settextstyle(4,0,2);
				outtextxy(525,260,"THE PROGRAM RUNNING ON THE");
				outtextxy(620,285," CONSOLE SCREEN!!!");
				setcolor(14); settextstyle(3,0,1);
				outtextxy(530,308,"(Mouse is disabled until the program in  Console  is complete)");      
				delay(500);
				//	Cac ham goi thuc thi chuong trinh con
				system("cls");
				if(OPP==1)
				{
					HePhuongTrinh A;
					A.get(); A.put(); A.Nghiem();
					TextColor(12); cout<<"\n\n            CHUONG TRINH HOAN TAT!! QUAY LAI MAN HINH CHINH!!!"; TextColor(15);
				}
				if(OPP==2)
				{
					PhuongTrinhBac2 A; 
					A.get(); A.put(); A.Nghiem();
					TextColor(12); cout<<"\n\n            CHUONG TRINH HOAN TAT!! QUAY LAI MAN HINH CHINH!!!"; TextColor(15);
				}
				//Bang thong bao
				setfillstyle(1,2); bar(500,245,1075,333);
				setcolor(6); setbkcolor(2); settextstyle(4,0,4);
				outtextxy(600,273,"RUN COMPLETE");
			}
			else if(x<140&&y<40)
          	{
          			menu=1; Thanhmenu();
			 }
          	}
	 delay(100);
	}
}
//Demo mot so game co ban
void DemoGame()
{
	DMG=0;
	GiaoDien(); Menu();
	baitoan=4;setbkcolor(8);
	setcolor(13); settextstyle(1,0,1); outtextxy(5,60,"Demo Game");
	setcolor(10); settextstyle(3,0,1); outtextxy(40,85,"Game Snake");
	int s1=25,s2=95;
	setfillstyle(1,15); setcolor(0); 	fillellipse(s1,95,5,5); //fillellipse(s1,120,5,5);
	while(1)
	{
		//lay vi tri con tro trong ham Bai Toan co ban
		if (ismouseclick(WM_MOUSEMOVE))
        	  {
        	   	getmouseclick(WM_MOUSEMOVE, x, y);
        	   	support(s1,s2, DMG); //Ham goi Phat hien nut Run Now va Menu
				if (y>85&&y<110&&x>0&&x<200){ 
				  setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);		s2=95;	
				  	setfillstyle(1,12);  fillellipse(s1,s2,6,6);
				}
			/*	else if (y>110&&y<135&&x>0&&x<200)
				{ 
				  setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);		s2=120;	
				  	setfillstyle(1,12);  fillellipse(s1,s2,6,6);
				} */
				else if(x<140&&y<40)
				{
					setcolor(12);setbkcolor(8);  settextstyle(4,0,2); outtextxy(40,13,"MENU");
					setlinestyle(2,0,3); line(10,16,30,16); line(10,23,30,23);  line(10,30,30,30); 
					setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);
				}
				else 
				 {
					setcolor(3);setbkcolor(8); settextstyle(4,0,2); outtextxy(40,13,"MENU");
					  setlinestyle(2,0,3); line(10,16,30,16); line(10,23,30,23);  line(10,30,30,30); 
					   setfillstyle(1,15); setcolor(0); 	fillellipse(s1,s2,5,5);
				}
			}
			//Bat su kien click chuot	
		if (ismouseclick(WM_LBUTTONDBLCLK))
			{
          	 getmouseclick(WM_LBUTTONDBLCLK, x, y);
          	 //De bai trong tung chung trinh con
          	 if (y>85&&y<110&&x>0&&x<200)
        	 {
        	 	resettable();
        	    setcolor(1); setbkcolor(7);settextstyle(4,0,1);  outtextxy(270,10,"DEMO GAME SNAKE"); 
        	   	readtext("DemoSnake.txt",35);  //read data file
        	   	setfillstyle(1,4); bar(550,620,1100,670);
        	   	setbkcolor(4);
        	   	setcolor(11); settextstyle(3,0,4); outtextxy(600,626,"!");
        	   	setcolor(10); settextstyle(3,0,2); outtextxy(610,633,"Vi ly do xung dot ham nen khong the chay thu nghiem");
			 }
		/*	else if(y>110&&y<135&&x>0&&x<200) 
			{
				resettable(); OPP=2;
				setcolor(1); setbkcolor(7);settextstyle(2,0,5);  outtextxy(270,10,"De bai: Giai Phuong trinh Bac 2"); 
        	    outtextxy(350,23,"a(x^2).x + b.y +c = 0");
        	    readfile("PhuongTrinhBac2.txt",45);  //read data file
			} */
			//Nut thuc thi chuong trinh
			else if(x>730&&x<850&&y>630&&y<680 && DMG!=0)
			{
				//Bang thong bao
				setfillstyle(1,2); bar(500,245,1075,333);
				setcolor(6); setbkcolor(2); settextstyle(4,0,2);
				outtextxy(525,260,"THE PROGRAM RUNNING ON THE");
				outtextxy(620,285," CONSOLE SCREEN!!!");
				setcolor(14); settextstyle(3,0,1);
				outtextxy(530,308,"(Mouse is disabled until the program in  Console  is complete)");      
				delay(500);
				//	Cac ham goi thuc thi chuong trinh con
				system("cls");
				/*	if(DMG==1)
				{
					GameSnake();
					TextColor(12); cout<<"\n\n            CHUONG TRINH HOAN TAT!! QUAY LAI MAN HINH CHINH!!!"; TextColor(15);
				}
			if(DMG==2)
				{
					PhuongTrinhBac2 A; 
					A.get(); A.put(); A.Nghiem();
					TextColor(12); cout<<"\n\n            CHUONG TRINH HOAN TAT!! QUAY LAI MAN HINH CHINH!!!"; TextColor(15);
				}*/
				//Bang thong bao
				setfillstyle(1,2); bar(500,245,1075,333);
				setcolor(6); setbkcolor(2); settextstyle(4,0,4);
				outtextxy(600,273,"RUN COMPLETE");
			}
			else if(x<140&&y<40)
          	{
          			menu=1; Thanhmenu();
			 }
          	}
	 delay(100);
	}
} 
//CAC HAM CHUONG TRINH CON
///-------------------------------------------------------------------------------------------------
void Rectangle()
{
	int n,m;
	cout<<"Nhap chieu dai: "; cin>>m;
	cout<<"Nhap chieu rong: "; cin>>n;
	cout<<"\n\n";;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			if(i==0||i==n-1||j==0||j==m-1) cout<<"*";
			else cout<<" ";
		}
		cout<<"\n";
	}
}

void triangular()
{
	int n; cout<<"Nhap chieu cao hinh tam giac: "; cin>>n;
	for(int i=0;i<n;i++)
	{
		for(int j=n;j>i;j--) cout<<" ";
		for(int j=0;j<=i;j++) cout<<"* ";
		cout<<"\n";
	}
}
void CacMangConTangDan()
{
	int n;
	printf("Nhap so luong phan tu: ");
	scanf("%d", &n);
	int a[n];
 printf("\n\nNhap cac phan tu mang\n--------------------------\n");
 for(int i =0; i<n; i++)
 {
 	printf("a[%d] = ", i);
 	scanf("%d", &a[i]);
 }	
	for(int i =0; i<n; i++)
	{
		for(int j = i; j<n; j++)
		{
			if(a[i] > a[j])
			{
				int temp = a[i];
				a[i] = a[j];
				a[j] =temp;
			}
		}
	}	
	int dem = 0;
	for(int i = 0; i<n; i++)
	{
		dem = 0;
	  for(int j = i+1; j<n; j++) if(a[i] != a[j]) dem++;
	  if(dem == 0) break;
		if(a[i] == a[i+1])
		{
			a[n] = a[i+1];
			for(int j = i+1; j<=n; j++)
			{
				a[j] = a[j+1];
			} i--;
		}
	}
	if(n>0) dem = 1;
	for(int i =0; i<n-1; i++)
	{
		if(a[i] > a[i+1] || a[i] == a[i+1]) dem++;
	}
	printf("\n\n\n\n- Trong a gom %d day con tang dan", dem);
	int tang = 1;
	for(int i = 0; i<n; i++)
	{
		if(i == 0)
		{
		printf("\n   +Day %d: ", tang);
	  	tang++;
		}
	   printf("% 5d", a[i]);
	  if(a[i] == a[i+1] || a[i] > a[i+1])
	  {
	  	printf("\n   +Day %d: ", tang);
	  	tang++;
	   }	
	}	
}
void structCaSi()
{
	int n; 
	printf("Nhap so luong sinh vien: "); scanf("%d",&n);
	CaSi A[n];
	for(int i=0;i<n;i++)
	{
		printf("Nhap ten: "); fflush(stdin); gets(A[i].ten);
		printf("Nhap nhom nhac: "); fflush(stdin); gets(A[i].nhom);
		printf("Nhap nam sinh: "); scanf("%d", &A[i].namsinh);
		printf("\n\n");
	}
	printf("\n\n\n---------Danh sach ca si------------\n\n");
	for(int i=0;i<n;i++)
	printf("%-30s%-30s%-10d\n",A[i].ten, A[i].nhom, A[i].namsinh);
	printf("\n\n----------Sap xep danh sach ca si teo ten--------------\n");
	for(int i=0;i<n;i++)
	{
		for(int j=i+1;j<n;j++)
		{
			if(stricmp(A[j].ten, A[i].ten) < 0)
			{
				CaSi t=A[i]; A[i]=A[j]; A[j] = t;
			}
		}	
		printf("%-30s%-30s%-10d\n",A[i].ten, A[i].nhom, A[i].namsinh);
	}
}
void structSinhvien()
{
	int n; 
	printf("Nhap so luong sinh vien: "); scanf("%d",&n);
	Sinhvien A[n];
		for(int i=0;i<n;i++)
	{
		printf("Nhap ten: "); fflush(stdin); gets(A[i].ten);
		printf("Nhap que quan: "); fflush(stdin); gets(A[i].que);
		printf("Nhap nam sinh: "); scanf("%d", &A[i].namsinh);
		printf("\n\n");
	}
	printf("\n\n\n---------Danh sach sinh vien-------------\n\n");
	for(int i=0;i<n;i++)
	printf("%-30s%-30s%-10d\n",A[i].ten, A[i].que, A[i].namsinh);
	char a[30];
	printf("\n\n----------Tim kiem Sinh vien theo ten\n");
	printf("Nhap ten can tim kiem: "); fflush(stdin); gets(a);
	printf("\n\n");
	for(int i=0;i<n;i++)
	{
		if(stricmp(a, A[i].ten)==0)
			printf("%-30s%-30s%-10d\n",A[i].ten, A[i].que, A[i].namsinh);
	}
}
XÊM THÊM
Tỏ tình Crush bằng code C/C++ – I LOVE YOU ngôn ngữ C/C++
Lập trình game Cờ Caro trên C/C++ màn hình Console(Demo Game)
Lập trình game Rắn săn mồi trên C/C++ màn hình Console(Demo Snake)
Xây dựng demo Code Vượt vật cản trên màn hình Console C/C++
0 0 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?


0
Giáo sư! có thể ném gạch bên dưới nhé!x
()
x