• Sábado 14 de Diciembre de 2024, 22:33

Autor Tema:  piano en c  (Leído 4031 veces)

hackingfuny

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
piano en c
« en: Viernes 30 de Septiembre de 2011, 20:45 »
0
bueno
primero que nada gracias por visitar este pequeño post que puse en su foro

ESTOY EMPEZANDO A PROGRAMAR EN C
el problema es que en la escuela el maestro nos impone a que programemos en turbo c vercion 3
y yo uso linux por lo tanto no puedo probar los programas en mi maquina
sin embargo me compre un libro para programar con el standar de c
ANSCI
Y ME DEJARON programar un mini piano en la octaba numero 6 con las notas si sus sostenidos
el programa yo lo tengo ya hecho y quisiera ver si ustedes me pueden ayudar a pasarlo al standar o por lo menos que me ayuden a correrlo con linux

#include <conio.h>

#include <stdio.h>

#include <dos.h>

#include <math.h>



float frecuencia(float n, float o);

void main()

{

    float f;

    char nota;

    while (1)

    {

   clrscr();

   printf("programa que convierte los numeros en notas tocadas en la sexta");

   gotoxy(1,2);

   printf("Do=1, Re=2, Mi=3, Fa=4, Sol=5, La=6, Si=7");

   gotoxy(1,3);

   printf("favor de introducir la nota: ");

   gotoxy(1,4);

   printf("teclea 8 si deseas salir");

   nota=getch();

   gotoxy(1,6);

   printf("");

   switch(nota)

   {

       case 49:f=frecuencia (1,6); sound(f); delay(500);clrscr();break;

       case 50:f=frecuencia (2,6); sound(f); delay(500);clrscr();break;

       case 51:f=frecuencia (3,6); sound(f); delay(500);clrscr();break;

       case 52:f=frecuencia (4,6); sound(f); delay(500);clrscr();break;

       case 53:f=frecuencia (5,6); sound(f); delay(500);clrscr();break;

       case 54:f=frecuencia (6,6); sound(f); delay(500);clrscr();break;

       case 55:f=frecuencia (7,6); sound(f); delay(500);break;

       case 56:goto fin;break;

       default: printf("el numero que marcaste no entra en el rango antes mencionado");



   }

   nosound();

    }

    fin:

    //getch();

    //return 0;

}

float frecuencia(float n, float o)

{

    float f;

    f=(440.0*exp((o-3)+(n-10)/12)*log(2));

    //printf("tu frecuencia es de:  %.6f",f);

    return(f);

}
gracias

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re:piano en c
« Respuesta #1 en: Lunes 3 de Octubre de 2011, 13:57 »
0
Una solucion simple es que instales un MS-DOS en una maquina virtual:

http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.