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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: ¿Por qué mi programa deja de funcionar? en: 26 Mayo 2016, 07:48 am
Oh, ya veo, ya entendí lo que me decías del char y el string. Entonces lo cambiaré como en tu ejemplo, ¡muchas gracias! :D

EDITO: ¡Ya lo terminé y funciona! En serio te agradezco muchísimo  ;-) ;D
2  Programación / Programación C/C++ / Re: ¿Por qué mi programa deja de funcionar? en: 26 Mayo 2016, 07:23 am
Creo que tengo que hacerlo con string, para extraer caracteres. Haz de cuenta que de un código así MMML181441Z32007KT10SMSKC tengo que separar parte por parte para que me diga el lugar, la fecha, etc.

Lo hice como en el código que dejaré abajo (y funciona), pero no sé cómo cambiarlo para usar un arreglo vector.
Código:
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main (void)
{
    string a;
    cout<<"Teclea un metar (25 caracteres, sin espacios): ";
    cin>>a;
   
    if(a.substr(0,4)=="MMML")
    {
        cout<<(a.substr(0,4))<<" Lugar- Aeropuerto Internacional de Mexicali";
    }
    else
    {
    if(a.substr(0,4)=="MMTJ")
    {
cout<<(a.substr(0,4))<<" Lugar- Aeropuerto Internacional de Tijuana";
}
else
{
cout<<"Aeropuerto desconocido";
}
}
   
   cout<<"\n"<<(a.substr(4,7))<<" Fecha y hora- Dia: "<<(a.substr(4,2))<<" Hora: "<<(a.substr(6,2))<<":"<<(a.substr(8,2))<<" Zulu.";
   cout<<"\n"<<(a.substr(11,7))<<" Viento- "<<(a.substr(11,3))<<" grados con "<<(a.substr(14,2))<<" nudos.";
   cout<<"\n"<<(a.substr(18,4))<<" Visibilidad- "<<(a.substr(18,2))<<" millas.";
   
    if(a.substr(22,3)=="SKC")
                            {
                            cout<<"\n"<<(a.substr(22,3))<<" Nubes- Sky clear, despejado.";
}
else
{
if(a.substr(22,3)=="SCT")
{
cout<<"\n"<<(a.substr(22,5))<<" Nubes- Scattered, dispersas.";
    }
    else
    {
    if(a.substr(22,3)=="OVC")
{
cout<<"\n"<<(a.substr(22,5))<<" Nubes- Overcast, cerrado.";
        }
        else
        {
        if(a.substr(22,3)=="TCU")
{
cout<<"\n"<<(a.substr(22,5))<<" Nubes- Towering cumulus.";
        }
        else
        {
        if(a.substr(22,3)=="FEW")
{
cout<<"\n"<<(a.substr(22,5))<<" Nubes- Few, escasas.";
        }
        else
        {
        if(a.substr(22,3)=="BKN")
{
cout<<"\n"<<(a.substr(22,5))<<" Nubes- Broken, fragmentadas.";
    }
    else
    {
    if(a.substr(22,3)=="0CB")
{
cout<<"\n"<<(a.substr(22,5))<<" Nubes- Cumulonimbus.";
    }
    else
    {
    cout<<"\n"<<(a.substr(22,3))<<" Nubes- No hay nubes.";
}
}
    }
    }
}
}
}
3  Programación / Programación C/C++ / Re: ¿Por qué mi programa deja de funcionar? en: 26 Mayo 2016, 07:08 am
Cambiando la forma de declararlo sí funciona, pero se supone que tengo que hacer arreglos de tipo vector...

¡Gracias de todos modos! :-)
4  Programación / Programación C/C++ / Re: ¿Por qué mi programa deja de funcionar? en: 26 Mayo 2016, 06:53 am
Pero lo que está dentro de los corchetes es la cantidad de caracteres del vector, ¿no?
Funciona todo bien hasta la parte donde indico:
" vgrados[3]=d1;"
5  Programación / Programación C/C++ / Re: ¿Por qué mi programa deja de funcionar? en: 26 Mayo 2016, 06:26 am
Lo siento, ya agregué el código x)
6  Programación / Programación C/C++ / ¿Por qué mi programa deja de funcionar? en: 26 Mayo 2016, 05:51 am
Hola, espero que alguien pueda ayudarme. Estoy programando en C++, guardo una cadena de 25 caracteres y necesito desglosarla por partes, así que sustraje algunos caracteres en variables de tipo string, para luego almacenarlas en vectores (sé que lo puedo hacer sólo con cadenas, pero usarlos es requerimiento para mi práctica).
He estado compilando parte por parte y me di cuenta de que el problema ocurre cuando utilizo más de tres vectores, los primeros tres funcionan bien y corre el programa, pero al leer el cuarto deja de funcionar y no entiendo el por qué, no me marca ningún error ni advertencia.
¿Alguien sabe cómo corregirlo o qué estoy haciendo mal? :c

Mi programa está súper largo, pero este es uno corto que hice para intentar hallar el problema:
Citar
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main (void)
{
   string m,a,b,c1,c2,d1,d2,e,f;
   string lugar[4],dia[2],hora1[2],hora2[2],vgrados[3],vnudos[2],visib[2],nubes[3];
    cout<<"Teclea un metar (25 caracteres, sin espacios): ";
    cin>>m;
    a=m.substr(0,4);
    b=m.substr(4,2);
    c1=m.substr(6,2);
    c2=m.substr(8,2);
    d1=m.substr(11,3);
    d2=m.substr(14,2);
    e=m.substr(18,2);
    f=m.substr(22,3);
    lugar[4]=a;
    if(lugar[4]=="MMML")
    {
       cout<<"Mexicali";
   }
   else
   {
      if(lugar[4]=="MMTJ")
      {
         cout<<"Tijuana";
      }
   }
    dia[2]=b;
    cout<<"\nDia: "<<dia[2];
    hora1[2]=c1;
    cout<<" Hora: "<<hora1[2];
    hora2[2]=c2;
    cout<<":"<<hora2[2]<<" Zulu.";
    vgrados[3]=d1;
    cout<<vgrados[3];

}
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines