elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con un programa de c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con un programa de c++  (Leído 2,226 veces)
JetBlazar

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Problema con un programa de c++
« en: 16 Noviembre 2010, 22:50 pm »

#include <iostream>
#include <conio.h>
#include <cstdio>
using namespace std;
 
int sumatorio(); // Prototipo de la funcion que calcula el sumatorio.
 
 
int main()
{
 cout<<" 1. Calcula el sumatorio de un solo numero"<<endl;
 cout<<" 2. Calcula el sumatorio de varios numeros de uno en uno"<<endl;
 cout<<" 3. Calcula el sumatorio de varios numeros al mismo tiempo"<<endl;
 
 int decision;
 cin>> decision;
 
 switch(decision)
 
    {
                 case 1 : cout<<"Escogio la opcion 1"<<endl;
                          sumatorio();   
                         
                          break;           
       
       
                 case 2 : cout<<"Escogio la opcion 2"<<endl;
                          char seguir;
                          do{
                                  sumatorio();
                                  cout<<"¿Quieres seguir calculando sumatorios? s = Si n = No"<<endl;
                                  cin>> seguir;
                                  }while (seguir == 's');
                          if (seguir != 's')
                              cout<<"Usted ha decidido no hacer mas sumatorios"<<endl;
                         
                          break;
                 
                 case 3 : cout<<"Escogio la opcion 3"<<endl;
                         
       
       
                 
     }             
 
 system ("pause");
 return 0;   
}
   
   
   
   int sumatorio()
   {
          int i;
          int suma = 0;
          int num;
          cout<<"Numero del cual quieres calcular el sumatorio: "<<endl;
          cin>>num;
          for (i=0; i<=num; i++)
              {
                 suma= suma +i;
              }
          cout<<"El sumatorio de "<<num<<endl;
          cout<<"es "<<suma<<endl;
    }

Mi problema es que como sabreis (si leistis el principio del programa) para el caso 3 del switch se supone que quiero hacer que el programa pida unos numeros de tal modo que tu los escribas todos en una linea con espacios por ejemplo:
23 10 45 89
o con comas de separacion y que devuelva los sumatorios, supongo que se hara con vectores pero no se como hacer para que el programa me pida las coordenadas de un vector y que sean indefinidas porque lo que no quiero es que el supuesto usuario del programa tenga que decir primero el numero de sumatorios que quiere calcular. Todas las respuestas seran bienvenidas asi como las mejoras para el codigo ya escrito.



En línea

Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: Problema con un programa de c++
« Respuesta #1 en: 16 Noviembre 2010, 23:53 pm »

Sería algo así:

Código
  1. int num;
  2. char aux;
  3. do{
  4.        cin >>num; // leemos un numero
  5.        cin.get(aux); // leemos un carácter
  6.      // calcular el sumatorio aquí
  7.    }while(aux!='\n'); //si llegamos al final de linea, salimos.
  8.  
De esta forma, puedes leer secuencias como las que quieres leer.

Consejos:

No uses conio.h --> http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html punto 4
No necesitas un system("pause") para ver el resultado del programa -->
http://foro.elhacker.net/programacion_cc/ejecutar_programas_en_windows_sin_necesidad_de_pausas_system_pause_etc-t306837.0.html
Creo que no necesitas cstdio en este caso.

Por cierto, tu función sumatorio, en principio dice que devolverá un entero pero no has hecho ninguna sentencia de return. O la declaras como void si no va a devolver nada, o haz que devuelva algo.


« Última modificación: 16 Noviembre 2010, 23:56 pm por Akai » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con programa
.NET (C#, VB.NET, ASP)
mby 1 2,414 Último mensaje 13 Junio 2020, 01:02 am
por Tachikomaia
Problema con programa
Ingeniería Inversa
eko84 2 4,666 Último mensaje 13 Septiembre 2020, 10:52 am
por eko84
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines