Você está na página 1de 9

UPIS Unio Pioneira de Integrao Social

Curso de Sistemas de Informao


Linguagem e Tcnicas de Programao I
Prof. Rogrio Andrade

Jhonatas Martins dos Santos


James Fagner Souza dos Santos Junior
Turma: 321

Projeto Final de LTP I

#include <stdio.h>
#include <windows.h>
#include <string.h>
#include <conio2.h>
#define
#define
#define
#define
#define
#define

TAB
9
BACKSPACE 8
ENTER 13
ESC
27
INSERT 82
DELET 83

#define
#define
#define
#define
#define
#define

UP
72
ESQ
75
DIR
77
DOWN 80
PAGEUP 73
PAGEDOWN 81

void montaDesenho();
void beep();
char texto[3][10][30];
int i,j,l,x,y, tecla, pag, linha, coluna;
main(){
montaDesenho();
coluna = 0, linha = 0, pag = 0;
x = 27, y = 7;
i = 0; j = 0; l = 0;
//inicia matriz
for(i = 0; i < 3; i++){
for(j = 0; j < 10;j++){
for( l = 0; l < 30; l++){
texto[i][j][l] = '\0';
}
}
}

do{
gotoxy(48,18);printf("Pagina: %d", pag + 1);
gotoxy(x + coluna,y);
tecla = getch();
switch(tecla){
case 0:
case 224:

//tratar teclas especiais


tecla = getch();
switch(tecla){
case DIR:
if(coluna < 29){
++coluna;
gotoxy(coluna + x, y);
}
else if(coluna == 29 & linha < 9){
++linha;
++y;
coluna = 0;
gotoxy(x,y);
}else{
beep();
sleep(3000);
clrscr();
montaDesenho();
for(j = 0; j < 10;j++){
gotoxy(27, j+7);
for( l = 0; l < 30; l++){
printf("%c",texto[pag][j][l]);
}
}
}
break;
case ESQ:
if(coluna > 0){
--coluna;
gotoxy(coluna + x, y);
}
else if(coluna == 0 & linha > 0){
--y;
--linha;
coluna = 29;
gotoxy(x+coluna, y);
}else{
beep();
sleep(3000);
clrscr();
montaDesenho();
for(j = 0; j < 10;j++){
gotoxy(27, j+7);
for( l = 0; l < 30; l++){
printf("%c",texto[pag][j][l]);
}
}

}
break;
case UP:
if(y > 7 & y != 7){
--y;
gotoxy(x, y);
--linha;
}else{
beep();
sleep(3000);
clrscr();
montaDesenho();
for(j = 0; j < 10;j++){
gotoxy(27, j+7);
for( l = 0; l < 30; l++){
printf("%c",texto[pag][j][l]);
}
}
}
break;
case DOWN:
if(y != 16 & y < 16){
++y;
gotoxy(x, y);
++linha;
}else{
beep();
sleep(3000);
clrscr();
montaDesenho();
for(j = 0; j < 10;j++){
gotoxy(27, j+7);
for( l = 0; l < 30; l++){
printf("%c",texto[pag][j][l]);
}
}
}
break;
case PAGEUP:
if(pag > 0){
--pag;
linha = 0;
coluna = 0;
x=27, y = 7;
for(j = 0; j < 10;j++){
gotoxy(27, j+7);
for( l = 0; l < 30; l++){
printf("%c",texto[pag][j][l]);
}

}
}
else{
beep();
sleep(3000);
clrscr();
montaDesenho();
for(j = 0; j < 10;j++){
gotoxy(27, j+7);
for( l = 0; l < 30; l++){
printf("%c",texto[pag][j][l]);
}
}
}
break;
case PAGEDOWN:
if(pag < 2){
++pag;
linha = 0;
coluna = 0;
x =27, y = 7;
for(j = 0; j < 10;j++){
gotoxy(27, j+7);
for( l = 0; l < 30; l++){
printf("%c",texto[pag][j][l]);
}
}
}
else{
beep();
sleep(3000);
clrscr();
montaDesenho();
for(j = 0; j < 10;j++){
gotoxy(27, j+7);
for( l = 0; l < 30; l++){
printf("%c",texto[pag][j][l]);
}
}
}
break;
}
break;
case BACKSPACE:
if(coluna == 0){
coluna--;
printf(" \b \b");
coluna++;
}
if(coluna > 0){

--coluna;
gotoxy(x+coluna, y);
printf(" \b \b ");
}else if(coluna == 0 & linha > 0){
--y;
--linha;
coluna = 29;
gotoxy(x+coluna, y);
printf(" \b \b ");
}else{
beep();
sleep(3000);
clrscr();
montaDesenho();
for(j = 0; j < 10;j++){
gotoxy(27, j+7);
for( l = 0; l < 30; l++){
printf("%c",texto[pag][j][l]);
}
}
}
break;
case TAB:
if(coluna < 26){
++coluna;
++coluna;
++coluna;
++coluna;
}
else if(coluna > 26 & coluna < 29){
coluna = 29;
}else{
beep();
sleep(2000);
clrscr();
montaDesenho();
for(j = 0; j < 10;j++){
gotoxy(27, j+7);
for( l = 0; l < 30; l++){
printf("%c",texto[pag][j][l]);
}
}
}
break;
case ENTER:
if(y < 16){
++linha;
++y;
coluna = 0;
x= 27;

gotoxy(x,y);
}else{
beep();
sleep(2000);
clrscr();
montaDesenho();
for(j = 0; j < 10;j++){
gotoxy(27, j+7);
for( l = 0; l < 30; l++){
printf("%c",texto[pag][j][l]);
}
}
}
break;
default:
if(coluna < 30 & pag <= 2 & linha < 10){
texto[pag][linha][coluna] = tecla;
if(pag == 2 & coluna == 29 & linha == 9){
}else{
coluna++;
}
printf("%c", tecla);
}
if(coluna == 30 & pag <= 2 & linha < 10){
texto[pag][linha][coluna] = tecla;
linha++;
coluna = 0;
x = 27;
y++;
if(linha == 10 & pag < 2 ){
clrscr();
montaDesenho();
x = 27, y = 7;
pag++;
linha = 0;
coluna = 0;
}
}
break;
}
gotoxy(48,18);printf("Pagina: %d", pag + 1);
}while(1 == 1);

void beep(){
int i = 0;
for(i = 0; i < 3; i++){
printf("\a");
}
gotoxy(29,20);printf("|-------------------------|");
gotoxy(29,21);printf("|NAO E POSSIVEL MOVER MAIS|");
gotoxy(29,22);printf("|-------------------------|");
}
void montaDesenho(){
gotoxy(2,1);printf("TURMA: 321 PROFESSOR: ROGERIO");
gotoxy(2,2);printf(" - Jhonatas Martins dos Santos");
gotoxy(2,3);printf(" - James Fagner");
gotoxy(35,5);printf("EDITOR DE TEXTO");
int x, y;
y = 6;
for(x = 26; x <= 57; x++){
gotoxy(x, y);
if(x == 26){
printf("\xC9");
}else if(x == 57){
printf("\xBB");
}else{
printf("\xCD");
}
}
for(x = 26; x <= 57; x++){
y = 17;
gotoxy(x, y);
if(x == 26){
printf("\xC8");
}else if(x == 57){
printf("\xBC");
}else{
printf("\xCD");
}
}
x = 26;
for(y = 7; y < 17; y++){
gotoxy(x,y);
printf("\xBA");
gotoxy(x+31, y);
printf("\xBA");
}

Você também pode gostar