|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - LenguajeC
26
« en: Martes 11 de Mayo de 2010, 02:51 »
Hola Epa Gracias por tu respuesta, voy a poner en práctica lo que me dices, solo que lo voy a hacer sin puntero porque estoy muy al principio y quiero ir despacio.-
Saludos. Daniel
27
« en: Lunes 10 de Mayo de 2010, 18:15 »
Hola vite666 Perdón que torpe, mil disculpas.- El problema es que no logro regresar la variable "memoria" a la función main con el contenido que obtengo de la llamada "opciones(memoria,resultado);".-
Espero que ahora se entienda.-
Saludos. Daniel
28
« en: Lunes 10 de Mayo de 2010, 00:43 »
Hola a todos.- Como este es mi primer post voy a presentarme porque mi situación es un tanto particular.- Tengo 58 años y por mi trabajo y por distar 90 km. de la universidad mas cercana no tengo otra manera que leer,leer y consultar en los foros.- Bueno, a continuación les dejo mi primer problema para ver si me dan una mano con la solución y me dicen en que debo mejorar el programa.- #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <conio.h> HANDLE consola; COORD posicion; void dlq(int hor, int ver); void ejemplos(); double separa(char ingreso[], double *resultado); double *opciones(double memoria, double resultado); int main(int argc, char *argv[]) { consola = GetStdHandle(STD_OUTPUT_HANDLE); ejemplos(); double resultado,memoria=0; char ingreso[50]; while (ingreso[0] != 's') { ejemplos(); dlq (20,4);printf(" Ingreso....: s - para finalizar"); dlq (18,51);printf("%5.3f",memoria ); dlq(20,18); if(ingreso[0] !='0') { separa(ingreso,&resultado); if(resultado !=0) { dlq(18,17); opciones(memoria,resultado); ingreso[0]=' '; } } else { dlq(24,5); printf("Ingreso incorrecto - por favor revise los ejemplos"); dlq(26,5); dlq(26,5); } } return 0; } void dlq(int hor, int ver) { posicion.X = ver;posicion.Y = hor;SetConsoleCursorPosition(consola, posicion); } double separa(char ingreso[], double *resultado) { char opUno[50], oper[50], opDos[50], priseg=65; int i=0, poper=0, pseg=0; for(i = 0; i < strlen(ingreso ); i ++) { if((ingreso[i] == 42 || ingreso[i] == 43 || ingreso[i] == 45 || ingreso[i] == 47)) { oper[poper]=ingreso[i]; oper[poper+1]= ' '; poper++; priseg=priseg+1; } else { if(priseg == 65) { opUno[i] = ingreso[i]; opUno[i+1] = ' '; } else { opDos[pseg] = ingreso[i]; opDos[pseg+1] = ' '; pseg++; } } } char op_1[50], op_2[50]; int lugar = 0; for(i=0;opUno[i]!=' ';i++) { if((opUno[i] > 47 && opUno[i] < 58) || (opUno[i] == 46)) { op_1[lugar] = opUno[i]; lugar++; op_1[lugar] = ' '; } } lugar = 0; for(i=0;opDos[i]!=' ';i++) { if((opDos[i] > 47 && opDos[i] < 58) || (opDos[i] == 46)) { op_2[lugar] = opDos[i]; lugar++; op_2[lugar] = ' '; } } { double op_uno=0,op_dos=0; if(oper[0] == '+') *resultado = op_uno + op_dos; if(oper[0] == '-') *resultado = op_uno - op_dos; if(oper[0] == '*') *resultado = op_uno * op_dos; if(oper[0] == '/') *resultado = op_uno / op_dos; } else { *resultado = 0; } return (*resultado); } void ejemplos() { dlq(2,4); printf(" ---------------------- Calculadora lineal ----------------------"); dlq (4,4);printf(" Ejemplos:"); dlq (6,13);printf(" Suma...........: 125.4+18"); dlq (8,13);printf(" Resta..........: 125-10.54"); dlq (10,13);printf(" MultiplicacixA2n.: 125.48*10.50"); dlq (12,13);printf(" DivicixA2n.......: 678.48/5.99"); dlq (14,13);printf(" No dejar espacios - x3C Enter x3E confirma"); dlq(16,4); printf(" ----------------------------------------------------------------"); dlq (18,4);printf(" Resultado..: Memoria....:");} double *opciones(double memoria,double resultado) { dlq(22,5); printf("----------------------------------------------------------------"); dlq(24,5); printf("Opciones de memoria"); dlq(26,5); dlq(28,5); dlq(30,5); printf("3 - Borra memoria y memoria +"); dlq(32,5); printf("4 - Borra memoria y memoria -"); dlq(34,5); printf("5 - Sin ingerencia en memoria"); int opc=0; while (opc <1 || opc > 5) { dlq(36,5); dlq(38,5); switch(opc) { case 1:memoria = memoria + resultado;break; case 2:memoria = memoria - resultado;break; case 3:memoria = resultado;break; case 4:memoria = - resultado;break; case 5:break; default:printf("Solo numeros del 1 al 5, apriete una tecla para continuar...");getch(); } } return &memoria; }
Un gran saludo.- Daniel Nota:Lenguaje C - Windows XP - DEV-C++.-
|
|
|