-
Posts
3 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por K9xy
-
-
desculpa, o erro esta dando na função void imprime_linha, na linha onde esta definido gotoxy!
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
#include <cstdlib>
#include <cmath>
#include <windows.h>
#include <conio.h>
#include <algorithm>
#define max 19
#define min 0
using namespace std;
class Elemento{
public:
Elemento *p1,*p2,*p3,*p4,*p5,*p6,*p7,*p8,*p9;
vector<string> palavras;Elemento(){
p1=NULL;
p2=NULL;
p3=NULL;
p4=NULL;
p5=NULL;
p6=NULL;
p7=NULL;
p8=NULL;
p9=NULL;
}
};
class Arvore {
public:
Elemento *raiz;
int tam;
Arvore() {
raiz = new Elemento();
tam = 0;
}
void Monta_ramo(string palavra) {
Elemento *onde = raiz;
for(int i=0;i<palavra.size();i++)
{
switch(palavra){case'a':
case'b':
case'c':
if(onde->p2== NULL){
onde->p2 = new Elemento();
}
onde=onde->p2;
break;case'd':
case'e':
case'f':
if(onde->p3== NULL){
onde->p3 = new Elemento();
}
onde=onde->p3;
break;
case'g':
case'h':
case'i':
if(onde->p4== NULL){
onde->p4 = new Elemento();
}
onde=onde->p4;
break;
case'j':
case'k':
case'l':
if(onde->p5== NULL){
onde->p5 = new Elemento();
}
onde=onde->p5;
break;
case'm':
case'n':
case'o':
if(onde->p6== NULL){
onde->p6 = new Elemento();
}
onde=onde->p6;
break;
case'p':
case'q':
case'r':
case's':
if(onde->p7== NULL){
onde->p7 = new Elemento();
}
onde=onde->p7;
break;
case't':
case'u':
case'v':
if(onde->p8== NULL){
onde->p8 = new Elemento();
}
onde=onde->p8;
break;
case'w':
case'x':
case'y':
case'z':
if(onde->p9== NULL){
onde->p9 = new Elemento();
}
onde=onde->p9;
break;
default:
if(onde->p1==NULL){
onde->p1 = new Elemento();
}
onde=onde->p1;
break;
}
onde->palavras.push_back(palavra);
}
}
void popula_arvore(){
string palavra;
ifstream ler;
ler.open("termos.txt");
if(!ler.is_open())
{
cout<<"Não foi possível abrir arquivo! Programa será terminado!\n";
ler.clear();
}
while(ler >> palavra){
Monta_ramo(palavra);
}
return ;
}vector<string> ler( Elemento *proc ){
vector<string> word;
for(int i=0;i<fmin(max,proc->palavras.size());i++){
word.push_back(proc->palavras);
}
return word;
}
void imprime_espaco(long int e,int x,int y,bool a){
for(long int i=0;i<e;i++){
cout<<" ";
}
}void imprime_linha(long int l,int x,int y,bool a){
for(long int i=0;i<l;i++){
if(a==true){
gotoxy(x+i,y);
cout <<"_";
}
}
}
void imprime_coluna(int c,int x,int y,bool a){
for(int i=0;i<c;i++){
if(a==true){
gotoxy(x,y); y++;}
cout<<"|";
}
return;
}void tela(vector<string> palavra,int x,string texto){
system("cls");
system ("color 70");
textcolor(0);
textbackground(10);
imprime_espaco(38,0,0,false);
cout<<"T9";
imprime_espaco(40,0,0,false);
imprime_linha(80,0,0,false);
textbackground(7);
textcolor(0);
cout<<" | Teclado |\n";
cout<<" _______________________\n";
cout<<" | | | |\n";
cout<<" | 1 | 2 | 3 |\n";
cout<<" |_______|_______|_______|\n";
cout<<" | | | |\n";
cout<<" | | a b c | d e f |\n";
cout<<" |_______|_______|_______|\n";
cout<<" | | | |\n";
cout<<" | 4 | 5 | 6 |\n";
cout<<" |_______|_______|_______|\n";
cout<<" | | | |\n";
cout<<" | g h i | j k l | m n o |\n";
cout<<" |_______|_______|_______|\n";
cout<<" | | | |\n";
cout<<" | 7 | 8 | 9 |\n";
cout<<" |_______|_______|_______|\n";
cout<<" | | | |\n";
cout<<" |p q r s| t u v |w x y z|\n";
cout<<" |_______|_______|_______|\n";
imprime_coluna(21,27,3,true);
imprime_coluna(21,54,3,true);
imprime_linha(81,0,23,true);
if(palavra.size()>0){
gotoxy(55,3);
cout<<"PALAVRA:";
for(int i=0;i<fmin(max,palavra.size());i++){
gotoxy(55,i+4);
cout<<"[";
}
for(int i=0;i<fmin(max,palavra.size());i++){
gotoxy(57,i+4);
cout<<"]"<<palavra;}
gotoxy(56,x-5);
cout<<" ";
gotoxy(56,x+5);
cout<<" ";
gotoxy(56,x+4);
cout<<"*";
cout<<"\n";
if(palavra.size()<max){
gotoxy(1,25);
textcolor(12);
cout<<"\n\n Alerta: Numero de palavras na Base esta chegando no limite" <<endl;
textcolor(0);
}
}
gotoxy(28,3);
cout<<"Modo de usar:";
gotoxy(28,5);
cout<<"-> Digite '0' para confir-";
gotoxy(28,6);
cout<<"mar a palavra.";
gotoxy(28,8);
cout<<"-> Os carateres '+' e '-'";
gotoxy(28,9);
cout<<"selecionam a palavra.";
gotoxy(28,11);
cout<<"-> Digite 's' para sair.";
gotoxy(28,13);
cout<<"-> Digite 'c' para cance-";
gotoxy(28,14);
cout<<"lar.";
}};
int main(){
Arvore a;
char tecla;
string texto;
vector <string> palavra;
int x=min,MAX;
bool erro;
Elemento *no;
a.popula_arvore();
system("mode con:cols=80 lines=28");
system ("title TECLADO T9");
no=a.raiz;
while(tecla!='s')
{
//if (palavra.size()>0)
a.tela(palavra,x,texto);
gotoxy(1,24);
cout<<"Texto:"<<texto;
gotoxy(1,25);
cout<<"Tecla:";
tecla=getch();
switch(tecla){
palavra.clear();
case'2':
if(no->p2!=NULL){
no = no->p2;
palavra=a.ler(no);
MAX=palavra.size();
}
break;
case '3':
if(no->p3!=NULL){
no = no->p3;
palavra=a.ler(no);
MAX=palavra.size();
}
break;
case'4':
if(no->p4!=NULL){
no = no->p4;
palavra=a.ler(no);
MAX=palavra.size();
}
break;
case'5':
if(no->p5!=NULL){
no = no->p5;
palavra=a.ler(no);
MAX=palavra.size();
}
break;
case'6':
if(no->p6!=NULL){
no = no->p6;
palavra=a.ler(no);
MAX=palavra.size();
}
break;
case'7':
if(no->p7!=NULL){
no = no->p7;
palavra=a.ler(no);
MAX=palavra.size();
}
break;
case'8':
if(no->p8!=NULL){
no = no->p8;
palavra=a.ler(no);
MAX=palavra.size();
}
break;
case'9':
if(no->p9!=NULL){
no = no->p9;
palavra=a.ler(no);
MAX=palavra.size();
}
break;
case'0':
texto=texto+" "+palavra[x];
palavra.clear();
no=a.raiz;
break;
case's':
system("cls");
cout<<"SAIR!!" <<endl;
erro=true;
break;
case'c':
system("cls");
palavra.clear();
no=a.raiz;
break;
default:
if((tecla=='-')&&(x>min))x--;
else if((tecla=='+')&&(x<fmin(max,MAX-1)))x++;
else {
cout<<"ERRO!!" <<endl;
Sleep(1000);
}
break;
}
}
gotoxy(7,24);
cout<<"\n\n";
system("PAUSE");
return EXIT_SUCCESS;
} -
Bom dia Pessoal , estou fazedo um codigo de para um teclado t9,e e sta dando alguns erros, não consigo utlizar a função gotoxy, alguem poderia me dar uma ajuda??
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
Teclado de t9 codigo em c++
em C/C#/C++
Postado
Alguem por favor pode me ajudar com esse código, ele ta dando erro na gotoxy!!!