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 - 1antares1

#1
Hola amigos, estoy presentando una situación familiar muy grave, es sobre mi mamá.

Le dio una ACV Semi-hemorrágica, y está hospitalizada con la parte izquierda paralizada. Estoy solo con mis hermanos en casa, solo 1 está conmigo, el otro cuida de ella en la clínica y no he tenido tiempo para mis estudios, ya que culmino ésta semana.

Tengo un problema con un proyecto que es para finalizar en clases, y quiero pasar mi materia informática con buena nota.

Con todo el alma, me gustaría que me ayudaran para pasar mi proyecto de ARCHIVOS y PUNTEROS a LISTAS ENLAZADAS CON PUNTEROS.

No trato de justificarme por flojera, es que no tengo tiempo para estudiar, ni tuve.

Y es para mañana, tanto el proyecto que es el más importante como los ejercicios.

El ejercicio es éste:

Código (cpp) [Seleccionar]
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
//const int num=10;
int cantidad=0;

struct Alumno{
    char titulo[30],concepto[30],n_e[25];
    int n_p,cant_p;
};

void llenar(struct Alumno *);

void lista(struct Alumno *);

int  main()

{

        struct Alumno Alum[25],*ptr;
       
        ptr=Alum;
        system("color f6");
        printf("\n\n\n  ***** Ingresar la cantidad de personas al registrar***** \n\n ");
        scanf("%d",&cantidad);
        system("cls");
        llenar(ptr);
        ptr=Alum;
        lista(ptr); 
        return 0;
}


void llenar (struct Alumno *ptr)
{
    for (int i=0;i<cantidad;i++,ptr++)
    {
        system("color f5");
        printf("Datos de la funcion %d",i+1);
        printf("\n\n  Numero de Presentacion: ");
        scanf("%d",&ptr->n_p);
        printf("  Titulo de la Obra a proyectar: ");
        fflush(stdin);
        gets(ptr->titulo);
        printf("  Concepto Audiovisual: ");
         fflush(stdin);
        gets(ptr->concepto);
        printf("  Nombre del encargado de la funcion: ");
         fflush(stdin);
        scanf("%s",&ptr->n_e);
        printf("  Cantidad de personas que asistieron a la funcion: ");
        fflush(stdin);
        scanf("%d",&ptr->cant_p);
               
        system("cls");

    }
}
void lista(struct Alumno *ptr)
{
for (int i=0;i<cantidad;i++,ptr++)
    {
        system("color f5");
        printf("Datos de la funcion %d",i+1);
        printf("\n\n  Los datos ingresados son:\n\n ");
        printf(" Numero de Presentacion: %d\n\n",ptr->n_p);
        printf("  Titulo de la obra: %s\n\n",ptr->titulo);
        printf("  Concepto Audiovisual: %s\n\n",ptr->concepto);
        printf("  Nombre del encargado de la funcion: %s\n\n",ptr->n_e);
        printf("  Cantidad de personas que asistieron a la funcion: %d\n\n",ptr->cant_p);
        system("pause");
        system("cls");
}
}



Y también me mandaron 2 ejercicios, es decir, de PILAS y el otro es COLA.

Tengo que hacerle un menu a cada 1, que tenga:

"INSERTAR"
"MODIFICAR"
"BORRAR"
"MOSTRAR"

Solamente eso! Vale 5 puntos el proyecto y 2,5, cada ejercicio, serían 10 puntos y apenas llevo 3 acumulados :(

Quisiera pasar mi materia para complacer a mi mamá, que Dios me escuche que no es mentira.

Se que no es Taringa para resolver los ejercicios sino, ayudar. Pero el proyecto lo hice solo, y lo único que pido ayuda es para esto.

Aqui está el ejercicio de PILAS:

Código (cpp) [Seleccionar]
#include<stdlib.h>
#include<stdio.h>

typedef struct nodo
{
    int valor;
    struct nodo *siguiente;
}tipoNodo;

typedef tipoNodo *pNodo;
typedef tipoNodo *Pila;
/* Funciones con pilas */

void Push(Pila *l, int v);
int Pop(Pila *l);

int main()
{
    Pila pila=NULL;
   
    Push(&pila, 20);
    Push(&pila, 10);
    printf("%d,",Pop(&pila));
    Push(&pila, 40);
    Push(&pila, 30);
   
    printf("%d,",Pop(&pila));
    printf("%d,",Pop(&pila));
    Push(&pila, 90);
    printf("%d,",Pop(&pila));
    printf("%d,\n",Pop(&pila));
   
    system("PAUSE");
    return 0;
}

void Push(Pila *pila, int v)
{
    pNodo nuevo;
   
    /* Crear un nodo nuevo */
    nuevo=
    (pNodo)malloc(sizeof(tipoNodo));
    nuevo->valor=v;
   
    /* Añadimos la pila a continuación del nuevo nodo */
   
    nuevo->siguiente=*pila;
   
    /* Ahora, el comienzo de nuestra pila es en nuevo nodo */
    *pila=nuevo;
}

int Pop(Pila *pila)
{
    pNodo nodo; /* varible auxiliar para manipular nodo */
    int v; /* Variable auxiliar para retorno */
   
    /* Nodo apunta al primer elemento de la pila */
    nodo=*pila;
    if(!nodo) return 0; /* Si no hay nodos en la pila retornamos 0 */
    *pila=nodo->siguiente;
    /*Guardamos el valor de retorno */
    v=nodo->valor;
    /* Borrar el nodo */
    free(nodo);
    return v;
    }



Y el de COLAS:

Código (cpp) [Seleccionar]
#include<stdlib.h>
#include<stdio.h>

typedef struct nodo
{
int valor;
struct nodo *siguiente;
} tipoNodo;

typedef tipoNodo *pNodo;

/* Funciones con colas: */

void Anadir(pNodo *primero, pNodo *ultimo, int v);
int Leer(pNodo *primero, pNodo *ultimo);
int main()
{
    pNodo primero=NULL, ultimo= NULL;
   
    Anadir(&primero, &ultimo, 20);
    printf("Añadir (20)\n");
    Anadir(&primero, &ultimo, 10);
    printf("Añadir (10)\n");
    printf("Leer: %d\n", Leer(&primero, &ultimo));
    Anadir(&primero, &ultimo, 40);
    printf("Añadir (40)\n");
    Anadir(&primero, &ultimo, 30);
    printf("Añadir (30)\n");
    printf("Leer: %d\n",Leer(&primero, &ultimo));
    printf("Leer: %d\n",Leer(&primero, &ultimo));
    Anadir(&primero, &ultimo, 90);
    printf("Añadir (90)\n");
    printf("Leer: %d\n",Leer(&primero, &ultimo));
    printf("Leer: %d\n",Leer(&primero, &ultimo));
   
    system("PAUSE");
    return 0;
}

void Anadir(pNodo *primero, pNodo *ultimo, int v)
{
pNodo nuevo;

/* Crear un nodo nuevo */

nuevo=
(pNodo)malloc(sizeof(tipoNodo));
nuevo->valor=v;

/* Este sera el ultimo nodo, no debe tener siguiente */

nuevo->siguiente=NULL;
/* Si la cola no estaba vacia, añadimos el nuevo a continuacion de ultimo */
if(*ultimo) (*ultimo)->siguiente=nuevo;

/* Si primero es NULL, la cola estaba vacia, ahora primero apuntara tambien el nuevo nodo */

if(!*primero) *primero=nuevo;
}

int Leer(pNodo *primero, pNodo *ultimo)
{

pNodo nodo; /* Variable auxiliar para manipular nodo */

int v; /* Variable auxiliar para retorno */

/* Nodo apunta al primer elemento de la pila */

nodo=*primero;
if(!nodo) return 0; /* Si no hay nodos en la pila retornamos 0 */
/* Asignamos a primero la direccion del segundo nodo */
*primero=nodo->siguiente;
/*Guardamos el valor de retorno */
v=nodo->valor;
/* Borrar el nodo */
free(nodo);
/*Si la cola quedo vacia, ultimo debe ser NULL tambien */
if(!*primero) *ultimo=NULL;
return v;
}



Eso es todo. Solo pasar el PROYECTO A LISTAS ENLAZADAS.

No importa como sea, con tal que tenga listas enlazadas. Como colocar el numero de visitantes por orden, etc. Cualquier modificacion que tenga listas enlazadas.

Y los ejercicios, solo el menu.

Muchas gracias amigo de corazón, me hace falta éste momento su ayuda. Saludos!