FMC Posted January 31, 2016 at 10:05 PM Report Share #592848 Posted January 31, 2016 at 10:05 PM 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 comment Share on other sites More sharing options...
HappyHippyHippo Posted January 31, 2016 at 10:07 PM Report Share #592849 Posted January 31, 2016 at 10:07 PM 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 comment Share on other sites More sharing options...
FMC Posted January 31, 2016 at 10:09 PM Author Report Share #592850 Posted January 31, 2016 at 10:09 PM 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 comment Share on other sites More sharing options...
Solution HappyHippyHippo Posted January 31, 2016 at 10:20 PM Solution Report Share #592851 Posted January 31, 2016 at 10:20 PM 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 comment Share on other sites More sharing options...
FMC Posted January 31, 2016 at 10:30 PM Author Report Share #592852 Posted January 31, 2016 at 10:30 PM (edited) ok, obrigado ! Lol sou tão estúpido! 😕 Edited January 31, 2016 at 10:30 PM by FMC "The greatest mistake you can make in this life is to be continually fearing you will make one." Elbert Hubbard - Link to comment Share on other sites More sharing options...
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