C/Visual C - Piano en C

 
Vista:
sin imagen de perfil

Piano en C

Publicado por shinoy (11 intervenciones) el 30/06/2017 03:46:28
Hola a todos, estoy realizado un piano en lenguaje c y tengo una duda con reproducir la melodia que toco anteriormente.
El código que tengo es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include<stdio.h>
#include<windows.h>
#include<conio.h>
 
char tecla,melodia[50];
int teclaint,x,largo=0;
 
main(){
	sonidoTecla();
}
void sonidoTecla(char tecla){
	int i;
	printf("********************TECLADO MUSICAL*********************\n");
 
	while(tecla!=x){
	teclaint=getch();
	tecla=(char)teclaint;
 
		if (tecla=='a')
			Beep(523, 500);  //DO
		else if (tecla=='s')
			Beep(587, 500);  //RE
		else if (tecla=='d')
			Beep(659, 500);  //MI
		else if (tecla=='f')
			Beep(698, 500);  //FA
		else if (tecla=='g')
			Beep(783, 500);  //SOL
		else if (tecla=='h')
			Beep(880, 500);  //LA
		else if (tecla=='j')
			Beep(987, 500);  //SI
}
 melodia[largo]=tecla;
 largo++;
 teclaint=getch();
 tecla=(char)teclaint;
 
 printf("***************REPRODUCIENDO MELODIA*****************");
 
 for(i=0;i<largo;i++){
 	tecla=melodia[i];
 	if (tecla=='a')
			Beep(523, 500);  //DO
		else if (tecla=='s')
			Beep(587, 500);  //RE
		else if (tecla=='d')
			Beep(659, 500);  //MI
		else if (tecla=='f')
			Beep(698, 500);  //FA
		else if (tecla=='g')
			Beep(783, 500);  //SOL
		else if (tecla=='h')
			Beep(880, 500);  //LA
		else if (tecla=='j')
			Beep(987, 500);  //SI
 
 }
 printf("Fin del programa.");
 
}

Gracias de antemano, estaré atento a respuestas. Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Piano en C

Publicado por Tom (619 intervenciones) el 30/06/2017 12:21:38
Bueno ... ¿ dudas entre qué y qué ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Piano en C

Publicado por shinoy (11 intervenciones) el 30/06/2017 20:41:41
Buenas, mi duda precisamente es que necesito crear un arreglo de caracteres para almacenar la melodia tocada al inicio del programa, entonces lo que necesito es: Crear arreglo de caracteres para guardar la melodia y reproducir la melodia guardada.
Desde la linea 39 ya no me funciona.

Gracias. saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Piano en C

Publicado por Tom (619 intervenciones) el 30/06/2017 22:42:48
Eso no es ninguna duda, es que no sabes hacerlo. De hecho tu programa falla bastante antes de la línea 39, porque no has pegado bien los trozos.
Cuando haces
while(tecla!=x)

¿ Qué contiene la variable x ?
Y ya puestos ¿ sabes en qué consiste un bucle while ? Cuando haces

melodia[largo]=tecla;

¿ Qué contienen largo y tecla ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Piano en C

Publicado por Preguntador_Serial (6 intervenciones) el 01/07/2017 04:08:13
¡Lo que intentas hacer es una cadena de caracteres?; ¡Has leido algo del manejo de cadenas de caracteres en C?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar