FMC 2 Posted January 31, 2016 Report Share Posted January 31, 2016 Olá malta estou aqui a fazer um mini projecto de c++, onde estou a criar um bloco de notas, e mais tarde vou usar para programar(ideia maluca mas pronto), e queria que o utilizador no inicio coloca-se no inicio o caminho e o nome do ficheiro exemplo : /home/fmc/ficheiro.txt Como faço?E ste código está a criar um ficheiro como default, e não inserido pelo utilizador! #include <iostream> #include <fstream> using namespace std; bool e_letra(char a) //confirma se é letra { bool saida; if ((a>='a' && a<='z') || (a>='A' && a<='Z') ) //Se for alguma letra saida=true; else saida=false; return saida; } bool e_numero(char a) //confirma se é numero { bool saida; if (a>='1' && a<='9') //se for algum numero saida=true; else saida=false; return saida; } bool e_espaco(char a) { bool saida; if (a == ' ' || a=='\t' || a== '\r' || a == '\n') //se for algum tipo de espaço saida=true; else saida=false; return saida; } void texto(){ //variáveis char entrada; unsigned numero_letras=0,numero_numeros=0,numero_outros=0,numero_espacos; ofstream esc; esc.open("saida.txt"); //Texto inicial cout << "Escreve, para parar *" << endl; do{ entrada = (char) cin.get(); //Para recolher espaços esc << entrada; if (e_letra(entrada)) //Se for letra, adiciona uma na variavel letra numero_letras++; else if (e_numero(entrada)) //Se não for letra e se for numero adc uma a variavel num numero_numeros++; else if (e_espaco(entrada)) numero_espacos++; else //Se não for nenhuma das anteriores é caracter especial numero_outros++; } while(entrada!='*'); // repetir até chegar o caracter * esc.close(); cout << "Saiu porcausa que escrever o caracter '*', e esse foi ignorado" << endl; //Mensagem de aviso cout << numero_letras << " letra" << (numero_letras!=1 ? "s":"") << endl; cout << numero_numeros << " numero" << (numero_numeros!=1 ? "s":"") << endl; cout << numero_espacos << " espaço" << (numero_espacos!=1 ? "s":"") << endl; cout << numero_outros << " outro" << (numero_outros!=1 ? "s":"") << " caracter" << (numero_outros!=1 ? "es":"") << endl; } int main() { texto(); return 0; } "The greatest mistake you can make in this life is to be continually fearing you will make one." Elbert Hubbard - Link to post Share on other sites
HappyHippyHippo 1,162 Posted January 31, 2016 Report Share Posted January 31, 2016 queres pedir ao utilizador pelo nome do ficheiro ou pretendes que ele passe como argumento da chamada da aplicação ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to post Share on other sites
FMC 2 Posted January 31, 2016 Author Report Share Posted January 31, 2016 queres pedir ao utilizador pelo nome do ficheiro ou pretendes que ele passe como argumento da chamada da aplicação ? quero pedir ao utilizador o caminho e o nome do ficheiro! "The greatest mistake you can make in this life is to be continually fearing you will make one." Elbert Hubbard - Link to post Share on other sites
HappyHippyHippo 1,162 Posted January 31, 2016 Report Share Posted January 31, 2016 std::string nome_do_ficheiro; std::cout << "nome do ficheiro ? : "; std::cin >> nome_do_ficheiro; IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to post Share on other sites
FMC 2 Posted January 31, 2016 Author Report Share Posted January 31, 2016 (edited) ok, obrigado ! Lol sou tão estúpido! Edited January 31, 2016 by FMC "The greatest mistake you can make in this life is to be continually fearing you will make one." Elbert Hubbard - Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now