Desarrollo
Menú
Gamersmafia es ahora un archivo de solo lectura.

Cuenta atras en C

Hola, alguien me dice una funcion/procedimiento para que salga en pantalla una cuenta atras de X minutos y al terminar reproduzca un mp3 o bien un “beep” cualquiera?

Programación en C.

Cuando termine el programa que tengo entre manos os lo paso, que os va a molar

uhmmm por consola dices?

el contador en si se hace fácil, no es otra cosa que un bucle hacia atrás… para el reproductor, quizás haya librerias por ahí que implementen esas cosas… veré a ver que te encuentro por ahí.

PD: esta otra libreria es para c++ https://cdiv.sourceforge.net/html/tutorials/almp3/almp3.htm por si prefieres hacerlo por ahí.

[code=cpp]#include #include #include #include

int main(int argc, char *argv[]) {
int disp, count;

if (argc < 2) {
	printf("You must enter the length of the count");
	printf("on the command line. Try again.");
	exit(1);
}

if (argc == 3 && !strcmp(argv[2], "display"))
	disp = 1;
else
	disp = 0;

for (count = atoi(argv[1]); count; --count)
	if (disp)
		printf("%d", count);

putchar('\a'); /* this will ring the bell */

printf("Done");

return 0; } ```

Creo que nada más que decir…xD

Comentario #2 por Mave:
[code=cpp]#include #include #include #include

int main(int argc, char *argv[]) {
int disp, count;

if (argc < 2) {
	printf("You must enter the length of the count");
	printf("on the command line. Try again.");
	exit(1);
}

if (argc == 3 && !strcmp(argv[2], "display"))
	disp = 1;
else
	disp = 0;

for (count = atoi(argv[1]); count; --count)
	if (disp)
		printf("%d", count);

putchar('\a'); /* this will ring the bell */

printf("Done");

return 0; } ```

Esta noche lo pruebo

Luego os paso la beta del programa, mañana probablemente, segun si las tareas de la universidad me impiden programar agusto

De qué es el programa?

Informativo
#6

Comentario #4 por RA_MeSiAs:
#2 Esta noche lo pruebo

Luego os paso la beta del programa, mañana probablemente, segun si las tareas de la universidad me impiden programar agusto

Va a ser una parida verdad?

Comentario #5 por ry.:
De qué es el programa?

Es sorpresa, pero os va a gustas (especialmente a obiju)

Comentario #6 por dadito:
#4 Va a ser una parida verdad?

dadito… dadito… cuando he hecho yo una parida?

Comentario #7 por RA_MeSiAs:
#5 Es sorpresa, pero os va a gustas (especialmente a obiju)

#6 dadito… dadito… cuando he hecho yo una parida?

big bang

ry.
Divertido
#9

Mientras no salgan ciervos de por medio, cualquier cosa es buena.

Comentario #7 por RA_MeSiAs:
#5 Es sorpresa, pero os va a gustas (especialmente a obiju)

#6 dadito… dadito… cuando he hecho yo una parida?

pero te ha valido mi código ??

Comentario #7 por RA_MeSiAs:
#5 Es sorpresa, pero os va a gustas (especialmente a obiju)

#6 dadito… dadito… cuando he hecho yo una parida?

Me ha petado el eclipse y tengo q reiniciar sesion con windows … cuando acabe el larguero lo hago, pero parece que si me va a valer

Editado: Mave no me convence el programa, no lo termino de ejecutar, hay que modificarlo para que funcione y no se muy bien que quiere que modifique, lo has probado?

Disculpame RA, pensé que lo que habían posteado arriba era válido, ahora que lo estoy viendo no lo tengo tan claro. De todos modos tú funcion quieres que haga dos cosas:

1-esperar.
2-ejecutar un sonido.

Para esperar te propongo dos formas. o usas la librería windows.h función Sleep([tiempo en milisegundos) o usas la librería dos.h funcion Sleep([tiempo en segundos])

para ejecutar el sonido usa también la windows.h y pon el sonido que tú quieras en un wav. luego usa la función PlaySound(). que si no recuerdo mal era así:

PlaySound (“C:\Ruta\sonido_bee.wav”, NULL, SND_FILENAME);

El parámetro 1 es la ruta del archivo.
El parametro 3 determina como se interpreta el sonido a abrir (como fichero,recurso o evento) y si el parametro 2 es NULL o debe ser el handle del módulo que contiene el recurso.

Irrelevante
#13

Comentario #11 por RA_MeSiAs:
#7 Me ha petado el eclipse y tengo q reiniciar sesion con windows … cuando acabe el larguero lo hago, pero parece que si me va a valer

Editado: Mave no me convence el programa, no lo termino de ejecutar, hay que modificarlo para que funcione y no se muy bien que quiere que modifique, lo has probado?

no me dio tiempo a probarlo… me fui a hacer la cena

Tampoco tiene mucho que probar eh Mave, eso no cuenta hacia atrás ni hacia ningún lao.

Porfavor, código sin probar no, porque si no funciona, lo único que se hace es perder el tiempo al que desarrolla, si usa una función que “supuestamente funciona”…

Está bien ayudar pero un poco de certeza de que puede funcionar.

La respuesta de

Comentario #12 por [GOD]Serginho|US:
Disculpame RA, pensé que lo que habían posteado arriba era válido, ahora que lo estoy viendo no lo tengo tan claro. De todos modos tú funcion quieres que haga dos cosas:

1-esperar.
2-ejecutar un sonido.

Para esperar te propongo dos formas. o usas la librería windows.h función Sleep([tiempo en milisegundos) o usas la librería dos.h funcion Sleep([tiempo en segundos])

para ejecutar el sonido usa también la windows.h y pon el sonido que tú quieras en un wav. luego usa la función PlaySound(). que si no recuerdo mal era así:

PlaySound (“C:\Ruta\sonido_bee.wav”, NULL, SND_FILENAME);

El parámetro 1 es la ruta del archivo.
El parametro 3 determina como se interpreta el sonido a abrir (como fichero,recurso o evento) y si el parametro 2 es NULL o debe ser el handle del módulo que contiene el recurso.

es correcta parece ser (bueno, es mas bien), pero necesita de una libreria llamada Winmm.lib que almenos mi eclipse no traia incluida.

ya tengo dicho libreria pero no se como incluirla en la biblioteca de librerias de eclipse, alguien sabe?

Yo uso Visual C++ por eso ya la trae por defecto…en eclipse…ni zorra de como se importan.

Bueno, ya he incluido la libreria y me saltan 1887 errores inexistentes, si le quito el include, me da el de reproducir el sonido solamente… cosa mas rara

#include <stdio.h>
#define MAX_MIN 10

int main(void) {
  int i;
  for (i = 0; i < MAX_MIN; i++) {
      printf("El fin del mundo en %dmin..", MAX_MIN - i);
      sleep(60);
  }

  putchar('\a');
  return 0;
}

el \a es buena idea, pero no se porque no me emite el sonido.

Lo demas si va

¿Cómo has comprobado que no emite ningún sonido?

Vale si emite, pero bajisimo, pensaba q el pitido vendria por la placa madre

hay alguna manera de subirle el volumen o emitir un pitido algo mas alto?

El pitido debería venir de la placa madre y no estoy seguro de si se puede cambiar. Hace tiempo que no toco linux, la última vez que me metí en esos berenjenales creo que usé alsamixer.

ando por windows, y el pitido viene de los altavoces, de hecho no lo senti la primera vez por tener el volumen bajo :S

Entiendo, no obstante, ¿la pregunta original está respondida?

Si, aunque este pitido no se va a escuchar probablemente cuando se esté utilizando el programa jeje.

Busco otro sonido con mas volumen.

Con volumen de sistema:

#include <windows.h>
void toca_la_campana(int veces);
void toca_la_campana_con_windows(int veces);

int main() {
    toca_la_campana(3);
    return EXIT_SUCCESS;
}

void toca_la_campana(int veces) {
	int a=0;

	for(a;a<veces;a++) {
		Beep(1000,1000);
	}
}

void toca_la_campana_con_windows(int veces) {
        int a=0;

	for(a;a<veces;a++) {
		MessageBeep(MB_ICONERROR); //usa MB_ICONEXCLAMATION, MB_ICONERROR
	}
}

bueno señores, esto pinta muy bien

he satisfecho mis deseos por el momento muahahaha!

dadito, quieres ser mi betatester? jurjur

Qué feos se ven los trozos de código, yo también voy a hacer algo..

Comentario #28 por slnc:
Qué feos se ven los trozos de código, yo también voy a hacer algo..

uhhh… sospechoso

Nada seguro que ha corregido los CODE que solo pillaban una línea

Comentario #30 por [GOD]Serginho|US:
Nada seguro que ha corregido los CODE que solo pillaban una línea


#include <alabanzas.h>

int main ()
{
printf ("Coño que funciona de verdad!!!");

do{

printf("EL PUTO AMO AHI!!!);

}while (1<2);

}
3.times do
    puts "yo tb tq"
end

int main()
{
     printf("xD a partir de ahora obligatorio en este distrito comunicarse con código? x'D");
     printf("PD: Estaría bien poder tabular en los codes.... uhmm nota mental: luego miro jira");
}

Tabular mientras escribes código no va a ser posible porque eso rompería la funcionalidad de tabular para salirte de la caja de escribir comentario e irte a “Comentar”.

Y si copias el código de otro lado con tabulaciones ???

Hola,

¿Quién ha creado un foro cuenta.atras?

Comentario #37 por SinSa:
Hola,

¿Quién ha creado un foro cuenta.atras?

se estan creando foros a partir de los tags que se escriben


STACK SEGMENT STACK
DW 64 DUP (?)
STACK ENDS

DATA SEGMENT
SALUDO DB "Slnc Nice plugin!!",13,10,"$"
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STACK

INICIO:

          MOV AX,DATA
          MOV DS,AX
          MOV DX,OFFSET SALUDO
          MOV AH,09H
          INT 21H
          MOV AH,4CH
          INT 21H
CODE ENDS

END INICIO

Comentario #5 por ry.:
De qué es el programa?

Es sorpresa, pero os va a gustas (especialmente a obiju)

No se qué ínfima parte de mi infinito horizonte friki vas a tocar aquí, pero ya que has dicho eso, apúntame para betatester

Siento no poder ayudar, pero desde que cambié los ceros y unos por momentos y fuerzas, van cuatro años sin tocar casi ni un pseudocódigo.

yo me apunto para betatester tambien

Comentario #40 por ObiJu:

#5 Es sorpresa, pero os va a gustas (especialmente a obiju)

No se qué ínfima parte de mi infinito horizonte friki vas a tocar aquí, pero ya que has dicho eso, apúntame para betatester

Siento no poder ayudar, pero desde que cambié los ceros y unos por momentos y fuerzas, van cuatro años sin tocar casi ni un pseudocódigo.

no seran pseudocodigos lo que quiero que toques.

Comentario #41 por dari1495:
yo me apunto para betatester tambien

Por mencion, dadito y obiju probaran la beta secreta (MP). Luego la publico para todo GM pero cuando este terminado, aunque luego metere expansiones y demas, pero bueno, cuando este mas decente.

Ya ellos que juzguen y me propongan ideas

Comentario #43 por RA_MeSiAs:
#40 no seran pseudocodigos lo que quiero que toques.

#41 Por mencion, dadito y obiju probaran la beta secreta (MP). Luego la publico para todo GM pero cuando este terminado, aunque luego metere expansiones y demas, pero bueno, cuando este mas decente.

Ya ellos que juzguen y me propongan ideas

y yo?

No se dadito, pero yo… me meo toa

Comentario #44 por Flash-Hack:
#43 y yo?

Los demas cuando tenga una version mas avanzada para que os “impacte el programa”. Ahora mismo es muy basico y necesito tener mas base de datos de situaciones posibles, necesito los betatester para ideas y aumentar esa base de datos, pero no quiero pecar de pasarme con los beta testers puesto que el programa es ridiculo aun, fase alpha diria yo.

Ya nos la pasarás a los demás a ver que es

nos tienes en vilo…

Programa Angelical

damos el visto bueno, dadito?

Los más activos en General
Subforos