เพิ่ม karaca en/decode
This commit is contained in:
parent
eda1785095
commit
a2524fdeae
18 changed files with 530 additions and 0 deletions
16
karaca-decode/.travis.yml
Normal file
16
karaca-decode/.travis.yml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
language: cpp
|
||||||
|
compiler: gcc
|
||||||
|
jobs:
|
||||||
|
include:
|
||||||
|
- os: linux
|
||||||
|
dist: focal
|
||||||
|
- os: linux
|
||||||
|
dist: xenial
|
||||||
|
- os: osx
|
||||||
|
env:
|
||||||
|
- BUILD_TYPE=Debug
|
||||||
|
script:
|
||||||
|
- echo 1 | ./install.sh
|
||||||
|
- cat test-input.txt
|
||||||
|
- cat test-input.txt | ~/.local/bin/$(basename $PWD)
|
||||||
|
- echo 1 | ./uninstall.sh
|
79
karaca-decode/README.md
Normal file
79
karaca-decode/README.md
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
![Banner](info/banner.png)
|
||||||
|
|
||||||
|
[![PGTechs](https://img.shields.io/static/v1.svg?color=ff0000&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=PG%20Techs&message=YouTube)](https://www.youtube.com/c/PGTechs "ช่อง YouTube ของเรา")
|
||||||
|
[![PGVCPlus](https://img.shields.io/static/v1.svg?color=0572e6&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=PGVC%2B&message=Facebook)](https://www.facebook.com/PrincegameRVCPlus "เพจข่าวสาร Distributed Computing ของเรา บน Facebook")
|
||||||
|
|
||||||
|
อีกหนึ่งแอปพลิเคชันคุณภาพจาก SashaPGT
|
||||||
|
|
||||||
|
* ทุกแอปพลิเคชันผ่านการทดสอบติดตั้งและใช้งานใน Test environment ของเรา
|
||||||
|
|
||||||
|
* ใช้งานได้อย่างสะดวกรวดเร็ว ด้วยสคริปต์ติดตั้งแบบสำเร็จรูป ทั้งเฉพาะผู้ใช้และ System-wide
|
||||||
|
|
||||||
|
* รองรับ Linux และ macOS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# sashapgt/karaca-decode
|
||||||
|
|
||||||
|
[![Build Status](https://app.travis-ci.com/sashapgt/karaca-decode.svg?branch=main)](https://app.travis-ci.com/gitlab/sashapgt/karaca-decode)
|
||||||
|
|
||||||
|
"เขียนโปรแกรมการถอดรหัสของ Karaca ซึ่งการถอดรหัสมีวิธีดังนี้ (Level 3)
|
||||||
|
1. รับค่าเข้ามาเช่น n0t0r4saca
|
||||||
|
2. ลบ aca ด้านหลังออก
|
||||||
|
3. แปลงตัวเลขเป็นสระโดยเปลี่ยนดังนี้
|
||||||
|
|
||||||
|
0 => a
|
||||||
|
|
||||||
|
1 => e
|
||||||
|
|
||||||
|
2 => i
|
||||||
|
|
||||||
|
3 => o
|
||||||
|
|
||||||
|
4 => u
|
||||||
|
|
||||||
|
จากข้อความด้านบนจะได้ว่า natarus
|
||||||
|
4. กลับด้านตัวอักษรเป็น suratan"
|
||||||
|
|
||||||
|
**ตัวอย่างการทำงานของโปรแกรม**
|
||||||
|
|
||||||
|
![Screenshot](info/screenshot.png)
|
||||||
|
|
||||||
|
# วิธีการติดตั้ง/ใช้งาน
|
||||||
|
### ติดตั้งแบบปกติ
|
||||||
|
1. โคลน git นี้
|
||||||
|
|
||||||
|
`$ git clone https://gitlab.com/sashapgt/karaca-decode.git`
|
||||||
|
|
||||||
|
2. cd เข้าโฟลเดอร์ของ git นี้ แล้วรันสคริปต์ติดตั้ง
|
||||||
|
|
||||||
|
`$ cd karaca-decode && bash install.sh`
|
||||||
|
|
||||||
|
3. เรียกใช้จากเทอร์มินัล (Shell autocomplete อาจจะยังไม่ทำงาน กรุณาปิดเทอร์มินัล แล้วเปิดใหม่อีกครั้ง)
|
||||||
|
|
||||||
|
`$ karaca-decode`
|
||||||
|
### ใช้งานครั้งเดียว (Build, run และ remove ทันทีเมื่อใช้งานเสร็จโดยอัตโนมัติ)
|
||||||
|
$ bash single-use-build-and-run.sh
|
||||||
|
|
||||||
|
# ถอนการติดตั้ง
|
||||||
|
|
||||||
|
|
||||||
|
1. รันสคริปต์ถอนการติดตั้งจากในโฟลเดอร์ git นี้
|
||||||
|
|
||||||
|
`$ bash uninstall.sh`
|
||||||
|
|
||||||
|
2. ลบโฟลเดอร์ git นี้
|
||||||
|
|
||||||
|
# การแก้ปัญหา
|
||||||
|
|
||||||
|
หากไม่สามารถรันได้เนื่องจาก Command not found ให้ดูว่ามี ~/.local/bin ใน $PATH หรือไม่
|
||||||
|
สามารถตรวจสอบได้โดยการ
|
||||||
|
|
||||||
|
echo $PATH
|
||||||
|
|
||||||
|
หากไม่มี Home folder ของคุณ ตามด้วย .local/bin ให้เพิ่มบรรทัดนี้ลงใน Shell startup script ของคุณ (เช่น .bashrc .zshrc)
|
||||||
|
|
||||||
|
export PATH="$PATH:$HOME/.local/bin"
|
||||||
|
|
||||||
|
|
BIN
karaca-decode/info/banner.png
Executable file
BIN
karaca-decode/info/banner.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 69 KiB |
BIN
karaca-decode/info/screenshot.png
Normal file
BIN
karaca-decode/info/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
60
karaca-decode/install.sh
Executable file
60
karaca-decode/install.sh
Executable file
|
@ -0,0 +1,60 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DIR1=$HOME/.local/bin
|
||||||
|
DIR2=/usr/local/bin
|
||||||
|
APPNAME=$(basename $PWD)
|
||||||
|
|
||||||
|
clear
|
||||||
|
if [[ "${EUID}" -eq 0 ]]; then
|
||||||
|
echo " "
|
||||||
|
echo "คุณกำลังใช้สิทธิ์ Root! ต้องการดำเนินการติดตั้งต่อใน $DIR2 หรือไม่"
|
||||||
|
echo " "
|
||||||
|
echo "1) ไม่"
|
||||||
|
echo "2) ใช่"
|
||||||
|
echo " "
|
||||||
|
read -p "ใส่คำตอบของคุณ [1] : " INSTALLCHOICE
|
||||||
|
until [[ -z "$INSTALLCHOICE" || "$INSTALLCHOICE" =~ ^[1-2]$ ]]; do
|
||||||
|
printf "\n$INSTALLCHOICE: ค่าที่ใส่ไม่ถูกต้อง\n\n"
|
||||||
|
read -p "ใส่คำตอบของคุณ [1] : " INSTALLCHOICE
|
||||||
|
done
|
||||||
|
case "$INSTALLCHOICE" in
|
||||||
|
1|"")
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
DIR=$DIR2
|
||||||
|
printf "\nกำลัง Build และติดตั้ง $APPNAME ใน $DIR\n"
|
||||||
|
g++ -o $APPNAME main.cpp && mv $APPNAME $DIR
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
echo " "
|
||||||
|
echo "เลือกผู้ใช้ที่ต้องการติดตั้งให้"
|
||||||
|
echo " "
|
||||||
|
echo "1) $USER ($DIR1)"
|
||||||
|
echo "2) ทุกคน ($DIR2)"
|
||||||
|
echo " "
|
||||||
|
read -p "ใส่คำตอบของคุณ [1] : " INSTALLCHOICE
|
||||||
|
|
||||||
|
until [[ -z "$INSTALLCHOICE" || "$INSTALLCHOICE" =~ ^[1-2]$ ]]; do
|
||||||
|
printf "\n$INSTALLCHOICE: ค่าที่ใส่ไม่ถูกต้อง\n\n"
|
||||||
|
read -p "ใส่คำตอบของคุณ [1] : " INSTALLCHOICE
|
||||||
|
done
|
||||||
|
case "$INSTALLCHOICE" in
|
||||||
|
1|"")
|
||||||
|
DIR=$DIR1
|
||||||
|
if [[ ! -d "$DIR" ]]; then
|
||||||
|
mkdir -p $DIR
|
||||||
|
fi
|
||||||
|
printf "\nกำลัง Build และติดตั้ง $APPNAME ใน $DIR\n"
|
||||||
|
g++ -o $APPNAME main.cpp && mv $APPNAME $DIR
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
DIR=$DIR2
|
||||||
|
printf "\nกำลัง Build และติดตั้ง $APPNAME ใน $DIR\n"
|
||||||
|
printf "\nกรุณาใส่รหัสผ่าน sudo หากถูกถามในการติดตั้ง\n\n"
|
||||||
|
g++ -o $APPNAME main.cpp && sudo mv $APPNAME $DIR
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
printf "\nการติดตั้ง $APPNAME ใน $DIR เสร็จสมบูรณ์\n"
|
25
karaca-decode/main.cpp
Normal file
25
karaca-decode/main.cpp
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
#include<stdio.h>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
char reversed[1003],originalInput[1000];
|
||||||
|
int length=0;
|
||||||
|
printf("Input: ");
|
||||||
|
scanf("%s", reversed);
|
||||||
|
while(reversed[length]!='\0'){
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
length=length-3;
|
||||||
|
reversed[length]='\0';
|
||||||
|
for(int i=0;i<length;i++){
|
||||||
|
if(reversed[i]=='0') reversed[i]='a';
|
||||||
|
else if(reversed[i]=='1') reversed[i]='e';
|
||||||
|
else if(reversed[i]=='2') reversed[i]='i';
|
||||||
|
else if(reversed[i]=='3') reversed[i]='o';
|
||||||
|
else if(reversed[i]=='4') reversed[i]='u';
|
||||||
|
}
|
||||||
|
for(int i=0;i<length;i++){
|
||||||
|
originalInput[length-i-1]=reversed[i];
|
||||||
|
}
|
||||||
|
printf("\nOutput: %s\n", originalInput);
|
||||||
|
return 0;
|
||||||
|
}
|
7
karaca-decode/single-use-build-and-run.sh
Executable file
7
karaca-decode/single-use-build-and-run.sh
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
g++ -o main main.cpp
|
||||||
|
|
||||||
|
./main
|
||||||
|
|
||||||
|
rm main
|
1
karaca-decode/test-input.txt
Normal file
1
karaca-decode/test-input.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
3wtc1sgn2r11n2gn1r1t4pm3clt2mkaca
|
74
karaca-decode/uninstall.sh
Executable file
74
karaca-decode/uninstall.sh
Executable file
|
@ -0,0 +1,74 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DIR1=$HOME/.local/bin
|
||||||
|
DIR2=/usr/local/bin
|
||||||
|
APPNAME=$(basename $PWD)
|
||||||
|
|
||||||
|
clear
|
||||||
|
if [[ "${EUID}" -eq 0 ]]; then
|
||||||
|
echo " "
|
||||||
|
echo "คุณกำลังใช้สิทธิ์ Root! ต้องการถอนการติดตั้งจาก $DIR2 หรือไม่"
|
||||||
|
echo " "
|
||||||
|
echo "1) ไม่"
|
||||||
|
echo "2) ใช่"
|
||||||
|
echo " "
|
||||||
|
read -p "ใส่คำตอบของคุณ [1] : " UNINSTALLCHOICE
|
||||||
|
|
||||||
|
until [[ -z "$UNINSTALLCHOICE" || "$UNINSTALLCHOICE" =~ ^[1-2]$ ]]; do
|
||||||
|
printf "\n$UNINSTALLCHOICE: ค่าที่ใส่ไม่ถูกต้อง\n\n"
|
||||||
|
read -p "ใส่คำตอบของคุณ [1] : " UNINSTALLCHOICE
|
||||||
|
done
|
||||||
|
case "$UNINSTALLCHOICE" in
|
||||||
|
1|"")
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
DIR=$DIR2
|
||||||
|
if [[ -f "$DIR/$APPNAME" ]]; then
|
||||||
|
echo "กำลังถอนการติดตั้ง $APPNAME จาก $DIR"
|
||||||
|
rm $DIR/$APPNAME
|
||||||
|
else
|
||||||
|
echo "ไม่สามารถถอนการติดตั้งได้เนื่องจากยังไม่ได้ติดตั้งแอปพลิเคชันใน $DIR"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
echo " "
|
||||||
|
echo "เลือกผู้ใช้ที่ต้องการถอนติดตั้งให้"
|
||||||
|
echo " "
|
||||||
|
echo "1) $USER ($DIR1)"
|
||||||
|
echo "2) ทุกคน ($DIR2)"
|
||||||
|
echo " "
|
||||||
|
read -p "ใส่คำตอบของคุณ : " UNINSTALLCHOICE
|
||||||
|
until [[ -z "$UNINSTALLCHOICE" || "$UNINSTALLCHOICE" =~ ^[1-2]$ ]]; do
|
||||||
|
echo "$UNINSTALLCHOICE: ค่าที่ใส่ไม่ถูกต้อง"
|
||||||
|
read -p "ใส่คำตอบของคุณ :" UNINSTALLCHOICE
|
||||||
|
done
|
||||||
|
case "$UNINSTALLCHOICE" in
|
||||||
|
1)
|
||||||
|
DIR=$DIR1
|
||||||
|
if [[ -f "$DIR/$APPNAME" ]]; then
|
||||||
|
printf "\nกำลังถอนการติดตั้ง $APPNAME จาก $DIR\n"
|
||||||
|
rm $DIR/$APPNAME
|
||||||
|
else
|
||||||
|
printf "\nไม่สามารถถอนการติดตั้งได้เนื่องจากยังไม่ได้ติดตั้งแอปพลิเคชันใน $DIR"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
DIR=$DIR2
|
||||||
|
if [[ -f "$DIR/$APPNAME" ]]; then
|
||||||
|
printf "\nกำลังถอนการติดตั้ง $APPNAME จาก $DIR\n"
|
||||||
|
printf "\nกรุณาใส่รหัสผ่าน sudo หากถูกถามขณะถอนการติดตั้ง\n\n"
|
||||||
|
sudo rm $DIR/$APPNAME
|
||||||
|
else
|
||||||
|
printf "\nไม่สามารถถอนการติดตั้งได้เนื่องจากยังไม่ได้ติดตั้งแอปพลิเคชันใน $DIR"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"")
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
printf "\nการถอนการติดตั้ง $APPNAME จาก $DIR เสร็จสมบูรณ์\n"
|
16
karaca-encode/.travis.yml
Normal file
16
karaca-encode/.travis.yml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
language: cpp
|
||||||
|
compiler: gcc
|
||||||
|
jobs:
|
||||||
|
include:
|
||||||
|
- os: linux
|
||||||
|
dist: focal
|
||||||
|
- os: linux
|
||||||
|
dist: xenial
|
||||||
|
- os: osx
|
||||||
|
env:
|
||||||
|
- BUILD_TYPE=Debug
|
||||||
|
script:
|
||||||
|
- echo 1 | ./install.sh
|
||||||
|
- cat test-input.txt
|
||||||
|
- cat test-input.txt | ~/.local/bin/$(basename $PWD)
|
||||||
|
- echo 1 | ./uninstall.sh
|
81
karaca-encode/README.md
Normal file
81
karaca-encode/README.md
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
![Banner](info/banner.png)
|
||||||
|
|
||||||
|
[![PGTechs](https://img.shields.io/static/v1.svg?color=ff0000&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=PG%20Techs&message=YouTube)](https://www.youtube.com/c/PGTechs "ช่อง YouTube ของเรา")
|
||||||
|
[![PGVCPlus](https://img.shields.io/static/v1.svg?color=0572e6&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=PGVC%2B&message=Facebook)](https://www.facebook.com/PrincegameRVCPlus "เพจข่าวสาร Distributed Computing ของเรา บน Facebook")
|
||||||
|
|
||||||
|
อีกหนึ่งแอปพลิเคชันคุณภาพจาก SashaPGT
|
||||||
|
|
||||||
|
* ทุกแอปพลิเคชันผ่านการทดสอบติดตั้งและใช้งานใน Test environment ของเรา
|
||||||
|
|
||||||
|
* ใช้งานได้อย่างสะดวกรวดเร็ว ด้วยสคริปต์ติดตั้งแบบสำเร็จรูป ทั้งเฉพาะผู้ใช้และ System-wide
|
||||||
|
|
||||||
|
* รองรับ Linux และ macOS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# sashapgt/karaca-encode
|
||||||
|
|
||||||
|
[![Build Status](https://app.travis-ci.com/sashapgt/karaca-encode.svg?branch=main)](https://app.travis-ci.com/gitlab/sashapgt/karaca-encode)
|
||||||
|
|
||||||
|
"เขียนโปรแกรมการเข้ารหัสของ Karaca ซึ่งการเข้ารหัสมีวิธีดังนี้ (Level 3)
|
||||||
|
1. รับค่าเข้ามาเช่น suratan
|
||||||
|
2. กลับด้านตัวอักษรเป็น natarus
|
||||||
|
3. แปลงสระเป็นตัวเลขโดยเปลี่ยนดังนี้
|
||||||
|
|
||||||
|
a => 0
|
||||||
|
|
||||||
|
e => 1
|
||||||
|
|
||||||
|
i => 2
|
||||||
|
|
||||||
|
o => 3
|
||||||
|
|
||||||
|
u => 4
|
||||||
|
|
||||||
|
จากข้อความด้านบนจะได้ว่า n0t0r4s
|
||||||
|
4. เติมคำว่า aca เข้าไปด้านหลัง เป็น n0t0r4saca
|
||||||
|
|
||||||
|
ปล.ตัวอักษรมีแต่พิมพ์เล็ก ไม่มีช่องว่าง ไม่มีเลข"
|
||||||
|
|
||||||
|
**ตัวอย่างการทำงานของโปรแกรม**
|
||||||
|
|
||||||
|
![Screenshot](info/screenshot.png)
|
||||||
|
|
||||||
|
# วิธีการติดตั้ง/ใช้งาน
|
||||||
|
### ติดตั้งแบบปกติ
|
||||||
|
1. โคลน git นี้
|
||||||
|
|
||||||
|
`$ git clone https://gitlab.com/sashapgt/karaca-encode.git`
|
||||||
|
|
||||||
|
2. cd เข้าโฟลเดอร์ของ git นี้ แล้วรันสคริปต์ติดตั้ง
|
||||||
|
|
||||||
|
`$ cd karaca-encode && bash install.sh`
|
||||||
|
|
||||||
|
3. เรียกใช้จากเทอร์มินัล (Shell autocomplete อาจจะยังไม่ทำงาน กรุณาปิดเทอร์มินัล แล้วเปิดใหม่อีกครั้ง)
|
||||||
|
|
||||||
|
`$ karaca-encode`
|
||||||
|
### ใช้งานครั้งเดียว (Build, run และ remove ทันทีเมื่อใช้งานเสร็จโดยอัตโนมัติ)
|
||||||
|
$ bash single-use-build-and-run.sh
|
||||||
|
|
||||||
|
# ถอนการติดตั้ง
|
||||||
|
|
||||||
|
|
||||||
|
1. รันสคริปต์ถอนการติดตั้งจากในโฟลเดอร์ git นี้
|
||||||
|
|
||||||
|
`$ bash uninstall.sh`
|
||||||
|
|
||||||
|
2. ลบโฟลเดอร์ git นี้
|
||||||
|
|
||||||
|
# การแก้ปัญหา
|
||||||
|
|
||||||
|
หากไม่สามารถรันได้เนื่องจาก Command not found ให้ดูว่ามี ~/.local/bin ใน $PATH หรือไม่
|
||||||
|
สามารถตรวจสอบได้โดยการ
|
||||||
|
|
||||||
|
echo $PATH
|
||||||
|
|
||||||
|
หากไม่มี Home folder ของคุณ ตามด้วย .local/bin ให้เพิ่มบรรทัดนี้ลงใน Shell startup script ของคุณ (เช่น .bashrc .zshrc)
|
||||||
|
|
||||||
|
export PATH="$PATH:$HOME/.local/bin"
|
||||||
|
|
||||||
|
|
BIN
karaca-encode/info/banner.png
Executable file
BIN
karaca-encode/info/banner.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 69 KiB |
BIN
karaca-encode/info/screenshot.png
Normal file
BIN
karaca-encode/info/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
60
karaca-encode/install.sh
Executable file
60
karaca-encode/install.sh
Executable file
|
@ -0,0 +1,60 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DIR1=$HOME/.local/bin
|
||||||
|
DIR2=/usr/local/bin
|
||||||
|
APPNAME=$(basename $PWD)
|
||||||
|
|
||||||
|
clear
|
||||||
|
if [[ "${EUID}" -eq 0 ]]; then
|
||||||
|
echo " "
|
||||||
|
echo "คุณกำลังใช้สิทธิ์ Root! ต้องการดำเนินการติดตั้งต่อใน $DIR2 หรือไม่"
|
||||||
|
echo " "
|
||||||
|
echo "1) ไม่"
|
||||||
|
echo "2) ใช่"
|
||||||
|
echo " "
|
||||||
|
read -p "ใส่คำตอบของคุณ [1] : " INSTALLCHOICE
|
||||||
|
until [[ -z "$INSTALLCHOICE" || "$INSTALLCHOICE" =~ ^[1-2]$ ]]; do
|
||||||
|
printf "\n$INSTALLCHOICE: ค่าที่ใส่ไม่ถูกต้อง\n\n"
|
||||||
|
read -p "ใส่คำตอบของคุณ [1] : " INSTALLCHOICE
|
||||||
|
done
|
||||||
|
case "$INSTALLCHOICE" in
|
||||||
|
1|"")
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
DIR=$DIR2
|
||||||
|
printf "\nกำลัง Build และติดตั้ง $APPNAME ใน $DIR\n"
|
||||||
|
g++ -o $APPNAME main.cpp && mv $APPNAME $DIR
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
echo " "
|
||||||
|
echo "เลือกผู้ใช้ที่ต้องการติดตั้งให้"
|
||||||
|
echo " "
|
||||||
|
echo "1) $USER ($DIR1)"
|
||||||
|
echo "2) ทุกคน ($DIR2)"
|
||||||
|
echo " "
|
||||||
|
read -p "ใส่คำตอบของคุณ [1] : " INSTALLCHOICE
|
||||||
|
|
||||||
|
until [[ -z "$INSTALLCHOICE" || "$INSTALLCHOICE" =~ ^[1-2]$ ]]; do
|
||||||
|
printf "\n$INSTALLCHOICE: ค่าที่ใส่ไม่ถูกต้อง\n\n"
|
||||||
|
read -p "ใส่คำตอบของคุณ [1] : " INSTALLCHOICE
|
||||||
|
done
|
||||||
|
case "$INSTALLCHOICE" in
|
||||||
|
1|"")
|
||||||
|
DIR=$DIR1
|
||||||
|
if [[ ! -d "$DIR" ]]; then
|
||||||
|
mkdir -p $DIR
|
||||||
|
fi
|
||||||
|
printf "\nกำลัง Build และติดตั้ง $APPNAME ใน $DIR\n"
|
||||||
|
g++ -o $APPNAME main.cpp && mv $APPNAME $DIR
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
DIR=$DIR2
|
||||||
|
printf "\nกำลัง Build และติดตั้ง $APPNAME ใน $DIR\n"
|
||||||
|
printf "\nกรุณาใส่รหัสผ่าน sudo หากถูกถามในการติดตั้ง\n\n"
|
||||||
|
g++ -o $APPNAME main.cpp && sudo mv $APPNAME $DIR
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
printf "\nการติดตั้ง $APPNAME ใน $DIR เสร็จสมบูรณ์\n"
|
29
karaca-encode/main.cpp
Normal file
29
karaca-encode/main.cpp
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
#include<stdio.h>
|
||||||
|
#include<iostream>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
char input[1000],reversed[1003];
|
||||||
|
printf("Input: ");
|
||||||
|
std::cin>>input;
|
||||||
|
printf("\n");
|
||||||
|
int length=0;
|
||||||
|
while(input[length]!='\0'){
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
for(int i=0;i<length;i++){
|
||||||
|
reversed[length-i-1]=input[i];
|
||||||
|
}
|
||||||
|
for(int i=0;i<length;i++){
|
||||||
|
if(reversed[i]=='a') reversed[i]='0';
|
||||||
|
else if(reversed[i]=='e') reversed[i]='1';
|
||||||
|
else if(reversed[i]=='i') reversed[i]='2';
|
||||||
|
else if(reversed[i]=='o') reversed[i]='3';
|
||||||
|
else if(reversed[i]=='u') reversed[i]='4';
|
||||||
|
}
|
||||||
|
reversed[length]='a';
|
||||||
|
reversed[length+1]='c';
|
||||||
|
reversed[length+2]='a';
|
||||||
|
reversed[length+3]='\0';
|
||||||
|
std::cout<<"Output: "<<reversed<<std::endl;
|
||||||
|
return 0;
|
||||||
|
}
|
7
karaca-encode/single-use-build-and-run.sh
Executable file
7
karaca-encode/single-use-build-and-run.sh
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
g++ -o main main.cpp
|
||||||
|
|
||||||
|
./main
|
||||||
|
|
||||||
|
rm main
|
1
karaca-encode/test-input.txt
Normal file
1
karaca-encode/test-input.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
kmitlcomputerengineeringsectwo
|
74
karaca-encode/uninstall.sh
Executable file
74
karaca-encode/uninstall.sh
Executable file
|
@ -0,0 +1,74 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DIR1=$HOME/.local/bin
|
||||||
|
DIR2=/usr/local/bin
|
||||||
|
APPNAME=$(basename $PWD)
|
||||||
|
|
||||||
|
clear
|
||||||
|
if [[ "${EUID}" -eq 0 ]]; then
|
||||||
|
echo " "
|
||||||
|
echo "คุณกำลังใช้สิทธิ์ Root! ต้องการถอนการติดตั้งจาก $DIR2 หรือไม่"
|
||||||
|
echo " "
|
||||||
|
echo "1) ไม่"
|
||||||
|
echo "2) ใช่"
|
||||||
|
echo " "
|
||||||
|
read -p "ใส่คำตอบของคุณ [1] : " UNINSTALLCHOICE
|
||||||
|
|
||||||
|
until [[ -z "$UNINSTALLCHOICE" || "$UNINSTALLCHOICE" =~ ^[1-2]$ ]]; do
|
||||||
|
printf "\n$UNINSTALLCHOICE: ค่าที่ใส่ไม่ถูกต้อง\n\n"
|
||||||
|
read -p "ใส่คำตอบของคุณ [1] : " UNINSTALLCHOICE
|
||||||
|
done
|
||||||
|
case "$UNINSTALLCHOICE" in
|
||||||
|
1|"")
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
DIR=$DIR2
|
||||||
|
if [[ -f "$DIR/$APPNAME" ]]; then
|
||||||
|
echo "กำลังถอนการติดตั้ง $APPNAME จาก $DIR"
|
||||||
|
rm $DIR/$APPNAME
|
||||||
|
else
|
||||||
|
echo "ไม่สามารถถอนการติดตั้งได้เนื่องจากยังไม่ได้ติดตั้งแอปพลิเคชันใน $DIR"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
echo " "
|
||||||
|
echo "เลือกผู้ใช้ที่ต้องการถอนติดตั้งให้"
|
||||||
|
echo " "
|
||||||
|
echo "1) $USER ($DIR1)"
|
||||||
|
echo "2) ทุกคน ($DIR2)"
|
||||||
|
echo " "
|
||||||
|
read -p "ใส่คำตอบของคุณ : " UNINSTALLCHOICE
|
||||||
|
until [[ -z "$UNINSTALLCHOICE" || "$UNINSTALLCHOICE" =~ ^[1-2]$ ]]; do
|
||||||
|
echo "$UNINSTALLCHOICE: ค่าที่ใส่ไม่ถูกต้อง"
|
||||||
|
read -p "ใส่คำตอบของคุณ :" UNINSTALLCHOICE
|
||||||
|
done
|
||||||
|
case "$UNINSTALLCHOICE" in
|
||||||
|
1)
|
||||||
|
DIR=$DIR1
|
||||||
|
if [[ -f "$DIR/$APPNAME" ]]; then
|
||||||
|
printf "\nกำลังถอนการติดตั้ง $APPNAME จาก $DIR\n"
|
||||||
|
rm $DIR/$APPNAME
|
||||||
|
else
|
||||||
|
printf "\nไม่สามารถถอนการติดตั้งได้เนื่องจากยังไม่ได้ติดตั้งแอปพลิเคชันใน $DIR"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
DIR=$DIR2
|
||||||
|
if [[ -f "$DIR/$APPNAME" ]]; then
|
||||||
|
printf "\nกำลังถอนการติดตั้ง $APPNAME จาก $DIR\n"
|
||||||
|
printf "\nกรุณาใส่รหัสผ่าน sudo หากถูกถามขณะถอนการติดตั้ง\n\n"
|
||||||
|
sudo rm $DIR/$APPNAME
|
||||||
|
else
|
||||||
|
printf "\nไม่สามารถถอนการติดตั้งได้เนื่องจากยังไม่ได้ติดตั้งแอปพลิเคชันใน $DIR"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"")
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
printf "\nการถอนการติดตั้ง $APPNAME จาก $DIR เสร็จสมบูรณ์\n"
|
Loading…
Reference in a new issue