Ir para o conteúdo
Anonym

[C++] Ajuda: Problema com variáveis (Resolvido)

Mensagens Recomendadas

Anonym    0
Anonym

Boas, então é o seguinte... Eu tenho o seguinte

cout << "Insira numero do ficheiro para abrir"

cin >> n

system(n+".mp3")

cout << "quer ficheiro?"

(...)

mas o tal system(n+".mp3") não funciona, eu cria que abrisse o ficheiro n.txt sendo n o numero inserido pelo user..  ;)

edit:

int n

e o programa anda mas aparece '.mp3' nao é reconhecido como comando batch etc... 

esquecime de uma coisa, a funcao system("") para completamente a execução do programa... e tipo eu cria algo do género, o ficheiro abria e o utilizador dizia se cria o ficheiro ou podia ser apagado, ao mesmo tempo da execução, e se fosse para ser apagado passava ao n+1.mp3 ..

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
unsignedint    0
unsignedint

É assim o que deves querer fazer é o seguinte (experimentei dev-c++) :

#include <cstdlib>
#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
    int n;
    char cmd[80];
    cout << "Insira numero do ficheiro para abrir"<<endl;
    cin >> n;
    sprintf(cmd, "type %.d", n);
    system( cmd );
    system("PAUSE");
    return EXIT_SUCCESS;
}

Mas esta não é a maneira correcta de abrir um ficheiro, se o quiseres manipular usando o c++.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
unsignedint    0
unsignedint

Na pasta onde estás a correr o programa, mete lá um ficheiro com o nome q pretendes abrir.

Do estilo se o numero é o 0 cria lá primeiro um ficheiro com o nome 0.txt com algum texto lá só para testares.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Anonym    0
Anonym

' A sintaxe do comando esta incorrecta ' é o que aparece quando insiro '0' e tenho ta um 0.txt

quando insiro '1'  e tenho um ficheiro 1.txt aparece 'o sistema nao conseguiu localizar o ficheiro...

isso de por um ficheiro com o nome já eu tinha feito a minha ignorancia tb nao é tanta ;)

tb uso o Dev c++ e tenho Windows xp

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
unsignedint    0
unsignedint

Via + 1 vez, tinha um erro no codigo não sei se reparas-te :-)

Fiz copy past da versão anterior do codigo.

O erro estava aqui:

sprintf(cmd, "type %d.txt", n);

Usa este novo codigo:

#include <cstdlib>
#include <iostream>
//#include <stdlib>
using namespace std;

int main(int argc, char *argv[])
{
    int n;
    char cmd[80];
    cout << "Insira numero do ficheiro para abrir"<<endl;
    cin >> n;
    sprintf(cmd, "type %d.txt", n);
    system( cmd );
    system("\nPAUSE");
    return EXIT_SUCCESS;
}

Esta já deve funcar.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade