Ir ao conteúdo
  • Cadastre-se

Amanda Kellen

Membro Pleno
  • Posts

    62
  • Cadastrado em

  • Última visita

Tudo que Amanda Kellen postou

  1. desenvolvi um código em python no qual utilizo tkinter e imagens e preciso criar um executável.Tentei utilizar pyinstaller mas dá erro.Como faço para criar esse executável?
  2. Estou programando uma interface gráfica usando tkinter,e estou posicionando os botões usando place().Porém quando maximizo a tela eles não permanecem na posição que coloquei.Como resolveria isso?Há algum método que fixa a posição mesmo quando a tela é maximizada?
  3. import Doc_word import PIL.Image, PIL.ImageTk import tkinter as tk from tkcalendar import Calendar, DateEntry from tkinter import * from tkinter import messagebox from tkinter import filedialog from tkinter import Label,Entry from tkinter.ttk import * import os from datetime import date, datetime Data=datetime.today() Endereço='' Nome='' CPF=' ' def calendario(janela): global Data #top = Toplevel(frame) top=janela def comandos(): global Data Data = cal.get_date() top.destroy() #frame_label=Frame(top,text='Data de entrega') cal = DateEntry(top, width=12, background='darkblue', foreground='white', borderwidth=2, locale='pt_BR') botao_ok = Button(top, text="ok", command=comandos) #frame_label.pack(side='left') cal.pack(side='left') botao_ok.pack(side='left') #botao_ok.pack(side='left') #frame.pack() def formatando_data(data): dia='00' mes='00' ano='0000' data_em_texto = data.strftime('%d/%m/%Y') for i in range(0,10): if i<2: if i==0: dia=data_em_texto[i] else: dia=dia+data_em_texto[i] elif i>2 : if i<5: if i==3: mes = data_em_texto[i] else: mes = mes + data_em_texto[i] elif i!=5: if i == 6: ano = data_em_texto[i] else: ano = ano + data_em_texto[i] if int(mes) == 1: self.mes = 'janeiro' elif int(mes) == 2: mes = 'fevereiro' elif int(mes) == 3: mes = 'março' elif int(mes) == 4: mes = 'abril' elif int(mes) == 5: mes = 'maio' elif int(mes) == 6: mes = 'junho' elif int(mes) == 7: mes = 'julho' elif int(mes) == 8: mes = 'agosto' elif int(mes) == 9: mes = 'setembro' elif int(mes) == 10: mes = 'outubro' elif int(mes) == 11: mes = 'novembro' elif int(mes) == 12: mes = 'dezembro' dia=str(dia) mes=str(mes) ano=str(ano) dataFormatada=dia + ' de '+ mes + ' de ' + ano dataFormatada=str(dataFormatada) return dataFormatada class termos: global Data def __init__(self): global Data #Criando dados da janela principal self.janela_principal = tk.Tk() self.janela_principal.geometry('450x605') #Define o tamanho da janela self.janela_principal.resizable(False,False) #Botões de sair e para criar termo button = Button(self.janela_principal, text=' Gerar Termo de responsabilidade', command=self.termo) button.pack() self.botao_sair = Button(self.janela_principal, text='Sair', command=self.janela_principal.destroy) self.botao_sair.pack() self.botao_sair.pack() self.janela_principal.mainloop() def termo(self): # Variáveis para salvar dados global Data self.nome = StringVar() self.cpf=StringVar() self.data=StringVar() #Criando Janela self.janela_termo = tk.Tk() self.janela_termo.geometry('800x450') self.janela_termo.resizable(False,False) # Criando os frames self.frame_titulo_janela = Frame(self.janela_termo) self.frame_nome = Frame(self.janela_termo) self.frame_cpf = Frame(self.janela_termo) self.frame_data=Frame(self.janela_termo) self.frame_salvar=Frame(self.janela_termo) #Adicionando titulo self.label_titulo_termo=Label(self.frame_titulo_janela,text='Termo de Responsabilidade',font=('Helvetica',16)) #Empacotando Título self.label_titulo_termo.pack() self.frame_titulo_janela.pack() #Nome #Adicionando o Label self.label_nome = Label(self.frame_nome, text='Nome do colaborador(a):') #Adicionando o Entry self.usuario= Entry(self.frame_nome,width=80,font='Calibri',textvariable=self.nome)#width= número de caracteres que é possóvel digitar self.usuario.bind('<Key>', (lambda _: self.salva_dados())) #Empacotando os dados do frame self.label_nome.pack(side='left') self.usuario.pack(side='left') #CPF # Adicionando o Label self.label_cpf = Label(self.frame_cpf, text='CPF:') # Adicionando o ENTRY self.cpf = Entry(self.frame_cpf, width=88,textvariable=self.cpf) # width= número de caracteres que é possóvel digitar self.cpf.bind('<Key>', (lambda _: self.salva_dados())) # Empacotando os dados do frame self.label_cpf.pack(side='left') self.cpf.pack(side='left') #calendario: self.label_data=Label(self.frame_data,text='Data de entrega') self.botao_data=tk.Button(self.frame_data, text="Selecionar", command=self.janela) # empacotando data self.label_data.pack(side='left') self.botao_data.pack(side='left') #Botão de salvar self.botao_salvar=tk.Button(self.frame_salvar,text='Salvar',comand=self.file_dialog) self.botao_salvar.pack(side='bottom') #Empacotando os frames self.frame_titulo_janela.pack() self.frame_nome.pack() self.frame_cpf.pack() self.frame_data.pack() self.frame_salvar.pack() self.janela_termo.mainloop() def janela(self): global Data self.janela_calendario=tk.Tk() self.frame_titulo=Frame(self.janela_calendario) self.frame_calendario=Frame(self.janela_calendario) #Colocando Label self.label_titulo=Label(self.frame_titulo,text='Data de entrega') # Colocando calendario #Empacotando self.label_titulo.pack() self.frame_titulo.pack() calendario(self.janela_calendario) #self.quit.pack(side='left') # self.cal.pack(side='left') self.frame_calendario.pack() def salva_dados(self): global Nome,CPF,Patrimonio,Modelo,Mouse,Cadeado,Teclado Nome = self.usuario.get() CPF=self.cpf.get() def retorna_data(self): global Data self.data=formatando_data(Data) return self.data def file_dialog(self): global Endereço Tk().withdraw() # Isto torna oculto a janela principal Endereço = filedialog.askdirectory() # Isto te permite selecionar um arquivo print(Endereço) obj=termos() Estou iniciando na programação python e estou criando um programa que irá preencher um termo.Porém não estou conseguindo adicionar comando para o botão que irá salvar e selecionar o diretorio desejado.Segue abaixo o código e o erro que apresenta.O que devo fazer para solucionar e que erro é esse? import PIL.Image, PIL.ImageTk import tkinter as tk from tkcalendar import Calendar, DateEntry from tkinter import * from tkinter import messagebox from tkinter import filedialog from tkinter import Label,Entry from tkinter.ttk import * import os from datetime import date, datetime Data=datetime.today() Endereço='' Nome='' CPF=' ' def calendario(janela): global Data #top = Toplevel(frame) top=janela def comandos(): global Data Data = cal.get_date() top.destroy() #frame_label=Frame(top,text='Data de entrega') cal = DateEntry(top, width=12, background='darkblue', foreground='white', borderwidth=2, locale='pt_BR') botao_ok = Button(top, text="ok", command=comandos) #frame_label.pack(side='left') cal.pack(side='left') botao_ok.pack(side='left') #botao_ok.pack(side='left') #frame.pack() def formatando_data(data): dia='00' mes='00' ano='0000' data_em_texto = data.strftime('%d/%m/%Y') for i in range(0,10): if i<2: if i==0: dia=data_em_texto[i] else: dia=dia+data_em_texto[i] elif i>2 : if i<5: if i==3: mes = data_em_texto[i] else: mes = mes + data_em_texto[i] elif i!=5: if i == 6: ano = data_em_texto[i] else: ano = ano + data_em_texto[i] if int(mes) == 1: self.mes = 'janeiro' elif int(mes) == 2: mes = 'fevereiro' elif int(mes) == 3: mes = 'março' elif int(mes) == 4: mes = 'abril' elif int(mes) == 5: mes = 'maio' elif int(mes) == 6: mes = 'junho' elif int(mes) == 7: mes = 'julho' elif int(mes) == 8: mes = 'agosto' elif int(mes) == 9: mes = 'setembro' elif int(mes) == 10: mes = 'outubro' elif int(mes) == 11: mes = 'novembro' elif int(mes) == 12: mes = 'dezembro' dia=str(dia) mes=str(mes) ano=str(ano) dataFormatada=dia + ' de '+ mes + ' de ' + ano dataFormatada=str(dataFormatada) return dataFormatada class termos: global Data def __init__(self): global Data #Criando dados da janela principal self.janela_principal = tk.Tk() self.janela_principal.geometry('450x605') #Define o tamanho da janela self.janela_principal.resizable(False,False) #Botões de sair e para criar termo button = Button(self.janela_principal, text=' Gerar Termo de responsabilidade', command=self.termo) button.pack() self.botao_sair = Button(self.janela_principal, text='Sair', command=self.janela_principal.destroy) self.botao_sair.pack() self.botao_sair.pack() self.janela_principal.mainloop() def termo(self): # Variáveis para salvar dados global Data self.nome = StringVar() self.cpf=StringVar() self.data=StringVar() #Criando Janela self.janela_termo = tk.Tk() self.janela_termo.geometry('800x450') self.janela_termo.resizable(False,False) # Criando os frames self.frame_titulo_janela = Frame(self.janela_termo) self.frame_nome = Frame(self.janela_termo) self.frame_cpf = Frame(self.janela_termo) self.frame_data=Frame(self.janela_termo) self.frame_salvar=Frame(self.janela_termo) #Adicionando titulo self.label_titulo_termo=Label(self.frame_titulo_janela,text='Termo de Responsabilidade',font=('Helvetica',16)) #Empacotando Título self.label_titulo_termo.pack() self.frame_titulo_janela.pack() #Nome #Adicionando o Label self.label_nome = Label(self.frame_nome, text='Nome do colaborador(a):') #Adicionando o Entry self.usuario= Entry(self.frame_nome,width=80,font='Calibri',textvariable=self.nome)#width= número de caracteres que é possóvel digitar self.usuario.bind('<Key>', (lambda _: self.salva_dados())) #Empacotando os dados do frame self.label_nome.pack(side='left') self.usuario.pack(side='left') #CPF # Adicionando o Label self.label_cpf = Label(self.frame_cpf, text='CPF:') # Adicionando o ENTRY self.cpf = Entry(self.frame_cpf, width=88,textvariable=self.cpf) # width= número de caracteres que é possóvel digitar self.cpf.bind('<Key>', (lambda _: self.salva_dados())) # Empacotando os dados do frame self.label_cpf.pack(side='left') self.cpf.pack(side='left') #calendario: self.label_data=Label(self.frame_data,text='Data de entrega') self.botao_data=tk.Button(self.frame_data, text="Selecionar", command=self.janela) # empacotando data self.label_data.pack(side='left') self.botao_data.pack(side='left') #Botão de salvar self.botao_salvar=tk.Button(self.frame_salvar,text='Salvar',comand=self.file_dialog) self.botao_salvar.pack(side='bottom') #Empacotando os frames self.frame_titulo_janela.pack() self.frame_nome.pack() self.frame_cpf.pack() self.frame_data.pack() self.frame_salvar.pack() self.janela_termo.mainloop() def janela(self): global Data self.janela_calendario=tk.Tk() self.frame_titulo=Frame(self.janela_calendario) self.frame_calendario=Frame(self.janela_calendario) #Colocando Label self.label_titulo=Label(self.frame_titulo,text='Data de entrega') # Colocando calendario #Empacotando self.label_titulo.pack() self.frame_titulo.pack() calendario(self.janela_calendario) #self.quit.pack(side='left') # self.cal.pack(side='left') self.frame_calendario.pack() def salva_dados(self): global Nome,CPF,Patrimonio,Modelo,Mouse,Cadeado,Teclado Nome = self.usuario.get() CPF=self.cpf.get() def retorna_data(self): global Data self.data=formatando_data(Data) return self.data def file_dialog(self): global Endereço Tk().withdraw() # Isto torna oculto a janela principal Endereço = filedialog.askdirectory() # Isto te permite selecionar um arquivo print(Endereço) obj=termos()
  4. Muito obrigada. Utilizei o método bind citado em um dos links pois gostarioa de adicionar um botão apenas quando eu for salvar os dados em um documento pois irei adicionar mais entrys .Porém,não entendi bem uma parte do código que estava em um dos links que me mandou,poderia me explicar a seguinte parte: e.bind('<Return>', (lambda _: callback(e))),não entendi o que seria essa lambda_
  5. Estou desenvolvendo uma aplicação em python e desejo salvar o nome digitado dentro de uma variável e exibi-lo,porém não consigo fazer isso. import tkinter as tk from tkcalendar import Calendar, DateEntry from tkinter import * from tkinter import messagebox from tkinter import Label,Entry from tkinter.ttk import * from datetime import date, datetime Data=datetime.today() class termos: global Data def __init__(self): global Data #Criando dados da janela principal self.janela_principal = tk.Tk() self.janela_principal.title('Konoha')#Define o título da janela self.janela_principal.geometry('450x605') #Define o tamanho da janela #Define titulo no corpo do programa #panel_tile= Label(janela,text='Konoha 1.0',font=('Helvetica', 16),pady=20) #panel_tile.pack() #Botões de sair e para criar termo button = Button(self.janela_principal, text=' Gerar Termo de responsabilidade', command=self.termo) button.pack() self.botao_sair = Button(self.janela_principal, text='Sair', command=self.janela_principal.destroy) self.botao_sair.pack() self.botao_sair.pack() self.janela_principal.mainloop() def termo(self): # Variáveis para vsalvar dados self.janela_termo = tk.Tk() self.janela_termo.geometry('800x450') # Criando os frames self.frame_titulo_janela = Frame(self.janela_termo) self.frame_nome = Frame(self.janela_termo) #Adicionando titulo self.label_titulo_termo=Label(self.frame_titulo_janela,text='Termo de Responsabilidade',font=('Helvetica',16)) #empacotando o titulo self.label_titulo_termo.pack() self.frame_titulo_janela.pack() #Adicionando o Label do nome: self.label_nome = Label(self.frame_nome, text='Nome do colaborador(a):') #Adicionando entry self.usuario=Entry(self.frame_nome,width=80) #empacotando self.label_nome.pack(side='left') self.usuario.pack(side='left') self.frame_nome.pack() print(self.usuario.get()) mainloop() def exibe(self): self.N=self.usuario.get() messagebox.showinfo('O nome é ', self.N) obj=termos() obj.exibe()
  6. Estou tentando instalar o pacote python-docx e o docx no pycharm,porém apresenta o erro da imagem.tento executar o comando pip mas mesmo assim não consigo.O que devo fazer para conseguir realizar a instalação?
  7. tenho que fazer a seguinte consulta: liste o nome do ator com maior numero de papeis em todos os seus filmes e a quantidade total de papeis exercidos por ele esta consulta deve ser feita no link http://www.lbd.dcc.ufmg.br/praticandosql usano o banco de dados imbd top 250
  8. Estou criando um jogo da vida no qual * apresenta as celulas vivas e ' ' as celulas mortas.Nesse jogo o usuário i´ra digitar em uma matriz 5x5 a matriz q sera copiado em uma outra matriz 22x80.Ainda não fiz a parte do jogo que faz a verificação das matrizes vivas e mortas.Ao compilar no final,ao imprimir a matriz 22x80 gerada através da matriz 5x5 o jogo trava,mas não consegui encontrar o erro. #include <iostream> #include <conio.h> #include <stdlib.h> #include <windows.h> using namespace std; void replicar (char dados[5][5]) { int k,l,i,j,cont=0; char aux; for( i=0;i<5;i++) { for( j=0;j<5;j++) { dados[i][j]='0'; } } for(i=0;i<5;i++) { for(j=0;j<5;j++) { system("cls||clear"); cout<<" JOGO DA VIDA "<<endl; cout<<"REGRAS:\n\n * Celula com menos de 2 vizinhos__Morre\n * Celula com 2 ou 3 vizinhos______Vive\n * Celula com + de 3 vizinhos______Morre\n * Celula com 3 vizinhos___________Nasce "<<endl; cout<<"Legenda:\n\n VIVO__* \n MORTO__Espaco \n "<<endl; if(cont==0) { cout<<"\tMatriz inicial:\n\n"; for(k=0;k<5;k++) { for(l=0;l<5;l++) { cout<<"\t"<<" "<<dados[k][l]<<" "; } cout<<endl; } } else{ cout<<endl; for(k=0;k<5;k++) { for(l=0;l<5;l++) { cout<<"\t"<<" "<<dados[k][l]<<" "; } cout<<endl; } } cout<<"\nDigite o valor da linha "<<i+1<<" coluna "<<j+1<<endl; aux=getch(); system("cls||clear"); while(aux!=' ' && aux!='*') { cout<<"ERRO,VALOR DIGITADO E' DIFERENTE DE ESPACO E * "<<endl; cout<<"\nDigite novamente o valor da linha "<<i+1<<" coluna "<<j+1<<endl; aux=getch(); system("cls||clear"); } cont ++; dados[i][j]=aux; } } system("cls||clear"); } void imprime_replica(char r[5][5]) { system("clear||cls"); cout<<"\n A Matrisz digitada foi: "<<endl; for(int k=0;k<5;k++) { for(int l=0;l<5;l++) { cout<<r[k][l]<<" "; } cout<<endl; } } void copia(char re[5][5],char m[22][80]) { int i,j,k,l; char auxiliar; for(i=0;i<22;i++) { for(j=0;j<80;j++) { for(k=0;k<5;k++) { for(l=0;l<5;l++) { auxiliar=re[k][l]; m[i+k][j+l]=auxiliar; } } j=j+4; } i=i+4; } } void imprime_mundo(char mundo[22][80]) { int i,j; system("clear||cls"); cout<<"A matriz gerada foi:"<<endl; for(i=0;i<22;i++) { for(j=0;j<80;j++) { cout<<mundo[i][j]; } cout<<endl; } } int main() { char mundo[22][80];//Salva a matriz que será lida char replica[5][5];//matriz na qual o usuario digitara a sequencia que será replicada na matriz mundo int ciclos;//variável que irá verificar o numero de ciclos que serão gerados int i,j; char continua; for(i=0;i<22;i++) { for(j=0;j<80;j++) { mundo[i][j]='0'; } } replicar(replica); imprime_replica(replica); cout<<"\n Deseja digitar uma nova matriz?(s ou n)"<<endl; cin>>continua; while(continua=='s'||continua=='S') { replicar(replica); imprime_replica(replica); cout<<"\n Deseja digitar uma nova matriz?(s ou n)"<<endl; cin>>continua; } if(continua=='n'||continua=='N') { copia(replica,mundo); imprime_mundo(mundo); } }
  9. então eu posso colocar qualquer matriz composta por 0 e 1 inicialmente e depois gera automatico?Eu preciso pedir para que o usuário digite ou posso já colocar uma automaticamente ?
  10. Preciso criar um programa no qual terá que reproduzir o jogo da vida do matemático John Horton Conway .(https://pt.wikipedia.org/wiki/Jogo_da_vida).Porém não entendi bem a dinâmica do jogo,para reproduzi-lo tenho q solicitar que se digite o conteúdo da matriz ou deve ser gerado automaticamente?.E como ele apareceria na tela? A minha dúvida é sobre o funcionamento do jogo,pois sem entende-lo não conseguirei iniciar o meu código.
  11. eu consegui imprimir os valores mas não sei como imrpimir todas as sequencias de uma só vez,conseguir imprimir apenas a do tipo q estou trabalhando no momento e não as outras q estavam antes e como q funciona esse .at(0)
  12. Preciso criar um menu não grafico,mas não tenho ideia do que seja isso,alguém poderia me explicar?
  13. Preciso criar um vetor de objetos,porém meu código está imprimindo de maneira errada esse vetor.Não entendo muito bem como funciona esse vetor de objetos,alguém poderia me explicar?segque abaixo o código.Além disso tentei sobrecarregar o operador << e está dando erro. #ifndef SEQ_H #define SEQ_H #include <vector> #include <iostream> #include<stdlib.h> using namespace std; class seq { protected: virtual void gen_elems(int )=0 ;// Gera os elementos da série até o iésimo elemento (protected) public: vector <unsigned long int> sequencia; vector<seq *> SEQ; int length() ;// Retorna o tamanho atual da série void print(ostream &os); // Escreve todos os elementos gerados em os (public) unsigned long int elem(int ); // Retorna o iésimo elemento da seqüência (public) void imprime1(int ,int);//Imprime sequencia de i até j int elemento(); void imprime_termo(int ); void menu(seq *); void colocat(seq *); void imprimep(seq *); //void operator <<( ostream &o, seq& s ); }; class fibonacci :public seq { public: fibonacci(int ); ~fibonacci(); void gen_elems(int i) { int aux,aux2,soma,contador,tam; tam=length(); for(contador=tam;contador<=i;contador++) { aux=contador-1; aux2=contador-2; soma=sequencia[aux]+sequencia[aux2]; sequencia.push_back(soma); } } }; class lucas:public seq { public: lucas(int ); ~lucas(); void gen_elems(int i) { int aux,aux2,soma,contador,tam; tam=length(); for(contador=tam;contador<=i;contador++) { aux=(contador-1); aux2=contador-2; soma=sequencia[aux]+sequencia[aux2]; sequencia.push_back(soma); } } }; class Pell: public seq { public: Pell(int ); ~Pell(); void gen_elems(int i) { int aux,aux2,soma,contador,tam; tam=length(); for(contador=tam;contador<=i;contador++) { aux=(contador-1); aux2=contador-2; soma=(2*sequencia[aux])+sequencia[aux2]; sequencia.push_back(soma); } } }; class Triangular:public seq { public: Triangular(int); ~Triangular(); void gen_elems(int i) { int aux,aux2,soma,contador,tam; tam=length(); for(contador=tam;contador<=i;contador++) { aux=(contador-1); aux2=contador; soma=sequencia[aux]+aux2; sequencia.push_back(soma); } } }; class Quadrados:public seq { public: Quadrados(int); ~Quadrados(); void gen_elems(int i) { int aux,soma,contador,tam; tam=length(); for(contador=tam;contador<=i;contador++) { aux=contador; soma=aux*aux; sequencia.push_back(soma); } } }; class Pentagonal:public seq { public: Pentagonal(int ); ~Pentagonal(); void gen_elems(int i) { int aux,aux2,soma,contador,tam; tam=length(); for(contador=tam;contador<=i;contador++) { cout<<"\n contador: "<<contador; aux=contador-1; aux2=(3*contador)+2; soma=(aux*aux2); soma =soma/2; soma=soma+1; sequencia.push_back(soma); } } }; // Implementação void seq::imprimep(seq *b) { int i,tama; tama=b->length(); for(i=0;i<tama;i++) { cout<<SEQ[i]<<" "; } } void seq::colocat(seq *a) { int i,ta; ta=a->length(); for(i=0;i<ta;i++) { SEQ.push_back(a); } } void seq:: menu(seq *p) { int size,x,i,j; int op2; cout<<"\n Digite a opcao desejada(ou 0 para sair):"<<endl; cout<<"(1) Gerar o i-enesimo termo da sequencia:"<<endl; cout<<"(2) Tamanho da sequencia"<<endl; cout<<"(3)Escrever todos os elementos gerados em os"<<endl; cout<<"(4)Imprimir i-enesimo termo"<<endl; cout<<"(5)Imprimir a sequencia de i até j"<<endl; cout<<"(6)Imprimir vetor de objetos"<<endl; cin>>op2; do{ switch (op2) { case (1): p->elemento(); break; case (2): size=p->length(); cout<<"O tamanho da sequencia e:"<<size<<endl; cout<<endl; break; case (3): p->print(cout); break; case(4): cout<<"Digite o termo que deseja imprimir: "<< endl; cin>>x; p->imprime_termo(x); break; case(5): cout<<"Digite o inicio da impressao:"<<endl; cin>>i; cout<<"Digite o fim da impressao"<<endl; cin>>j; p->imprime1(i,j); break; case(6): p->colocat(p); p->imprimep(p); } cout<<"\n Digite a opcao desejada(ou 0 para sair):"<<endl; cout<<"(1) Gerar o i-enesimo termo da sequencia:"<<endl; cout<<"(2) Tamanho da sequencia"<<endl; cout<<"(3)Escrever todos os elementos gerados em os"<<endl; cout<<"(4)Imprimir i-enesimo termo"<<endl; cout<<"(5)Imprimir a sequencia de i até j"<<endl; cout<<"(6)Imprimir vetor de objetos"<<endl; cin>>op2; system("clear||cls"); }while(op2!=0); } void seq::imprime1(int ii ,int ifi) { int ct,tamanho; tamanho=length(); if(ifi!=tamanho) { gen_elems(ifi); } for(ct=ii;ct<ifi;ct++) { cout<<sequencia[ct]<<" "; } } unsigned long int seq::elem(int i) { return sequencia[i]; } int seq::length() { return sequencia.size(); } int seq::elemento() { int elementos; cout<<"Digite o numero de elementos que deseja gerar:"<<endl; cin>>elementos; if(elementos==length() ) { cout<< "Lista ja gerada!"<<endl; } else{ gen_elems(elementos); } } void seq ::print(ostream &os) { int i,t; t=length(); for(i=0;i<t;i++) { os << sequencia[i]<<" " ; } } /*void seq::operator<<( ostream &o, seq& s ) { o <<s.print(); }*/ void seq::imprime_termo(int term) { int tama=length(); if(term!=tama) { gen_elems(term); } cout<<"O "<<term <<"da sequencia e:"<<sequencia[term]<<endl; } fibonacci::fibonacci(int n) { int tamanho; tamanho=length(); sequencia.push_back(0); sequencia.push_back(1); sequencia.push_back(1); if(n<tamanho) { gen_elems(n); } } fibonacci::~fibonacci() { } lucas::lucas(int l) { int TAMANHO; TAMANHO=length(); sequencia.push_back(0); sequencia.push_back(1); sequencia.push_back(3); if(l<TAMANHO) { gen_elems(l); } } lucas::~lucas(){} Pell::Pell(int P) { int TAMAN; TAMAN=length(); sequencia.push_back(0); sequencia.push_back(1); sequencia.push_back(2); if(P<TAMAN) { gen_elems(P); } } Pell::~Pell(){}; Triangular::Triangular(int T) { int Tamanho; Tamanho=length(); sequencia.push_back(0); sequencia.push_back(1); sequencia.push_back(3); if(T <Tamanho) { gen_elems(T); } } Triangular:: ~Triangular(){} Quadrados::Quadrados(int Q) { int TamanhO; TamanhO=length(); sequencia.push_back(0); sequencia.push_back(1); sequencia.push_back(4); if(Q <TamanhO) { gen_elems(Q); } } Quadrados::~Quadrados(){} Pentagonal::Pentagonal(int p) { int TAmanhO; TAmanhO=length(); sequencia.push_back(0); sequencia.push_back(1); sequencia.push_back(5); if(p <TAmanhO) { gen_elems(p); } } Pentagonal::~Pentagonal(){} #endif //main #include <iostream> #include <vector> #include <stdlib.h> #include "seq.h" using namespace std; int main() { seq *fib= new fibonacci(3); seq *luc= new lucas(3); seq *pe= new Pell(3); seq *t= new Triangular(3); seq *q= new Quadrados(3); seq *p= new Pentagonal(3); int op; cout<<"\nDigite a sequencia desejada(ou 0 para sair):"<<endl; cout<<"(1)Fibonacci "<<endl; cout<<"(2)Lucas"<<endl; cout<<"(3)Pell"<<endl; cout<<"(4)Triangular"<<endl; cout<<"(5)Quadrados"<<endl; cout <<"(6)Pentagonal "<<endl; cin>>op; system("clear||cls"); while(op!=0) { if(op==1) { fib->menu(fib); } if(op==2) { luc->menu(luc); } if (op==3) { pe->menu(pe); } if (op==4) { t->menu(t); } if (op==5) { q->menu(q); } if (op==6) { p->menu(p); } cout<<"\nDigite a sequencia desejada(ou 0 para sair):"<<endl; cout<<"(1)Fibonacci "<<endl; cout<<"(2)Lucas"<<endl; cout<<"(3)Pell"<<endl; cout<<"(4)Triangular"<<endl; cout<<"(5)Quadrados"<<endl; cout <<"(6)Pentagonal "<<endl; cin>>op; system("clear||cls"); } }
  14. Preciso fazer um trabalho que inclue herança e polimorfismo,nesse trabalho preciso declarar um método na classe base como protected.Devido a isso quando faço a chamada desse método com o objeto da classe derivada não consigo acessa-lo por se tratar de um metodo protegido,como eu acessaria esse metodo sem alterar para public?posso fazer a chamada desse metodo dentro da definição de um metodo da classe derivada?
  15. Fiz esse código com alocação dinâmica e ele compila,porém o primeiro elemento do vetor imprime de maneira errada pois imprime o endereço de memória,o que tenho q mudar? Segue abaixo a foto do erro e o código #include<stdio.h> #include<stdlib.h> int main() { int *vetor,i; *vetor=(int*)malloc(5); if(vetor == NULL) { printf("Alocacao fracassada!"); return vetor; } else{ for(i=0;i<5;i++) { printf("\nDigite o %d valor: ",i+1); scanf("%d",&vetor[i]); system("clear||cls"); } printf(" %d",vetor[0]); printf("\nO vetor digitado foi:\n["); for(i=0;i<5;i++) { printf(" %d,",vetor[i]); } printf(" ]\n"); } free(vetor); system("pause"); return 0; }
  16. Criei esse programa que realiza cadastro de alunos.Porém a função remove,que assim como o nome já diz remove alunos,não está funcionando adequadamente pois não está removendo os alunos na impressão.Além disse a insere ordenado que deveria colocar em ordem alfabetica não está fazendo isso.O que há de errado com as funções? #include <stdio.h> #include <stdlib.h> #include <string.h> #define Tamanho 70 #define NProvas 3 typedef struct sTipoAluno TipoAluno; struct sTipoAluno { char Nome[Tamanho]; float Nota[NProvas]; TipoAluno *PtrProximo; }; TipoAluno * IniciaLista();//Cria uma lista vazia int listavazia(TipoAluno *);//Verifica se a lista está vazia TipoAluno * insere (TipoAluno *);//Insere elemento na lista TipoAluno * InsereOrdenado (TipoAluno *);//Insere elemento de forma ordenada na lista TipoAluno * busca (TipoAluno *);// Busca um elemento da lista TipoAluno * removeAluno (TipoAluno *);// Remove um elemento da lista void imprime (TipoAluno *);// Imprime todos os elementos da lista int main () { TipoAluno *alunos = IniciaLista(); alunos = InsereOrdenado(alunos); alunos = InsereOrdenado(alunos); alunos = InsereOrdenado(alunos); alunos = insere(alunos); imprime(alunos); alunos = removeAluno(alunos); imprime(alunos); getchar(); return 0; } TipoAluno * IniciaLista() { printf("<<<<<LISTA INICIALIZADA>>>>\n"); return NULL;//CRIACAO DO HEAD //O } int listavazia(TipoAluno *alunos) { if(alunos == NULL) return 0; else return 1; } TipoAluno * insere (TipoAluno *alunos). { TipoAluno *novo = (TipoAluno *)malloc(sizeof(TipoAluno)); int i; printf("\nDigite o nome do Aluno: "); setbuf(stdin, NULL); gets(novo->Nome); for(i=0 ; i<NProvas; i++) { printf("\nDigite a nota da Prova %d: ", i+1); setbuf(stdin, NULL); scanf("%f", &novo->Nota[i]); } novo->PtrProximo = alunos; alunos = novo; return alunos; } TipoAluno * InsereOrdenado (TipoAluno *alunos) { TipoAluno *percorre = alunos;. TipoAluno *novo = (TipoAluno *)malloc(sizeof(TipoAluno)); int i; printf("\nDigite o nome do Aluno: "); setbuf(stdin, NULL); gets(novo->Nome); for(i=0 ; i<NProvas; i++) { printf("\nDigite a nota da Prova %d: ", i+1); setbuf(stdin, NULL); scanf("%f", &novo->Nota[i]); } if (listavazia(alunos) == 0) { novo->PtrProximo = alunos; alunos = novo; return alunos; }else { if (strcmp(alunos->Nome, novo->Nome) > 0 ) { novo->PtrProximo = alunos; alunos = novo; return alunos; } while (percorre->PtrProximo != NULL) { if (strcmp((percorre->PtrProximo)->Nome, novo->Nome) > 0 ) { novo->PtrProximo = percorre->PtrProximo; percorre->PtrProximo = novo; return alunos; } percorre = percorre->PtrProximo; } if (percorre->PtrProximo == NULL) { novo->PtrProximo = NULL; percorre->PtrProximo = novo; } } return alunos; } TipoAluno * busca (TipoAluno *alunos) { char nomebusca[Tamanho]; TipoAluno *aux = alunos; printf("\nDigite o nome para Busca: "); setbuf(stdin, NULL); gets(nomebusca); while (aux != NULL) { if ((strcmp(nomebusca, aux->Nome) == 0)) { printf("\nNOME ENCONTRADO!!!!"); return aux; } aux = aux->PtrProximo; } printf("\nNOME NÃO ENCONTRADO."); return aux; } TipoAluno * removeAluno (TipoAluno *alunos) { TipoAluno *aux, *auxAnterior = alunos; aux = busca(alunos); if(alunos==NULL) if (aux == alunos) { alunos = alunos->PtrProximo; free(aux); }else if (aux != NULL) { while (auxAnterior->PtrProximo != aux) { auxAnterior = auxAnterior->PtrProximo;. } auxAnterior->PtrProximo = aux->PtrProximo; free(aux); } return alunos; } void imprime (TipoAluno *alunos) { TipoAluno *percorre = alunos; int i; while (percorre != NULL) { printf("\n========================================================"); printf("\nNome: %s", percorre->Nome); for(i=0 ; i<NProvas ; i++) { printf("\nNota(%d): %.2f", i+1, percorre->Nota[i]); } printf("\n========================================================"); percorre = percorre->PtrProximo; } }
  17. @Simon Viegas a questão do void int eu até entendo,só mudei pra ficar parecido ao exercicio anterior que é assim: mas tinha me esquecido dessa questão do ponteiro. em relação a isso eu não estava levando tanto em consideração isso porque esse exercicio estou refazendo partes q fiquei com duvidas,mais como um treino mesmo,logo nem levei isso em consideração. realmente no exercicio não tem essa limitação mas o exercicio após esse pede somente expoentes negativos então preferi fazer esse apenas para expoentes positivos. muito obrigado!
  18. segue abaixo o enunciado: adicionado 10 minutos depois referente a essa parte eu cometi um erro me desculpe,eu também tenho um programa q calcula apenas com expoentes negativos e ele estava aberto no momento e por falta de atenção calculei 2^-3 nele e acabei me equivocando.esse programa em questão calcula apenas com expoentes positivos. segue o código abaixo,adicionei um while para q não aceite expoentes negativos: #include <stdio.h> #include <stdlib.h> int leitura(char); int xelevadoy(int,int,int*); void imprime(int,int,int); int main() { int x,y,potencia=1; x=leitura('x'); y=leitura('y'); while(y<0) { printf("\nERRO!!ESTE PROGRAMA CALCULA SOMENTE POTENCIAS DE EXPOENTE POSITIVOS!!\n"); y=leitura('y'); } xelevadoy(x,y,&potencia); imprime(x,y,potencia); system("pause"); return 0; } int leitura(char x) { int y; printf("\n Digite o valor de %c:",x); scanf("%d",&y); system("clear||cls"); return y; } int xelevadoy(int x,int y,int *potencia) { int i; for(i=1;i<=y;i++) { *potencia=*potencia*x; } return *potencia; } void imprime(int x,int y,int potencia) { printf("\n %d^%d=%d \n",x,y,potencia); }
  19. @Simon Viegas estava errado porque no enunciado tinha o prototipo da função e pedia q fosse int e não tinha notado isso depois eu troquei.Eu coloquei return potencia depois q tinha postado e me esqueci de editar,e no meu eu testei 2^-3 e foi corretamente olha só:
  20. Muito obrigado a todos,o void antes do imprime foi porque eu copiei o nome e colei na main e esqueci de tirar o void,agora está funcionando corretamente,troquei também na função xelevadoy o void por int,que eu tinha colocado errado mesmo por descuido e também mudei o valor recebido por i,antes estava 0,troquei por 1 e ficou assim: #include <stdio.h> #include <stdlib.h> int leitura(char); int xelevadoy(int,int,int*); void imprime(int,int,int); int main() { int x,y,potencia=1; x=leitura('x'); y=leitura('y'); xelevadoy(x,y,&potencia); imprime(x,y,potencia); system("pause"); return 0; } int leitura(char x) { int y; printf("\n Digite o valor de %c:",x); scanf("%d",&y); system("clear||cls"); return y; } int xelevadoy(int x,int y,int *potencia) { int i; for(i=1;i<=y;i++) { *potencia=*potencia*x; } } void imprime(int x,int y,int potencia) { printf("\n %d^%d=%d \n",x,y,potencia); }
  21. Tenho que fazer um programa dessa maneira usando ponteiro e um sem ponteiro,o sem ponteiro eu consegui fazer mas com ponteiro não está dando certo porque ainda tenho certa difiuldade com ponteiros.O q tenho q fazer para q o programa funcione? #include <stdio.h> #include <stdlib.h> int leitura(char); void xelevadoy(int,int,int*); void imprime(int,int,int); int main() { int x,y,potencia=1; x=leitura('x'); y=leitura('y'); xelevadoy(x,y,&potencia); void imprime(x,y,potencia); system("pause"); return 0; } int leitura(char x) { int y; printf("\n Digite o valor de %c:",x); scanf("%d",&y); system("clear||cls"); return y; } void xelevadoy(int x,int y,int *potencia) { int i; potencia=1; for(i=0;i<=y;i++) { potencia=potencia*x; } } void imprime(int x,int y,int potencia) { printf("\n %d^%d=%d \n",x,y,potencia); }

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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!