Autor
|
Tema: ayuda por favor con un ejercicio, dev c++ (Leído 5,450 veces)
|
raenriquez4
Desconectado
Mensajes: 3
|
necesito realizar un ejercicio que dice lo siguiente en el tema de arrays: Una aerolínea necesita un programa que asigne asientos en cada vuelo de avión de la misma (capacidad 20 asientos) el programa deberá demostrar el siguiente menú: por favor ingrese 1 para fumadores por favor ingrese 2 para no fumadores si la persona escribe 1 deberá asignarse un asiento en la sección de fumar (asientos 1 al 10) si la persona escribe 2 de igual forma (asientos 11 al 20) a continuación se deberá imprimir un pase de abordaje indicando el numero de asiento de la persona si esta en la sección o no del avión utilizar un arreglo unidimensional para representar el diagrama de asientos de avión, previamente inicializar todos lo elementos del arreglo a 0 para indicar que todos están vacíos, conforme se asigne cada asiento definir los elementos correspondiente del arreglo a 1 para indicar que dicho asiento no esta disponible, el programa no deberá asignar un asiento ocupado cuando se llene la sección de fumar, se deberá solicitar a la persona si le parece aceptable ser colocada en la de no fumar, (o viceversa), si dice que si entonces efectuar la asignación apropiada, si dice que no, imprimir el mensaje, el proximo vuelo ale en 3 horas, usar como libreria principal stdio.h
por favor necesito ayuda en este ejercicio, no se muy bien como hacerlo y necesito ideas para realizarlo correctamente, muchas gracias por su atención
|
|
« Última modificación: 17 Agosto 2016, 05:05 am por raenriquez4 »
|
En línea
|
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.705
🏴 Libertad!!!!!
|
Ya has usado arreglos?
|
|
|
En línea
|
|
|
|
raenriquez4
Desconectado
Mensajes: 3
|
Ya has usado arreglos?
los he usado, pero no se por donde empezar el ejercicio
|
|
|
En línea
|
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.705
🏴 Libertad!!!!!
|
Un ejemplo, la funcion pase regresa -1 cuando ya no hay asientos, ahi tendrias que evaluar si quiere cambiar de sección o esperar otro vuelo #include<stdio.h> #include<string.h> #define FUMAR 1 #define NOFUMAR 0 unsigned char asientos[20]; int pase(int fumar); int main() { int asiento; asiento = pase(FUMAR); printf("Asiento asignado %i\n",asiento ); asiento = pase(FUMAR); printf("Asiento asignado %i\n",asiento ); asiento = pase(FUMAR); printf("Asiento asignado %i\n",asiento ); asiento = pase(NOFUMAR); printf("Asiento asignado %i\n",asiento ); asiento = pase(NOFUMAR); printf("Asiento asignado %i\n",asiento ); asiento = pase(NOFUMAR); printf("Asiento asignado %i\n",asiento ); } int pase(int fumar) { //1 para fumar int i,asiento = -1; if(fumar) { i = 10; while(i < 20) { if(asientos[i] == 0) { asiento = i; asientos[i] =1; break; } i++; } } else { i = 0; while(i < 10) { if(asientos[i] == 0) { asiento = i; asientos[i] =1; break; } i++; } } return asiento; }
|
|
|
En línea
|
|
|
|
raenriquez4
Desconectado
Mensajes: 3
|
Un ejemplo, la funcion pase regresa -1 cuando ya no hay asientos, ahi tendrias que evaluar si quiere cambiar de sección o esperar otro vuelo #include<stdio.h> #include<string.h> #define FUMAR 1 #define NOFUMAR 0 unsigned char asientos[20]; int pase(int fumar); int main() { int asiento; asiento = pase(FUMAR); printf("Asiento asignado %i\n",asiento ); asiento = pase(FUMAR); printf("Asiento asignado %i\n",asiento ); asiento = pase(FUMAR); printf("Asiento asignado %i\n",asiento ); asiento = pase(NOFUMAR); printf("Asiento asignado %i\n",asiento ); asiento = pase(NOFUMAR); printf("Asiento asignado %i\n",asiento ); asiento = pase(NOFUMAR); printf("Asiento asignado %i\n",asiento ); } int pase(int fumar) { //1 para fumar int i,asiento = -1; if(fumar) { i = 10; while(i < 20) { if(asientos[i] == 0) { asiento = i; asientos[i] =1; break; } i++; } } else { i = 0; while(i < 10) { if(asientos[i] == 0) { asiento = i; asientos[i] =1; break; } i++; } } return asiento; }
muchisimas gracias por ayudarme en esto, me podrias explicar que hace memset?
|
|
|
En línea
|
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.705
🏴 Libertad!!!!!
|
Hola! Memset es una funcion que "setea" o establece la memoria a X valor asi cada asiento se inicializa en 0 se podria omitir y dejarlo como: unsigned char asientos[20] = {0};
o en su defecto crear un ciclo for o while que recorra todo el arreglo y lo haga 0, esto para que los asientos este "libres" Saludos!
|
|
|
En línea
|
|
|
|
AndresEnriquezV
Desconectado
Mensajes: 8
|
Hola! Memset es una funcion que "setea" o establece la memoria a X valor asi cada asiento se inicializa en 0 se podria omitir y dejarlo como: unsigned char asientos[20] = {0};
o en su defecto crear un ciclo for o while que recorra todo el arreglo y lo haga 0, esto para que los asientos este "libres" Saludos! muchisimas gracias amigo por la ayuda
|
|
|
En línea
|
|
|
|
MessageBoxA
Desconectado
Mensajes: 229
ayudame a ayudarte
|
unsigned char asientos[20] = {0};
no deberia ser realmente unsigned char asientos[19] = {0};
??? recordemos que van de 0 a 19 = 20 posiciones
|
|
|
En línea
|
SI LA MATRIX FUERA PERFECTA.... ESTARÍA ESCRITA EN C++
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.705
🏴 Libertad!!!!!
|
Se deja en 20 para que solo puedas escribir en las posiciones 0 a la 19 como dices. ya que si lo dejas en 19 solo podras escribir de la position 0 a la 18 sin errores. Si si es posible declarar un arreglo de 20 y seguir escribiendo en las posiciones 21,22, 23, 1000 etc.. nada te lo impide recordar que las variables estan continuas en la memoria y estarias sobreescribiendo valores en otras variables. Veamos el siguien codigo: int A; char hola[3]; A = 0x41414141; hola[0] = 'H'; hola[1] = 'o'; hola[2] = 'l'; hola[3] = 'a';
Si bien la salida puede variar de un sistema a otro en mi sistema imprime: Y por eso es que aunque si sea sufiente declarar el arreglo con 3 para la palabra en cuestion es mejor dejar la declaración en Numeros "Humanos". Saludos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con ejercicio! POR FAVOR!
Programación C/C++
|
Trompasl
|
3
|
2,911
|
8 Mayo 2016, 23:34 pm
por MAFUS
|
|
|
Ejercicio de C, Ayuda por favor!
Programación C/C++
|
Geg1
|
7
|
3,661
|
6 Noviembre 2016, 20:58 pm
por engel lex
|
|
|
Ayuda por favor ejercicio reloj do/while C
« 1 2 »
Programación C/C++
|
juanpalomo098
|
13
|
10,466
|
22 Noviembre 2016, 23:34 pm
por juanpalomo098
|
|
|
Por favor ayuda en un ejercicio en java
Ejercicios
|
alvaro09939
|
0
|
2,738
|
17 Septiembre 2018, 13:09 pm
por alvaro09939
|
|
|
Ejercicio de diagrama ER ayuda por favor
Bases de Datos
|
Gbriel
|
1
|
1,930
|
26 Octubre 2018, 15:20 pm
por Beginner Web
|
|