Autor
|
Tema: Ayuda array facil (Leído 3,517 veces)
|
krowa
Desconectado
Mensajes: 21
|
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. #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 anio=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; anio = 1960 + x.anno; cout<<"Fecha:"<<endl; cout<<" "<<x.dia<<" de "<<mes[mees]<<" de "<<anio; } int main(){ fecha x; x.dia = 31; x.mes = 12; x.anno = 127; cout<<"Dia: "<<x.dia<<" Mes: "<<x.mes<<" anio: "<<x.anno<<endl; cin.get(); }
|
|
|
En línea
|
|
|
|
JFEspanolito
Desconectado
Mensajes: 4
|
intenta usando comilla simple
mes[0]= 'Enero';
|
|
|
En línea
|
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
@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
Mensajes: 21
|
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.. 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
Mensajes: 23
|
Probá así: char *meses[]={"Enero","Febrero","Marzo","Abril", "Mayo", "Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"};
Espero haberte ayudado.
|
|
|
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
Mensajes: 1.639
|
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: if (x.mes == 0) cout << "Enero"; else if (x.mes == 1) cout << "Febrero"; ... else 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: 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
Mensajes: 195
|
#include <iostream> #include <stdlib.h> using namespace std; struct fecha{ unsigned short int dia:5; unsigned short int mes:4; unsigned short int anno:7; }; void mostrar(fecha x) { char *meses[] = {"Enero","Febrero","Marzo","Abril", "Mayo", "Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"}; cout << "Fecha:" << endl; cout << "Dia: " << x.dia << " Mes: " << meses[(x.mes - 1)] << " Year: " << (x.anno+1960) << endl; } int main(){ fecha x; x.dia = 31; x.mes = 12; x.anno = 127; mostrar(x); cin.get(); }
|
|
|
En línea
|
|
|
|
krowa
Desconectado
Mensajes: 21
|
Muchas gracias a TODOS, me sirvio mucho su ayuda ya lo hice y lo entendi Gracias!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Copiar parte de una array a otra array
Programación Visual Basic
|
sircid
|
3
|
5,254
|
19 Diciembre 2007, 11:27 am
por LeandroA
|
|
|
ayuda con array
Programación C/C++
|
dulcevictoria
|
1
|
2,517
|
7 Diciembre 2010, 23:53 pm
por winroot
|
|
|
Ayuda con un array!
PHP
|
kodeone
|
5
|
2,653
|
4 Enero 2011, 11:04 am
por kodeone
|
|
|
Ayuda array
Programación C/C++
|
alexis33de
|
5
|
2,474
|
30 Mayo 2011, 17:03 pm
por El_Java
|
|
|
Ayuda con javascript chrome (facil)
Desarrollo Web
|
iDrokerGeek_
|
0
|
1,715
|
15 Junio 2013, 21:43 pm
por iDrokerGeek_
|
|