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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  programacion en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: programacion en c  (Leído 11,300 veces)
m87

Desconectado Desconectado

Mensajes: 3


Ver Perfil
programacion en c
« en: 4 Junio 2010, 00:14 am »

Hola, recien estoy aprendiendo listas, me pueden decir que esta mal, porque no m compila??muchas gracias

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


struct fecha
{
 char dia,mes,año;
};
struct alumno
{
 int lu;
 long int dni;
 char apellido[20];
 char nombre[20];
 char carrera[25];
 int edad;
 struct fecha ing;
 struct alumno*sig;
};

void DarAlta ()
{
 struct alumno*aux;
 struct alumno*inicio=NULL;
 struct alumno*nuevo=((struct alumno*)malloc(sizeof(struct alumno)));
 printf("INGRESE LOS DATOS:\N");
 printf("lu:\n");
 scanf("%d",&nuevo->lu);
 printf("DNI:\n");
 scanf("%d",&nuevo->dni);
 printf("Apellido:\n");
 scanf("%s",nuevo->apellido);
 printf("nombre:\n");
 scanf("%s",nuevo->nombre);
 printf("carrera:\n");
 scanf("%s",nuevo->carrera);
 printf("edad:\n");
 scanf("%d",&nuevo->edad);
 printf("fecha de ingreso:\n");
 printf("dia\n");
 scanf("%d",nuevo->ing.dia);
 printf("mes:\n");
 scanf("%d",nuevo->ing.mes);
 printf("a¤o:\n");
 scanf("%d",nuevo->ing.año);
 nuevo->sig=NULL;
 if (inicio==NULL)
 {
   inicio=nuevo;
 }
 else
   aux=inicio;
   if (aux->lu>nuevo->lu)
   {
    nuevo->sig=aux;
    inicio=nuevo;
   }
   else
   {
    while (aux->sig!=NULL & nuevo->lu>=aux->sig->lu)
    {
     aux=aux->sig;
    }
    nuevo->sig=aux->sig;
    aux->sig=nuevo;
   }
return;

}


En línea

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: programacion en c
« Respuesta #1 en: 4 Junio 2010, 01:08 am »

No me lo he mirado entero, pero declaras 3 char's y los rellenas con enteros...

Por favor, organiza un poco el código y utiliza GeSHI para que podamos corregir mejor...



Y ahora que me fijo, tu función no es Main, y aparte, la declaras void y pones un return que no retorna nada, un else sin corchetes.... Y mas cosas.
Antes de meterte a listas, estudiate bien la base...


« Última modificación: 4 Junio 2010, 01:10 am por GNU López » En línea

nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: programacion en c
« Respuesta #2 en: 4 Junio 2010, 05:25 am »

Ademas de lo ya mencionado por Daemon Freedom

Estaria bueno que mires los errores o warnings que te tira el compilador, saben ser de mucha ayuda (algunas veces :P)

De ultima pon el log en este post!, asi te podemos orientar en base a eso y de paso aprendes a analizarlos.

Salu10.
En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: programacion en c
« Respuesta #3 en: 4 Junio 2010, 05:31 am »

usa GESHI, asi es mas sencillo de leer el codigo para quienes te van a ayudar.
En línea

Gallu

Desconectado Desconectado

Mensajes: 247



Ver Perfil
Re: programacion en c
« Respuesta #4 en: 4 Junio 2010, 12:58 pm »


Fíjate siempre en los mensajes que te da el compilador ...
Aquí te esta diciendo que tienes un error en la línea 8 , tienes una ñ metida en "año"  mejor intenta no usar eñes
Código
  1. lis.c:8: error: stray '\361' in program
  2. lis.c:8: error: expected ':', ',', ';', '}' or '__attribute__' before 'o'
  3.  

Este error es el más claro de todos , "\N" no es una secuencia válida de escape la correcta es "\n" , cambiala !
Código
  1. lis.c:27:9: warning: unknown escape sequence '\N'   // \N no es una secuencia de escape , prueba con \n
  2. lis.c: In function 'DarAlta':
  3.  

Esto esta relacionado con el error de la variable año de la estructura fecha
Código
  1. lis.c:46: error: 'struct fecha' has no member named 'a'
  2. lis.c:46: error: stray '\361' in program
  3. lis.c:46: error: expected ')' before 'o'
  4.  
En línea

Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Programacion en C
Programación C/C++
Andrea0000 5 4,325 Último mensaje 4 Enero 2022, 00:41 am
por RayR
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines