Jose38 (discussão | contribs)
Sem resumo de edição
 
Linha 14: Linha 14:
#Cadastro de alunos
#Cadastro de alunos
#Sites importantes
#Sites importantes
<br>
= Código =
<br>
<syntaxhighlight lang="python3">
# C�digo fonte, adicionado os comandos de tratamento de arquivo
# 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>

Edição atual tal como às 02h17min de 14 de julho de 2018

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>