Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - LML-32

#1
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
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.

#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
Cambiando la forma de declararlo sí funciona, pero se supone que tengo que hacer arreglos de tipo vector...

¡Gracias de todos modos! :-)
#4
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
Lo siento, ya agregué el código x)
#6
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];

}