system("sleep %d", &segundos); Não funciona [RESOLVIDO]

1. system("sleep %d", &segundos); Não funciona [RESOLVIDO]

Marcos Souza
IUseLinux

(usa Slackware)

Enviado em 24/02/2017 - 20:35h

Quero fazer o script dar pause, pelo tempo que a pessoa escolheu como posso fazer?


#include <iostream>
#include <stdlib.h>

using namespace std;

int pcs, pessoas;
int valor, minutos, segundos;

int entrada(void){
cout << "Quantos minutos vai usar?" << endl;
cin >> minutos;
valor = minutos * 0.2;
cout << "Vai custar R$" << valor << endl;
char confirmar[1];
cout << "Confirmar o uso do servico? s n" << endl;
cin >> confirmar;
if ( confirmar == "s" ){
cout << "Obrigado, tempo iniciado" << endl;
}
else{
cout << "Volte sempre!" << endl;
return 0;
}
return 0;
}
int marcarTempo(void){

segundos = minutos * 60;
system("sleep %d", %segundos);
return 0;
}
int main(void){
while (true){
entrada();
marcarTempo();
}
return 0;
}



  


2. MELHOR RESPOSTA

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 25/02/2017 - 15:39h

IUseLinux escreveu:

int marcarTempo(void){

segundos = minutos * 60;
system("sleep %d", %segundos);
return 0;
}


Qualquer dúvida dê um man sprintf, ou então procure no google alguns exemplos, é altamente documentada essa função. Além de também busque algo sobre a função sleep(), pra não ficar dependendo de outro programa só pra paralisar o seu próprio.

int marcarTempo(void){
char str[64];
sprintf(str,"sleep %d", segundos);
system(str);
return 0;
}



3. Re: system("sleep %d", &segundos); Não funciona [RESOLVIDO]

Marcos Souza
IUseLinux

(usa Slackware)

Enviado em 25/02/2017 - 15:30h

Ninguém?!


I3 2.3Ghz , 4Gb de Ram DDR4, 1TB.
Slackware 14.2 com KDE.

"Talk is cheap, show me the code"

#Linux user: 619644





4. Re: system("sleep %d", &segundos); Não funciona [RESOLVIDO]

Marcos Souza
IUseLinux

(usa Slackware)

Enviado em 25/02/2017 - 15:47h

SamL escreveu:

IUseLinux escreveu:

int marcarTempo(void){

segundos = minutos * 60;
system("sleep %d", %segundos);
return 0;
}


Qualquer dúvida dê um man sprintf, ou então procure no google alguns exemplos, é altamente documentada essa função. Além de também busque algo sobre a função sleep(), pra não ficar dependendo de outro programa só pra paralisar o seu próprio.

int marcarTempo(void){
char str[64];
sprintf(str,"sleep %d", segundos);
system(str);
return 0;
}



Obrigado !!!



I3 2.3Ghz , 4Gb de Ram DDR4, 1TB.
Slackware 14.2 com KDE.

"Talk is cheap, show me the code"

#Linux user: 619644





5. Re: system("sleep %d", &segundos); Não funciona [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 01/03/2017 - 19:36h

Sei que o tópico já está resolvido, mas acho que existe uma solução melhor do que tentar compor uma linha de comando e depois submetê-la a system(), com todos os riscos que isso traz -- não apenas de segurança, mas mesmo de que vá funcionar (cf. mensagem 3, a partir do 13º parágrafo, do seguinte tópico deste fórum: https://www.vivaolinux.com.br/topico/C-C++/Duvida-com-realloc-em-C).



  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts