Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdio.h>
- #include <iomanip>
- using namespace std;
- const int x=60;
- const int y=20;
- int jum_titik=0,xx,xy;
- int lokasi[6][2];
- char kordinat[y][x];
- char titik[6]={'A','B','C','D','E','F'};
- void isispasi();
- void tampil();
- void menu();
- void tambahtitik(int,int);
- void hapustitik(char);
- void lihatkordinat();
- int cekpos(char);
- int main()
- {
- int x,
- a,
- b;
- char name;
- isispasi();
- do{
- tampil();
- menu();
- cout<<"\npilih :";
- cin>>x;
- switch(x)
- {
- case 1:
- cout<<"masukan x dan y (x,y) : ";
- scanf("%i , %i",&a,&b);
- tambahtitik(a,b);
- break;
- case 2:
- cout<<"masukan nama titik :";
- cin>>name;
- hapustitik(name);
- break;
- case 3:
- isispasi();
- jum_titik=0;
- xx=0;
- xy=0;
- for(int i=0;i<6;i++)
- {
- kordinat[i][0]='\0';
- kordinat[i][1]='\0';
- }
- break;
- case 4:
- lihatkordinat();
- break;
- }
- }
- while(true);
- }
- void isispasi()
- {
- for(int i=0;i<y;i++)
- {
- for(int j=0;j<x;j++)
- {
- kordinat[i][j]=' ';
- }
- }
- }
- void tampil()
- {
- int a=0;
- for(int i=0;i<=y+1;i++)
- {
- if(i<=y){
- for(int j=0;j<x;j++)
- {
- if(j==0)
- {
- cout<<setw(2)<<y-a;
- a++;
- }
- else
- {
- cout<<kordinat[i][j];
- }
- }
- cout<<endl;
- }
- else
- {
- cout<<""<<setw(2)<<0;
- for(int k=0;k<=x/3;k++)
- {
- cout<<""<< setw(3)<<k;
- }
- cout<<endl;
- }
- }
- }
- void menu()
- {
- cout<<endl<<endl;
- cout<<""<<setw(30)<<"TUGAS BESAR"<<endl;
- cout<<""<<setw(15)<<"1. Buat titik baru"<<setw(30)<<"3. Hapus semua titik"<<endl;
- cout<<""<<setw(15)<<"2. hapus sebuah titik"<<setw(30)<<"4. lihat kordinat titik"<<endl;
- }
- void tambahtitik(int a,int b)
- {
- kordinat[y-xx][xy*3]=' ';
- kordinat[y-b][(a+1)*3]=titik[jum_titik];
- lokasi[jum_titik][0]=b;
- xx+=b;
- lokasi[jum_titik][1]=a;
- xy+=a;
- jum_titik++;
- if(jum_titik>1)
- {
- kordinat[y-xx][xy*3]='X';
- }
- }
- void lihatkordinat()
- { int num=1;
- for(int i=0;i<jum_titik;i++)
- {
- if(titik[i]!='\0')
- {cout<<num<<". titik "<<titik[i]<<"("<<lokasi[i][0]<<","<<lokasi[i][1]<<")"<<endl;
- num++;
- }
- }
- }
- void hapustitik(char x)
- {
- int pos = cekpos(x);
- int a,b;
- a = lokasi[pos][1];
- b = lokasi[pos][0];
- if(pos==-1||kordinat[y-b][(a+1)*3]!=x)
- {
- cout<<"titik tidak ada"<<endl;
- }
- else{
- kordinat[y-xx][xy*3]=' ';
- kordinat[y-b][(a+1)*3]= ' ';
- xx-=b;
- lokasi[jum_titik][1]=a;
- xy-=a;
- jum_titik--;
- if(jum_titik>1)
- {
- kordinat[y-xx][xy*3]='X';
- }
- }
- }
- int cekpos(char x)
- {
- for(int i=0; i<6;i++)
- {
- if(x==titik[i])
- return i;
- }
- return -1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement