• Viernes 15 de Noviembre de 2024, 02:28

Autor Tema:  Otra Vez Con Lo De Los Menus...xd  (Leído 1503 veces)

Ian

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
    • http://www.Notengo.com
Otra Vez Con Lo De Los Menus...xd
« en: Sábado 6 de Noviembre de 2004, 02:39 »
0
:D Ya pude solucionar lo de las operaciones, se puede decir que va sobre ruedas.....

Pero tengo otro pequeño problema, viendo otros programas, me gusto uno en el que, además de hacer una u otra operación, imprimen los números que se han sumado, ósea después de preguntar cuantos datos quiero operar, y de pedir los datos, al dar el resultado, imprimen la lista de datos sumados...... intentado hacer algo como esto, llegue a lo siguiente, me imprime solo el ultimo dato de la operación..........  (*-*)?    8 S
 
No entiendo en donde radica el problema...........................Help is Tnk´s  8 D    x D

Me gustaría que dieran su opinión sobre el programa, (sean francos).

#include <conio.h>
#include <iomanip.h>
#include <dos.h>
#include <stdio.h>
#include <iostream.h>


int main()
{
  long float  mul, resul3=1, sum, res, div1, div2, resul1=0, resul2=0, resul4, i, j, k, l;

  int opc1, opc2, opc3=1, datlis;


  window(1,1,80,25); textbackground(WHITE); clrscr();

    while (opc3==1)
    {
  window(3,1,80-3,6); textbackground(BLUE); textcolor(WHITE); 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");

  delay(2000);

  window(4,9,37,20); textbackground(BLUE); textcolor(WHITE); clrscr();

  delay(500);

  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 eliges? . .  ");
       cscanf("%i", &opc1);


   switch (opc1)
   {
     case 1:

     resul1=0;



     window(4,9,37,20); textbackground(BLUE); textcolor(WHITE); clrscr();
     gotoxy(7,2); cprintf("REALIZANDO SUMA");
     delay(1200);

     gotoxy(3,5); cprintf("¨Cuantos #ïs deseas sumar?: ");
             cscanf("%i", &opc2);
             textcolor(BLUE);


      for (i=1; i<=opc2; i++)
       {
        window(4,9,37,20); textbackground(BLUE); textcolor(WHITE); 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(BLACK); textcolor(WHITE); clrscr();
        cscanf("%lf", &sum);

        resul1=resul1+sum;
       }
        window(4,9,37,20); textbackground(BLUE); textcolor(WHITE); clrscr();
        gotoxy(3,3); cprintf("DATOS SUMADOS:");
        datlis=1;
        gotoxy(3, datlis);
        gotoxy(4,6);
        cprintf("\n\r%20lf", sum);
        datlis=wherey(); delay(200);

        window(42,9,80-6,20); textbackground(BLUE); textcolor(WHITE); clrscr();
        gotoxy(11,2); cprintf("RESULTADOS");
        delay(1000);
        gotoxy(3,5); cprintf("La suma es: %8.3lf", resul1);

     delay(2000);

     getch();
     break;

     case 2:

     resul2=0;


     window(4,9,37,20); textbackground(BLUE); textcolor(WHITE); clrscr();
     gotoxy(7,2); cprintf("REALIZANDO RESTA");
     delay(1200);

     gotoxy(3,5); cprintf("¨Cuantos #ïs deseas restar?: ");
             cscanf("%i", &opc2);


    for (j=1; j<=opc2; j++)
       {
        window(4,9,37,20); textbackground(BLUE); textcolor(WHITE); 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(BLACK); textcolor(WHITE); clrscr();
        cscanf("%lf", &res);
        resul2=resul2-res;

       }
        window(4,9,37,20); textbackground(BLUE); textcolor(WHITE); clrscr();
        window(42,9,80-5,20); textbackground(BLUE); textcolor(WHITE); clrscr();
        gotoxy(11,2); cprintf("RESULTADOS");
        delay(1000);
        gotoxy(3,5); cprintf("La resta es: %8.3lf", resul2);

     delay(2000);

     getch();
     break;

     case 3:

     resul3=0;



     window(4,9,37,20); textbackground(BLUE); textcolor(WHITE); clrscr();
     gotoxy(7,2); cprintf("REALIZANDO MULTIPLICACION");

     delay(1200);

     gotoxy(3,5); cprintf("¨Cuantos #ïs deseas");
     gotoxy(3,6); cprintf("multiplicar?:  ");
     cscanf("%i", &opc2);


    for (k=1; k<=opc2; k++)
      {
        window(4,9,37,20); textbackground(BLUE); textcolor(WHITE); clrscr();
        gotoxy(3,2); cprintf("Digita numeros menores");
        gotoxy(3,3); cprintf("que 999999999");


        gotoxy(4,8);cprintf("Digita un numero: ");
        window(25,16,34,16); textbackground(BLACK); textcolor(WHITE); clrscr();
       cscanf("%lf", &mul);
       resul3=resul3*mul;

      }
        window(4,9,37,20); textbackground(BLUE); textcolor(WHITE); clrscr();
        window(42,9,80-6,20); textbackground(BLUE); textcolor(WHITE); clrscr();
        gotoxy(11,2); cprintf("RESULTADOS");
        delay(1000);
        gotoxy(3,5); cprintf("La multiplicacion es: %8.3lf", resul3);

     delay(2000);

     getch();
     break;


     case 4:

     resul4=0;



     window(4,9,37,20); textbackground(BLUE); textcolor(WHITE); clrscr();
     gotoxy(7,2); cprintf("REALIZANDO DIVICION");

     delay(1200);

        gotoxy(3,4); cprintf("Digita numeros menores");
        gotoxy(3,5); cprintf("que 999999999");

        gotoxy(3,7); cprintf("La divicion solo es de 2 #ïs");

        gotoxy(4,10);cprintf("Digita un numero: ");
        window(25,18,34,18); textbackground(BLACK); textcolor(WHITE); clrscr();
        cscanf("%lf", &div1);


        gotoxy(4,10);cprintf("Digita un numero: ");
        window(25,18,34,18); textbackground(BLACK); textcolor(WHITE); clrscr();
        cscanf("%lf", &div2);


        resul4=div1/div2;


        window(4,9,37,20); textbackground(BLUE); textcolor(WHITE); clrscr();
        window(42,9,80-6,20); textbackground(BLUE); textcolor(WHITE); clrscr();
        gotoxy(11,2); cprintf("RESULTADOS");
        delay(1000);
        gotoxy(3,5); cprintf("La divicion es: %8.3lf", resul4);

     delay(2000);

     getch();
     break;

   }


   window(3,22,80-4,24); textbackground(BLUE); textcolor(WHITE); clrscr();
   gotoxy(8,2);
   delay(1000);
   cprintf("¨Que deseashacer? 1. Ir al MENU   2. Terminar . . . ");

   cscanf("%i", &opc3);
   window(1,1,80,25); textbackground(WHITE); clrscr();
   clrscr();

   }

  //window(42,9,80-5,20); textbackground(BLUE); textcolor(RED); clrscr();
  delay(1500);

  getch();
  return 0;

}
"No vivas para ser por temor la preza de otros sueños. Se vive una vez para se heternamente libre"

Je_Deimos

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Otra Vez Con Lo De Los Menus...xd
« Respuesta #1 en: Sábado 13 de Noviembre de 2004, 03:21 »
0
Hola!!! :D

Estuve viendo tu programa, y te puedo decir que es muy bueno... con respecto al problema de que solo te muestra un solo número se debe a que cuando cargas los valores usas un ciclo FOR utilizando siempre la misma variable, por lo que el valor anterior se pierde...

Una de muchas formas de arreglar puede ser usando un arreglo, en el que en cada índice se guarda el numero correspondiente a esa posición, por ejemplo:

int n=2;
long float vector[100];

for (i=0; i<n; i++)
{
            cprintf("Cargue el numero...");
            scanf("%lf",vector);
}

De esta manera en cada casilla del vector tienes cada número ingresado...pero esto tiene un problemilla :o ...y este es que no se pueden cargar más números que lo que indica el tamaño del vector...pero es poco probable que alguien cargue demasiados numeros... B)

Espero haberte ayudado :smartass: ...Saludos!!!!
Citar
Joako

Ian

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
    • http://www.Notengo.com
Re: Otra Vez Con Lo De Los Menus...xd
« Respuesta #2 en: Sábado 13 de Noviembre de 2004, 18:47 »
0
Tkns
 

Voy a intentar arreglar el problema de esta forma, ........   :)
"No vivas para ser por temor la preza de otros sueños. Se vive una vez para se heternamente libre"