Para los que sepan programar en "C"

Necesito un codigo fuente en C de una calculadora,que muestre un menu por pantalla con las opciones de sumar,restar,dividir,multiplicar,listar operaciones,y salir.La opcion de listar operaciones la necesito por que me gustaria que el programa creara un txt e imprimiera en el ,que se llame por ejemplo calculadora.txt,todas las operaciones que se realicen con el programa,y que se impriman por pantalla al pulsar la opcion listar.Me hace mucha falta,y mi nivel de C es bastante bajo,si alguien me puede ayudar se lo agradeceria muxo,un saludo.
Hace tiempo que no programo, pero aquí tienes una versión de calculadora, no lo he podido probar, sorry. Suerte.



void mostrar_operaciones()
{
printf("Operacion?\n");
printf("Sumar: '+'\n ");
printf("Restar: '-'\n ");
printf("Mult.: '*'\n ");
printf("Dividir:'/'\n" );
}



void main()
{
double x,y,z;
char a,b;
FILE *fp;

do
{

do{
mostrar_operaciones();
scanf("%c%*c",&a);
}
while(a != '+' && a!= '-' && a!='*' && a!='/');

printf("Introduzca los dos numeros a operar\n");
scanf("%lf %lf%*c",&x,&y);



switch(a)

{
case '+': z = x+y;
break;

case '-': z = x-y;
break;

case '*': z = x*y;
break;

case '/': { if (y!=0)
z = x/y;
else printf("Divison por cero!\n");
}

}


fp = fopen("calculadora.txt", "w");
if (fp == NULL)
{
printf("Error abriendo fichero calculadora.txt");
exit(-1);
}

/* Por que habre puesto un bucle??? No era necesario */
fprintf( fp,"%lf%c%lf = %lf\n", x,a,y,z);

fclose(fp);

printf("Desea realizar otra operacion? (s/n)");
scanf("%c%*c", &b);

}
while (b!='n');

}
muxas gracias voy a probarla,un saludo.
Escrito originalmente por Mon_Sevilla
muxas gracias voy a probarla,un saludo. Si alguien tiene otra calculadora si me la pudiera poner aqui,gracias,para tener variedad.
ale ya te han echo los deberes :D
Alx muchas gracias por tu esfuerzo,pero me da un parse error en el ultimo while,llevo bastante tiempo dandole vueltas y no se por que,cuando tengas tiempo a ver si puedes echarle un vistaso,yo utilizo como compilador el Dev-C++,y e incluido estas librerias:

#include
#include
#include
#include
Un saludo y perdona por las molestias.
utiliza
#include
#include

creo que con esas te va a ir
así a simple vista le falta cerrar el } del main.

Saludos.
Aprovecho este post para iniciarme en el mundo de C ya que me queda 1 añito pa entrar en bachiller tecnologico en el que tendre que programar hasta ahora solo lo he hecho con DIV, asi que si me podeis decir que compilador utilizais vosotros lo agradezco.
Yo estoy en primero de informática y he estado todo el primer semestre dándole al C. Ahora estoy con cosas del C++, que es el C con más mejores y cosas que se pueden hacer más fáciles, pero cuando sólo has hecho C, más que fáciles, se ven raras de cojones XD

Utilizo Microsoft Visual Studio 6
Yo estoy en ciclo suoerior de informatica, el de programación, y la verdad es que me encanta programar XD
Te he hecho una rutina que debería mostrar por pantalla todo lo que se guarda en el fichero, es una forma que se me ha ocurrido, pero no le puedo probar, si alguien sabe mejorarla se admiten sugerencias. Sobre dónde llamarla lo dejo en tus manos :P



void muestra_cuentas_realizadas()
{
FILE *fp;
double x,y,z;
char a;

fp = fopen("calculadora.txt", "r");

if (fp == NULL)
{
printf("Error abriendo fichero calculadora.txt");
exit(-1);
}

while (!feof(fp))
{
fscanf( fp,"%lf%c%lf = %lf\n", &x,&a,&y,&z);
printf("%lf%c%lf = %lf\n, x,y,a,z);
}

fclose (fp);

}
Te he hecho una rutina que debería mostrar por pantalla todo lo que se guarda en el fichero, es una forma que se me ha ocurrido, pero no le puedo probar, si alguien sabe mejorarla se admiten sugerencias. Sobre dónde llamarla lo dejo en tus manos :P



void muestra_cuentas_realizadas()
{
FILE *fp;
double x,y,z;
char a;

fp = fopen("calculadora.txt", "r");

if (fp == NULL)
{
printf("Error abriendo fichero calculadora.txt");
exit(-1);
}

while (!feof(fp))
{
fscanf( fp,"%lf%c%lf = %lf\n", &x,&a,&y,&z);
printf("%lf%c%lf = %lf\n, x,y,a,z);
}

fclose (fp);

}
Escrito originalmente por Campanilla
vi & gcc powaaaaaaaa XD


Mande?? X-D
Mi compilador es el Dev-C++,q aparte de ser gratuito tiene una interface muy agradable,y es totalmente compatible kon 2000/xp,y gracias a todos y en especial a alx por la ayuda.Yse siguen admitiendo sugerencias.Gracias.
Escrito originalmente por Alx
Mande?? X-D

ayyy que poco linuxero estas hecho...XD
xDDD

Vi- Editor/visor de Linux
GCC- hace falta decirlo ¿?

Salu2


PD. Esos deberes al ultimo momento eh!!! [sonrisa]
Escrito originalmente por Campanilla
vi & gcc powaaaaaaaa XD

joer el vi por dios, suerte que este curso ya nos dejan usar el enterno grafico linux, porke el pasado con el vi a pelo, era un toston :qw
Escrito originalmente por deathline

joer el vi por dios, suerte que este curso ya nos dejan usar el enterno grafico linux, porke el pasado con el vi a pelo, era un toston :qw


:qw ???? Sacrilegioooooooooooooooo [flipa] [flipa]

Es :wq, aplicandole un poco de sentido comun 'q' significa quit, y salir primero y guardar despues no tiene mucho sentido no?

Por lo demas 100% de acuerdo con Campanilla, aunque pa los dias que estoy perro Anjuta powaaaaaaaaa!!! [beer]
Diga lo que diga deathline el vi es lo mejor; lo hace todo todo y todo [burla2] ^^
Escrito originalmente por Campanilla
Diga lo que diga deathline el vi es lo mejor; lo hace todo todo y todo [burla2] ^^


¬_¬ ¬_¬ ¬_¬ ¬_¬ Oooh Oooh mmmmm... uiiisss... el vi te lo hace todo todo todo... ein?? jijijijiji... de k cosiiitaasss se entera uno... XDXDXD :p


[beer][fumeta][666]
Sigue sin funcionarme la calculadora,por favor algun alma caritativa que me ayude,esto es lo que querria que hiciera la calculadora:
Necesito un codigo fuente en C de una calculadora,que muestre un menu por pantalla con las opciones de sumar,restar,dividir,multiplicar,listar operaciones,y salir.La opcion de listar operaciones la necesito por que me gustaria que el programa creara un txt e imprimiera en el ,que se llame por ejemplo calculadora.txt,todas las operaciones que se realicen con el programa,y que se impriman por pantalla al pulsar la opcion listar.
Ayudaaaaaaaaa.
La actualice un poco, pruebala ahora. (la que esta en la pagina 1)
Mon_Sevilla, no seria más fácil hacerla por ti mismo una calculadora son 10 minutos...
Mira tio, si empiezas así, amlo... (no me quiero poner en plan profe, eh? ;))

Yo te recomiendo que te hagas un esquemita en pseudocódigo. Luego lo del código, pos vendrá después, pero no es lo fundamental.

Salu2 y pregunta si tienes dudas.
Gracias a todos,en especial a ALX,un saludo.
26 respuestas