Escopo


  • O FAQ discente visa atender alunos de escolas e universidades com o objetivo de esclarecer dúvidas relacionadas ao cotidiano acadêmico através de um ambiente interativo que possibilita cadastro de informações e perguntas.

Funcionalidades


  1. Pesquisar dúvidas
  2. Cadastrar Perguntas/respostas
  3. Avaliar Perguntas/Respostas
  4. Contato de Coordenações/instituições
  5. Top 10 perguntas mais frequentes
  6. Cadastro de alunos
  7. Sites importantes


Código


<syntaxhighlight lang="python3">

  1. C�digo fonte, adicionado os comandos de tratamento de arquivo
  2. Ao abrir e fechar o programa, os dados salvos desaparecem

print("Bem vindo ao FAQ discente!") arquivo = open('arquivofaq.txt', 'w') donos=["Jos�",'\n',"Fl�vio",'\n',"Vit�ria",'\n',"Sabrina",'\n'] users=[] senhausers=[] sites=[] nsites=[] contatos=[] ncontatos=[] pergunta_mat = [] resposta_mat = [] pergunta_atv= [] resposta_atv= [] arquivo.writelines(donos) arquivo.writelines(users) arquivo.writelines(senhausers) arquivo.writelines(sites) arquivo.writelines(nsites) arquivo.writelines(contatos) arquivo.writelines(ncontatos) arquivo.writelines(pergunta_mat) arquivo.writelines(resposta_mat) arquivo.writelines(pergunta_atv) arquivo.writelines(resposta_atv) arquivo.close() pal_chave=1 nmat=0 natv=0 y=0 teste=0 i=0 op2=0 a=0 b=0 c=0 d=0 e=0 f=0 g=0 h=0 j=0 k=0 nomeuser="a" ndeuser=0 nacesso=0 w=0 u=0 arquivo = open('arquivofaq.txt', 'a') sobre_nos="O FAQ discente visa atender alunos de escolas e universidades com o objetivo de esclarecer d�vidas relacionadas ao cotidiano acad�mico atrav�s de um ambiente interativo que possibilita cadastro de informa��es e perguntas.\nQualquer d�vida, entre em contato: jose.gomide@ufu.br\n" arquivo.writelines(sobre_nos) arquivo.close() def goto(linenum):

 global line
 line = linenum

line=1 while (True):

 if line==1:
   entrada=int(input("Deseja fazer: \n1.Cadastro\n2.Login\nDigite o n�mero referente a fun��o: "))
   if entrada == 1:
     goto(2)
   elif entrada == 2:
     goto(3)
   while (entrada<1 or entrada >2 and i<1):
     print("Fun��o inv�lida")
     entrada=int(input("Deseja fazer:\n1.Cadastro\n2.Login\nDigite o n�mero referente a fun��o: "))
     i+=1
 if (line==2):
   print("Realize seu cadastro!")
   arquivo = open('arquivofaq.txt','a')
   users.append(input("Digite seu nome de usu�rio: "))
   users.append('\n')
   senhausers.append(input("Digite sua senha senha: "))
   if (users[-1] in users [0:-1]):
     print("User j� escolhido! :(")
     print("Realize seu cadastro")
     users.append(input("Digite seu nome de usu�rio: "))
     senhausers.append(input("Digite sua senha senha: "))
   else:
     print ("Cadastro Realizado")
     goto(3)
   arquivo.writelines(users)
   arquivo.writelines(senhausers)
   arquivo.close()
 elif line ==3:
   print ("Realize o seu login!")
   nomeuser=input("Digite o nome de usu�rio: ")
   senhauser=input("Digite sua senha: ")
   if (nomeuser in donos and senhauser=="04572" and i<1):
     i+=1
     while(True):
       Op = int(input('Funcionalidades:\n1.Cadastrar Perguntas/respostas\n2.Pesquisar d�vidas\n3.Perguntas mais frequentes\n4.Contato de Coordena��es/institui��es e Sites importantes\n5.Sobre n�s\n6.Sair\nDigite a op��o desejada:'))
       if Op == 1:
         arquivo = open('arquivofaq.txt','a')
         print("Cadastro de perguntas e Respostas!")
         print("Palavras chaves dispon�veis:\n1.Matr�cula\n2.Atividades extracurriculares")
         pal_chave=int(input("Digite o n�mero referente a Palavra Chave: "))
         if (pal_chave==1):
           pergunta_mat.append(input("\nPergunta: "))
           resposta_mat.append(input("\nResposta: "))
         elif (pal_chave==2):
           pergunta_atv.append(input("\nPergunta: "))
           resposta_atv.append(input("\nResposta: "))
         else:
           print ("Palavra chave inv�lida")
         arquivo.writelines(pergunta_mat)
         arquivo.writelines(resposta_mat)
         arquivo.writelines(pergunta_atv)
         arquivo.writelines(resposta_atv)
         arquivo.close()
       if Op==2:
         print ("Fun��o de pesquisa de Perguntas!")
         print("Pesquise uma Palavra Chave para ter acesso �s perguntas\nPalavras chave dispon�veis: \n1.Matr�cula\n2.Atividades Extracurriculares")
         pal_chave=int(input("Digite o n�mero referente a Palavra Chave: "))
         while (pal_chave==1 and y<len(pergunta_mat)):
           arquivo = open('arquivofaq.txt','r')
           arquivo.readline()            
           print ("Pergunta: %s\nResposta: %s" %(pergunta_mat[y],resposta_mat[y]))
           y+=1
           nmat+=1
           arquivo.close()
         while (pal_chave==2 and j<len(pergunta_atv)):
           arquivo=open('arquivofaq.txt','r')
           arquivo.readline()            
           print ("Pergunta: %s\nResposta: %s" %(pergunta_atv[j],resposta_atv[j]))
           j+=1
           natv+=1
           arquivo.close()
       if Op==3:
         y=0
         arquivo=open('arquivofaq.txt','r')
         arquivo.readline()          
         print ("Perguntas mais frequentes")
         while (k<len(pergunta_mat) and (nmat>natv)):
           print ("Pergunta: %s\nResposta: %s" %(pergunta_mat[k],resposta_mat[k]))
           k+=1
         while (a<len(pergunta_atv) and (natv>nmat)):
           print ("Pergunta: %s\nResposta: %s" %(pergunta_atv[a],resposta_atv[a]))
           a+=1
         arquivo.close()
       if Op==4:
         print ("Contato de Coordena��es e Institui��es, sites importantes\nOp��es:\n1. Para cadastrar novos Contatos\n2.Para cadastrar novos Sites\n3.Para visualizar contatos j� cadastrados\n4.Para visualizar sites j� cadastrados")
         op2=int(input("Digite o n�mero referente a op��o que deseja: "))
         if (op2==1):
           arquivo = open('arquivofaq.txt','a')
           print("Cadastro de Contatos!")
           contatos.append(input("\nDigite o Nome do Contato: "))
           ncontatos.append(input("\nDigite o n�mero do contato: "))
         elif (op2==2):
           print ("Cadastro de novos Sites importantes!")
           sites.append(input("\nDigite o nome do Site: "))
           nsites.append(input("\nDigite o endere�o do Site: "))
           arquivo.writelines(contatos)
           arquivo.writelines(ncontatos)
           arquivo.writelines(sites)
           arquivo.writelines(nsites)
           arquivo.close()
         elif (op2==3):
           arquivo=open('arquivofaq.txt','r')
           arquivo.readline()            
           while (w<len(contatos)):
             print ("Contato: %s\n%s" %(contatos[w], ncontatos[w]))
             w+=1
           arquivo.close()
         elif (op2==4):
           arquivo=open('arquivofaq.txt','r')
           arquivo.readline()            
           while (u<len(sites)):
             print ("Site: %s\n%s" %(sites[u], nsites[u]))
             u+=1
           arquivo.close()
       if Op==5:
         print ("Sobre n�s!\n%s"%(sobre_nos))
       if Op==6:
         break
       print ("Sair")
       while (1>Op or Op>6):
         print ("Fun��o inv�lida")
   elif (nomeuser not in users or nomeuser not in donos and senhauser not in senhausers) :
     try:
       print ("Usu�rio ou senha inv�lidos")
       goto(1)
     except ValueError:
       print ("Usu�rio ou senha inv�lidos")
       goto(1)
   elif (nomeuser in donos and senhauser!="04572"):
     try:
       print ("Usu�rio ou senha inv�lidos")
       goto(1)
     except ValueError:
       print ("Usu�rio ou senha inv�lidos")
       goto(1)
   elif (nomeuser in users and users.index(nomeuser)!=senhausers.index(senhauser)):
     try:
       print ("Usu�rio ou senha inv�lidos")
       goto(1)
     except ValueError:
       print ("Usu�rio ou senha inv�lidos")
       goto(1)
   elif (nomeuser not in donos and users.index(nomeuser)==senhausers.index(senhauser)):
     while(True and i<1):
       i+=1
     while(True):
       Op = int(input('Funcionalidades:\n1.Pesquisar d�vidas\n2.Perguntas mais frequentes\n3.Contato de Coordena��es/institui��es e Sites importantes\n4.Sobre n�s\n5.Sair\nDigite a op��o desejada:'))
       if Op == 1:
         arquivo=open('arquivofaq.txt','r')
         arquivo.readline()                  
         print ("Fun��o de pesquisa de Perguntas!")
         print("Pesquise uma Palavra Chave para ter acesso �s perguntas\nPalavras chave dispon�veis:\n1.Matr�cula\n2.Atividades Extracurriculares")
         pal_chave=int(input("Digite o n�mero referente a Palavra Chave: "))
         while (pal_chave==1 and b<len(pergunta_mat)):
           print ("Pergunta: %s\nResposta: %s" %(pergunta_mat[b],resposta_mat[b]))
           b+=1
           nmat+=1
         while (pal_chave==2 and c<len(pergunta_atv)):
           print ("Pergunta: %s\nResposta: %s" %(pergunta_atv[c],resposta_atv[c]))
           c+=1
           natv+=1
         arquivo.close()
       if Op==2:
         arquivo = open('arquivofaq.txt','r')
         arquivo.readline()          
         y=0          
         print ("Perguntas mais frequentes")
         while (d<len(pergunta_mat) and (nmat>natv)):
           print ("Pergunta: %s\nResposta: %s" %(pergunta_mat[d],resposta_mat[d]))
           d+=1
         while (e<len(pergunta_atv) and (natv>nmat)):
           print ("Pergunta: %s\nResposta: %s" %(pergunta_atv[e],resposta_atv[e]))
           e+=1
         arquivo.close()
       if Op==3:
         arquivo=open('arquivofaq.txt','r')
         arquivo.readline()          
         print ("Contato de Coordena��es e Institui��es, sites importantes")
         while (f<len(contatos)):
           print ("Contato: %s\n%s" %(contatos[f], ncontatos[f]))
           f+=1
         while (g<len(sites)):
           print ("Site: %s\n%s" %(sites[g], nsites[g]))
           g+=1
         arquivo.close()
       if Op==4:
         print ("Sobre n�s!\n%s"%(sobre_nos))
       if Op==5:
         print ("Sair")
         break
       while (1>Op or Op>5):
         print ("Fun��o inv�lida")
         Op=int(input('Digite a op��o desejada:'))

</syntaxhighlight>