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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda array facil
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda array facil  (Leído 3,255 veces)
krowa

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Ayuda array facil
« en: 10 Marzo 2012, 17:59 pm »

Hola buenas tardes, estoy haciendo un ejercicio y me tira error en todas las lineas donde declaro el vector, dejo el enunciado y mi codigo. Nose si el codigo anda por que no lo puedo compilar por que me tira error en todas las lineas donde declaro el vector mes[] ,es un error muy tonto pero la verdad es que no encuentro la forma jaja Gracias.

Enunciado:
Diseñar una estructura análoga, llamada fecha, pero usando campos de bits. Usar sólo un entero corto sin signo (unsigned short), es decir, un entero de 16 bits. Los nombres de los campos serán: dia, mes y anno.
Basándose en la estructura de bits del ejercicio anterior, escribir una función para mostrar fechas: void Mostrar(fecha);. El formato debe ser: "dd de mmmmmm de aaaa", donde dd es el día, mmmmmm el mes con letras, y aaaa el año. Usar un array para almacenar los nombres de los meses.



Código:
#include<iostream>
using namespace std;

struct fecha{
       unsigned short int dia:5;
       unsigned short int mes:4;
       unsigned short int anno:7;
       };

void mostrar(fecha){
     char mes[11];
     int mees=0;
     int año=0;
     mes[0] = "Enero";
     mes[1] = "Febrero";
     mes[2] = "Marzo";
     mes[3] = "Abril";
     mes[4] = "Mayo";
     mes[5] = "Junio";
     mes[6] = "Julio";
     mes[7] = "Agosto";
     mes[8] = "Septiembre";
     mes[9] = "Octubre";
     mes[10] = "Noviembre";
     mes[11] = "Diciembre";
     mees = x.mes;
     año = 1960 + x.anno;
     cout<<"Fecha:"<<endl;
     cout<<"       "<<x.dia<<" de "<<mes[mees]<<" de "<<año;
     }
       
int main(){
   
    fecha x;
    x.dia = 31;
    x.mes = 12;
    x.anno = 127;
   
    cout<<"Dia: "<<x.dia<<" Mes: "<<x.mes<<" año: "<<x.anno<<endl;
    cin.get();
}


En línea

JFEspanolito

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Ayuda array facil
« Respuesta #1 en: 10 Marzo 2012, 18:07 pm »

intenta usando comilla simple

mes[0]= 'Enero';


En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Ayuda array facil
« Respuesta #2 en: 10 Marzo 2012, 18:32 pm »

@Krowa:
Bueno esta malo porque asi no se declaran las cadenas lo que veo porque lo necesitas podes usar esto:
char* cadenas[12];

y para referirte a cada uno de ellos usando el puntero o podes usar una tabla osea un array de dos dimenciones. y toma en
cuenta que aquí no se hacen tareas antes que quede bloqueado el tema.

@JFEspanolito:
usando el caracter apostrofo se hace para declarar caracteres constante no se pueden declarar cadenas con ese caracter
En línea

krowa

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: Ayuda array facil
« Respuesta #3 en: 10 Marzo 2012, 21:18 pm »

RHL
Gracias voy a probar, no es una tarea, estoy estudiando c++ por mi cuenta en un curso online.. tenia que hacer esos ejercicios y bueno, no me salia jaja.
Como decis de un array de 2 dimensiones?
Osea..

Código:
mes[11][8];
mes[0][1] = 'E';
mes[0][2] = 'n';
mes[0][3] = 'e';
mes[0][4] = 'r';
mes [0][5] = 'o';

asi?? Si no es asi podrias explicarme porfavor? gracias!

PD: no puedo usar puinteros ya que en lo que va del curso todavia no vi punteros, en el capitulo que viene veo punteros. ( estoy por estructuras)
Graciaas
En línea

nirvguy

Desconectado Desconectado

Mensajes: 23



Ver Perfil
Re: Ayuda array facil
« Respuesta #4 en: 11 Marzo 2012, 01:51 am »

Probá así:
Código
  1. char *meses[]={"Enero","Febrero","Marzo","Abril", "Mayo", "Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"};
  2.  

Espero haberte ayudado.  :D
En línea

Todas mis letras han sido pedazos de poesía y los pedazos de poesía se toman de poemas que comúnmente no tienen sentido
en primer termino.
               Kurt Cobain
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Ayuda array facil
« Respuesta #5 en: 11 Marzo 2012, 02:05 am »

Si como indicas todavía no puedes utilizar punteros (supongo tampoco un array de arrays) lo que debes hacer es utilizar una sentencia de selección ("if" o "switch") para imprimir el mes. Para darte un ejemplo:
Código
  1. if (x.mes == 0)
  2.   cout << "Enero";
  3. else if (x.mes == 1)
  4.   cout << "Febrero";
  5.  
  6. ...
  7.  
  8. else
  9.   cout << "Diciembre";

Aparte de eso tienes varios errores en el programa, tres de estos son:

* En la definición de la función "mostrar" no indicas el nombre del parámetro, debería ser:
Código
  1. void mostrar(fecha x) ...

* No puedes utilizar el carácter 'ñ' como parte del nombre de una variable.

* No hay consistencia entre los indices utilizados en la función "main" (utilizas como mes el valor 12) y en la función "mostrar" (ahí el ultimo mes tiene el indice 11).

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
s00rk

Desconectado Desconectado

Mensajes: 195



Ver Perfil
Re: Ayuda array facil
« Respuesta #6 en: 11 Marzo 2012, 04:00 am »

Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3. using namespace std;
  4.  
  5. struct fecha{
  6.       unsigned short int dia:5;
  7.       unsigned short int mes:4;
  8.       unsigned short int anno:7;
  9.       };
  10.  
  11. void mostrar(fecha x)
  12. {
  13.     char *meses[] = {"Enero","Febrero","Marzo","Abril", "Mayo", "Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"};
  14.  
  15.     cout << "Fecha:" << endl;
  16.     cout << "Dia: " << x.dia << " Mes: " << meses[(x.mes - 1)] << " Year: " << (x.anno+1960) << endl;
  17. }
  18.  
  19. int main(){
  20.  
  21.    fecha x;
  22.    x.dia = 31;
  23.    x.mes = 12;
  24.    x.anno = 127;
  25.    mostrar(x);
  26.    cin.get();
  27. }
  28.  
  29.  
En línea

krowa

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: Ayuda array facil
« Respuesta #7 en: 11 Marzo 2012, 18:22 pm »

Muchas gracias a TODOS, me sirvio mucho su ayuda ya lo hice y lo entendi :D
Gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Copiar parte de una array a otra array
Programación Visual Basic
sircid 3 5,023 Último mensaje 19 Diciembre 2007, 11:27 am
por LeandroA
ayuda con array
Programación C/C++
dulcevictoria 1 2,359 Último mensaje 7 Diciembre 2010, 23:53 pm
por winroot
Ayuda con un array!
PHP
kodeone 5 2,439 Último mensaje 4 Enero 2011, 11:04 am
por kodeone
Ayuda array
Programación C/C++
alexis33de 5 2,233 Último mensaje 30 Mayo 2011, 17:03 pm
por El_Java
Ayuda con javascript chrome (facil)
Desarrollo Web
iDrokerGeek_ 0 1,531 Último mensaje 15 Junio 2013, 21:43 pm
por iDrokerGeek_
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines