Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problemas con C++! Urgente! :(

Estas en el tema de Problemas con C++! Urgente! :( en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 27/06/2010, 21:06
 
Fecha de Ingreso: marzo-2006
Mensajes: 43
Antigüedad: 18 años, 1 mes
Puntos: 0
Problemas con C++! Urgente! :(

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.
[B]

El ejercicio es éste:


Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. //const int num=10;
  6. int cantidad=0;
  7.  
  8. struct Alumno{
  9.     char titulo[30],concepto[30],n_e[25];
  10.     int n_p,cant_p;
  11. };
  12.  
  13. void llenar(struct Alumno *);
  14.  
  15. void lista(struct Alumno *);
  16.  
  17. int  main()
  18.  
  19. {
  20.  
  21.         struct Alumno Alum[25],*ptr;
  22.        
  23.         ptr=Alum;
  24.         system("color f6");
  25.         printf("\n\n\n  ***** Ingresar la cantidad de personas al registrar***** \n\n ");
  26.         scanf("%d",&cantidad);
  27.         system("cls");
  28.         llenar(ptr);
  29.         ptr=Alum;
  30.         lista(ptr);  
  31.         return 0;
  32. }
  33.  
  34.  
  35. void llenar (struct Alumno *ptr)
  36. {
  37.     for (int i=0;i<cantidad;i++,ptr++)
  38.     {
  39.         system("color f5");
  40.         printf("Datos de la funcion %d",i+1);
  41.         printf("\n\n  Numero de Presentacion: ");
  42.         scanf("%d",&ptr->n_p);
  43.         printf("  Titulo de la Obra a proyectar: ");
  44.         fflush(stdin);
  45.         gets(ptr->titulo);
  46.         printf("  Concepto Audiovisual: ");
  47.          fflush(stdin);
  48.         gets(ptr->concepto);
  49.         printf("  Nombre del encargado de la funcion: ");
  50.          fflush(stdin);
  51.         scanf("%s",&ptr->n_e);
  52.         printf("  Cantidad de personas que asistieron a la funcion: ");
  53.         fflush(stdin);
  54.         scanf("%d",&ptr->cant_p);
  55.                
  56.         system("cls");
  57.  
  58.     }
  59. }
  60. void lista(struct Alumno *ptr)
  61. {
  62. for (int i=0;i<cantidad;i++,ptr++)
  63.     {
  64.         system("color f5");
  65.         printf("Datos de la funcion %d",i+1);
  66.         printf("\n\n  Los datos ingresados son:\n\n ");
  67.         printf(" Numero de Presentacion: %d\n\n",ptr->n_p);
  68.         printf("  Titulo de la obra: %s\n\n",ptr->titulo);
  69.         printf("  Concepto Audiovisual: %s\n\n",ptr->concepto);
  70.         printf("  Nombre del encargado de la funcion: %s\n\n",ptr->n_e);
  71.         printf("  Cantidad de personas que asistieron a la funcion: %d\n\n",ptr->cant_p);
  72.         system("pause");
  73.         system("cls");
  74. }
  75. }
__________________
:si: ANTARES:si:

Última edición por 1antares1; 27/06/2010 a las 21:12
  #2 (permalink)  
Antiguo 27/06/2010, 21:07
 
Fecha de Ingreso: marzo-2006
Mensajes: 43
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Problemas con C++! Urgente! :(

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

Código C++:
Ver original
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3.  
  4. typedef struct nodo
  5. {
  6.     int valor;
  7.     struct nodo *siguiente;
  8. }tipoNodo;
  9.  
  10. typedef tipoNodo *pNodo;
  11. typedef tipoNodo *Pila;
  12. /* Funciones con pilas */
  13.  
  14. void Push(Pila *l, int v);
  15. int Pop(Pila *l);
  16.  
  17. int main()
  18. {
  19.     Pila pila=NULL;
  20.  
  21.     Push(&pila, 20);
  22.     Push(&pila, 10);
  23.     printf("%d,",Pop(&pila));
  24.     Push(&pila, 40);
  25.     Push(&pila, 30);
  26.  
  27.     printf("%d,",Pop(&pila));
  28.     printf("%d,",Pop(&pila));
  29.     Push(&pila, 90);
  30.     printf("%d,",Pop(&pila));
  31.     printf("%d,\n",Pop(&pila));
  32.  
  33.     system("PAUSE");
  34.     return 0;
  35. }
  36.  
  37. void Push(Pila *pila, int v)
  38. {
  39.     pNodo nuevo;
  40.  
  41.     /* Crear un nodo nuevo */
  42.     nuevo=
  43.     (pNodo)malloc(sizeof(tipoNodo));
  44.     nuevo->valor=v;
  45.  
  46.     /* Añadimos la pila a continuación del nuevo nodo */
  47.  
  48.     nuevo->siguiente=*pila;
  49.  
  50.     /* Ahora, el comienzo de nuestra pila es en nuevo nodo */
  51.     *pila=nuevo;
  52. }
  53.  
  54. int Pop(Pila *pila)
  55. {
  56.     pNodo nodo; /* varible auxiliar para manipular nodo */
  57.     int v; /* Variable auxiliar para retorno */
  58.  
  59.     /* Nodo apunta al primer elemento de la pila */
  60.     nodo=*pila;
  61.     if(!nodo) return 0; /* Si no hay nodos en la pila retornamos 0 */
  62.     *pila=nodo->siguiente;
  63.     /*Guardamos el valor de retorno */
  64.     v=nodo->valor;
  65.     /* Borrar el nodo */
  66.     free(nodo);
  67.     return v;
  68.     }
__________________
:si: ANTARES:si:
  #3 (permalink)  
Antiguo 27/06/2010, 21:08
 
Fecha de Ingreso: marzo-2006
Mensajes: 43
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Problemas con C++! Urgente! :(

Y el de COLAS:

Código

Código C++:
Ver original
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3.  
  4. typedef struct nodo
  5. {
  6. int valor;
  7. struct nodo *siguiente;
  8. } tipoNodo;
  9.  
  10. typedef tipoNodo *pNodo;
  11.  
  12. /* Funciones con colas: */
  13.  
  14. void Anadir(pNodo *primero, pNodo *ultimo, int v);
  15. int Leer(pNodo *primero, pNodo *ultimo);
  16. int main()
  17. {
  18.     pNodo primero=NULL, ultimo= NULL;
  19.  
  20.     Anadir(&primero, &ultimo, 20);
  21.     printf("Añadir (20)\n");
  22.     Anadir(&primero, &ultimo, 10);
  23.     printf("Añadir (10)\n");
  24.     printf("Leer: %d\n", Leer(&primero, &ultimo));
  25.     Anadir(&primero, &ultimo, 40);
  26.     printf("Añadir (40)\n");
  27.     Anadir(&primero, &ultimo, 30);
  28.     printf("Añadir (30)\n");
  29.     printf("Leer: %d\n",Leer(&primero, &ultimo));
  30.     printf("Leer: %d\n",Leer(&primero, &ultimo));
  31.     Anadir(&primero, &ultimo, 90);
  32.     printf("Añadir (90)\n");
  33.     printf("Leer: %d\n",Leer(&primero, &ultimo));
  34.     printf("Leer: %d\n",Leer(&primero, &ultimo));
  35.  
  36.     system("PAUSE");
  37.     return 0;
  38. }
  39.  
  40. void Anadir(pNodo *primero, pNodo *ultimo, int v)
  41. {
  42. pNodo nuevo;
  43.  
  44. /* Crear un nodo nuevo */
  45.  
  46. nuevo=
  47. (pNodo)malloc(sizeof(tipoNodo));
  48. nuevo->valor=v;
  49.  
  50. /* Este sera el ultimo nodo, no debe tener siguiente */
  51.  
  52. nuevo->siguiente=NULL;
  53. /* Si la cola no estaba vacia, añadimos el nuevo a continuacion de ultimo */
  54. if(*ultimo) (*ultimo)->siguiente=nuevo;
  55.  
  56. /* Si primero es NULL, la cola estaba vacia, ahora primero apuntara tambien el nuevo nodo */
  57.  
  58. if(!*primero) *primero=nuevo;
  59. }
  60.  
  61. int Leer(pNodo *primero, pNodo *ultimo)
  62. {
  63.  
  64. pNodo nodo; /* Variable auxiliar para manipular nodo */
  65.  
  66. int v; /* Variable auxiliar para retorno */
  67.  
  68. /* Nodo apunta al primer elemento de la pila */
  69.  
  70. nodo=*primero;
  71. if(!nodo) return 0; /* Si no hay nodos en la pila retornamos 0 */
  72. /* Asignamos a primero la direccion del segundo nodo */
  73. *primero=nodo->siguiente;
  74. /*Guardamos el valor de retorno */
  75. v=nodo->valor;
  76. /* Borrar el nodo */
  77. free(nodo);
  78. /*Si la cola quedo vacia, ultimo debe ser NULL tambien */
  79. if(!*primero) *ultimo=NULL;
  80. return v;
  81. }



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!
__________________
:si: ANTARES:si:

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:30.