• Sábado 9 de Noviembre de 2024, 03:45

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Andres1790

Páginas: [1]
1
C/C++ / Problemilla con un error...
« en: Jueves 8 de Mayo de 2014, 22:42 »
Buenas tardes gente, no me darian una manito con el error que me salta al compilar este codigo?


Código: [Seleccionar]
#include <stdio.h>
#include <conio.h>
#include <string.h>

struct fecha {
    int dia;
    int mes;
    int anio;
};

struct alumno {
    char nomyape[40];
    char legajo[10];
    int edad;
    struct fecha fec_nac;
}casa;

int carga(struct alumno[]);
void ord_edad(struct alumno[],int);
void ord_nombre(struct alumno[],int);
struct alumno busca(struct alumno[], int, char[]);

int main(){
    char leg[10];
    int opc;
    int cant;
    struct alumno alu[500];
    cant = carga(alu);
    printf("La cantidad de alumnos ingresados es: %d\n",cant);
    printf("Presione enter para continuar...");
    getchar();
    getchar();
    system("CLS");

    do{
    printf("MENU PRINCIPAL\n");
    printf("--------------\n");
    printf("1-Ordenar por edad\n");
    printf("2-Ordenar por nombre\n");
    printf("3-Buscar un alumno por legajo\n");
    printf("4-Salir\n\n");

    printf("Opcion elegida: ");
    scanf("%d",&opc);

    switch(opc){
        case 1:
            ord_edad(alu,cant);
            break;
        case 2:
            ord_nombre(alu,cant);
            break;
        case 3:
            printf("Ingrese el legajo que quiere buscar: ");
            scanf("%s",&leg);
            busca(alu,cant,leg);
            break;
        case 4:
            break;
        default:
            printf("La opcion ingresada es incorrecta");
            break;

    }

    }while(opc!=4);

return 0;
}

int carga(struct alumno m[500]){
    char rta;
    int i = 0;
    do{
        if (i>=1){
                printf("Presione una enter para continuar...\n");
                getchar();
                getchar();
            }
        printf("ingrese el nombre y apellido del alumno: ");
        gets(m[i].nomyape);
        printf("ingrese el legajo del alumno: ");
        gets(m[i].legajo);
        printf("ingrese la edad del alumno: ");
        scanf("%d",&m[i].edad);
        printf("Ingrese la fecha de nacimiento: \n");
        printf("Dia: ");
        scanf("%d",&m[i].fec_nac.dia);
        printf("Mes: ");
        scanf("%d",&m[i].fec_nac.mes);
        printf("Anio: ");
        scanf("%d",&m[i].fec_nac.anio);
        getchar();

        do{
                printf("\n");
                printf("Desea ingresar otro alumno?");
                scanf("%c",&rta);
                printf("\n");
        }while (rta != 'n' && rta != 's' && rta != 'S' && rta != 'N');
        system("CLS");

        i++;

    }while (rta == 's' || rta == 'S');

return i;
}

void ord_edad(struct alumno m[500],int cant_alu){
    int i,j;
    struct alumno aux;
    for (i=0;i<cant_alu;i++){
        for (j=i+1;j<cant_alu;j++){
            if (m[i].edad > m[j].edad){                          //ORDENO DE MENOR A MAYOR
                aux=m[i];
                m[i]=m[j];
                m[j]=aux;
            }
        }
    }

    printf("El orden de menor a mayor por edad es de la siguiente forma: \n\n");

    for(i=0;i<cant_alu;i++){
        printf("Nombre y apellido: %s\n",m[i].nomyape);
        printf("Edad: %d\n",m[i].edad);
        printf("Legajo: %s\n",m[i].legajo);
        printf("Fecha de nacimiento: %d/%d/%d\n\n",m[i].fec_nac.dia,m[i].fec_nac.mes,m[i].fec_nac.anio);
    }
    printf("Presione ENTER para continuar.");
    getchar();
    getchar();
    system("CLS");
}

struct alumno busca(struct alumno m[500],int cant_alu, char lega[10]){
    struct alumno aux;
    int i;
    for (i=0;i<cant_alu;i++)
        if (strcmp(m[i].legajo,lega)==0)
            return m[i];
        else return aux;
}

void ord_nombre(struct alumno m[500], int cant_alu){
    int i,j;
    struct alumno aux;
    for (i=0;i<cant_alu;i++){
        for (j=i+1;j<cant_alu;j++){
            if (m[i].nomyape < m[j].nomyape){
                aux=m[i];
                m[i]=m[j];
                m[j]=aux;
            }
        }
    }
    printf("El orden de menor a mayor por abecedario es de la siguiente forma: \n\n");

    for(i=0;i<cant_alu;i++){
        printf("Nombre y apellido: %s\n",m[i].nomyape);
        printf("Edad: %d\n",m[i].edad);
        printf("Legajo: %s\n",m[i].legajo);
        printf("Fecha de nacimiento: %d/%d/%d\n\n",m[i].fec_nac.dia,m[i].fec_nac.mes,m[i].fec_nac.anio);
    }
    printf("Presione ENTER para continuar.");
    getchar();
    getchar();
    system("CLS");
}



El error es el siguiente:

error: expected '=', ',', ';', 'asm' or '__attribute__' at end of input

y me marca la ultima linea del programa, es decir una vez terminado de procesar todo... no me doy cuenta...

PD:recien estoy empezando a programar en C, sean piadosos jaja

Páginas: [1]