braulio_holtz

erro antes de digitar titulo e mensagem

Oct 29th, 2013
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.09 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <string>
  4. #include <fstream>
  5.  
  6. using namespace std;
  7.  
  8. string folder = "criptografia/"; // Facilitar manutenção
  9.  
  10. // Função para criar uma mensagem
  11. bool create_message(string message, string filename)
  12. {
  13.     ofstream arq;
  14.     filename = folder+filename+".txt";
  15.     arq.open(filename.c_str()); // fix: Colocar uma variavel para criação de várias mensagens
  16.     if (arq.is_open())  // Se houve erro na abertura
  17.     {
  18.         arq << message; /* Grava a string, caractere a caractere */
  19.         arq.close();
  20.         return true;
  21.  
  22.     }
  23.     else
  24.     {
  25.         return false;
  26.     }
  27. }
  28.  
  29. // Função para ler a mensagem
  30. string read_message(string filename)
  31. {
  32.     filename = folder+filename+".txt";
  33.     ifstream arq_read(filename.c_str());
  34.     string letra="";
  35.     if (arq_read.is_open())  // Se houve erro na abertura
  36.     {
  37.         while(!arq_read.eof())
  38.         {
  39.             getline(arq_read, letra); // Saves the line in letra.
  40.  
  41.         }
  42.         arq_read.close();
  43.     }
  44.     return letra;
  45. }
  46.  
  47. int main()
  48. {
  49.     int p = 0, q = 0, phi = 0, menu = 0;
  50.     string message = "", filename = "";
  51.  
  52.     do {
  53.         system("cls");
  54.         cout << "Menu: \n1 - criar texto criptogrado\n2 - ler texto criptografado\n";
  55.         cin >> menu;
  56.     fflush(stdin); // Corrigir o bug na entrada de dados
  57.         if (menu==1)
  58.         {
  59.             system("cls");
  60.             cout << "Digite o nome do arquivo:\n";
  61.             getline(cin, filename);
  62.         fflush(stdin);
  63.             cout << "Digite a sua mensagem:\n";
  64.             getline(cin, message);
  65.         fflush(stdin);
  66.             if (create_message(message, filename))  // Se houve erro na abertura
  67.             {
  68.                 cout << "Arquivo criado com exito\n";
  69.  
  70.             }
  71.             else
  72.             {
  73.                 cout << "Problemas na abertura do arquivo\n";
  74.             }
  75.             system("pause");
  76.         } else if (menu == 2)
  77.         {
  78.             cin >> filename;
  79.             cout << read_message(filename);
  80.         }
  81.     } while (menu==1 || menu==2);
  82.     return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment