Hola!!!!!!!!!!!!!
Tengo un problemilla con un programa........, haber, es el siguiente, el programa despliega un menu, de operaciones, osea permite la opcion de eligir si queremos sumar, restar, multiplicar o dividir, lo hace con Switch, entoces estan los cuatro casos, despues de eligir cualquiera de los casos, y realizar la operacion, da la opcion de termina o regrezar al menu (esto lo hace con While(opc3) ), la cosa es que si regreso al menu y le doy de nuevo, por ejemplo, sumar, me suma el resultado anterior, esto solo pasa cuando repito la misma operacion, +, --.
Hummmmm, el programa por ahora solo da la opcion de sumar y restar, iva en esto cuando me di cuenta de el problema...........
-> cuando se elige la opcion restar toma todos los numeros como negativos..... 8 D..
Les agradesco si ven algun otro error, algo que sobre, o que haga falta, soy nuevo en esto dela programacion, pero pues ahí voy x D
Este es el .cpp
#include <conio.h>
#include <iomanip.h>
#include <dos.h>
#include <stdio.h>
#include <iostream.h>
int main()
{
long float sum, res, mul, div, resul1, resul2, resul3, resul4;
int opc1, opc2, opc3=1, i;
window(1,1,80,25); textbackground(BLACK); clrscr();
while (opc3==1)
{
window(3,1,80-5,6); textbackground(BLUE); textcolor(LIGHTGREEN); clrscr();
gotoxy(4,2); cprintf("ESTE PROGRAMA DA UN MENU CON LA OPCION DE REALIZAR UNA +, -, *, /");
gotoxy(15,4); cprintf("PRGRAMADO POR: Nicolas Gomez Martinez");
window(4,9,37,20); textbackground(BLUE); textcolor(LIGHTGREEN); clrscr();
gotoxy(15,2); cprintf("MENU");
gotoxy(3,4); cprintf("1. SUMA");
gotoxy(3,5); cprintf("2. RESTA");
gotoxy(3,6); cprintf("3. MULTIPLICACION");
gotoxy(3,7); cprintf("4. DIVICION");
gotoxy(4,9); cprintf("¨Que operacion elige? . . ");
cscanf("%i", &opc1);
switch (opc1)
{
case 1:
window(4,9,37,20); textbackground(BLUE); textcolor(LIGHTGREEN); clrscr();
gotoxy(7,2); cprintf("REALIZANDO SUMA");
gotoxy(3,5); cprintf("¨Cauntos #ïs deseas sumar?: ");
cscanf("%i", &opc2);
for (i=1; i<=opc2; i++)
{
window(4,9,37,20); textbackground(BLUE); textcolor(LIGHTGREEN); clrscr();
gotoxy(3,2); cprintf("Digita numeros menores \n\r que 999999999");
gotoxy(4,6);cprintf("Digita un numero: ");
window(25,14,34,14); textbackground(LIGHTGRAY); textcolor(BLACK); clrscr();
cscanf("%lf", &sum);
resul1=resul1+sum;
}
window(42,9,80-6,20); textbackground(BLUE); textcolor(LIGHTGREEN); clrscr();
gotoxy(11,2); cprintf("RESULTADOS");
gotoxy(3,5); cprintf("La suma es: %lf", resul1);
delay(2000);
getch();
break;
case 2:
window(4,9,37,20); textbackground(BLUE); textcolor(LIGHTGREEN); clrscr();
gotoxy(7,2); cprintf("REALIZANDO RESTA");
gotoxy(3,5); cprintf("¨Cauntos #ïs deseas restar?: ");
cscanf("%i", &opc2);
for (i=1; i<=opc2; i++)
{
window(4,9,37,20); textbackground(BLUE); textcolor(LIGHTGREEN); clrscr();
gotoxy(3,2); cprintf("Digita numeros menores");
gotoxy(3,3); cprintf("que 999999999");
gotoxy(3,5); cprintf("Todos los numeos que digites");
gotoxy(3,6); cprintf("se tomaran como negativos");
gotoxy(4,8);cprintf("Digita un numero: ");
window(25,16,34,16); textbackground(LIGHTGRAY); textcolor(BLACK); clrscr();
cscanf("%lf", &res);
resul2=resul2-res;
}
window(42,9,80-6,20); textbackground(BLUE); textcolor(LIGHTGREEN); clrscr();
gotoxy(11,2); cprintf("RESULTADOS");
gotoxy(3,5); cprintf("La resta es: %lf", resul2);
delay(2000);
getch();
break;
}
window(3,23,80-5,25); textbackground(RED); textcolor(BLACK); clrscr();
gotoxy(8,2);
cprintf("¨Que deseashacer? 1. Ir al MENU 2. Terminar . . . ");
cscanf("%i", &opc3);
window(1,1,80,25); textbackground(BLACK); clrscr();
clrscr();
}
//window(42,9,80-5,20); textbackground(BLUE); textcolor(RED); clrscr();
getch();
return 0;
}
Les agradesco si me pueden ayudar.................. Help is Tnks