C/Visual C - Estudiuate plus

 
Vista:

Estudiuate plus

Publicado por gabo (2 intervenciones) el 30/09/2007 16:50:11
problema con programa holah acabo de termianr este programa soy nuevo en el lenguaje y me da el siguiente error porfavor si alguien pudiera ayudarme...

gabriel@gabriel-desktop:~$ gcc notas.c -o notas
notas.c: En la función ‘main’:
notas.c:104: error: syntax error at end of input
gabriel@gabriel-desktop:~$

el prog es el siguiente:

#include<stdio.h>
struct est{
int ci;
char name[40];
float n[3],s,p;
};
int main() {
int i,j,ne,opc,subopc,cib;
char nameb[40]={' '};
printf("\tIntrodusca el número de estudiantes: ");
scanf("%d",&ne);
struct est e[ne];
for(i=0;i<=ne-1;i++){
e[i].ci=0;
for(j=0;j<=38;j++)
e[i].name[j]=' ';
e[i].name[39]='\0';
e[i].n[0]=0;
e[i].n[1]=0;
e[i].n[2]=0;
e[i].s=0;
e[i].p=0;
}
printf("\tOpciones:\n\t1.- Introducir los datos de todos los estudiantes y sus notas.\n\t2.- Modificar la nota de un estudiante.\n\t3.- Mostrar la nota de un estudiante.\n\t4.- Mostrar las notas de todos los estudiantes.\n\t5.- Modificar los datos de un estudiante.\n\t6.- Salir.\n\tIntrodusca el numero de la opcion deseada: ");
scanf("%d",&opc);
while(opc!=6){
switch(opc){
case '1':
for(i=0;i<=ne-1;i++){
printf("/tCedula: ");
scanf("%d",&e[i].ci);
printf("/tNombre: ");
scanf("%d",e[i].name);
for(j=0;j<=2;i++){
printf("/tNota%d: ",j+1);
scanf("%d",&e[i].n[i]);
e[i].s=e[i].s+e[i].n[i];
}
e[i].p=e[i].s/3;
}
break;
case '2':
printf("\tOpciones:\n\t1.- Buscar por Cedula.\n\t2.- Buscar por Nombre.\n\tIntrodusca el numero de la opcion deseada: ");
scanf("%d",&subopc);
switch(subopc){
case '1':
printf("/tCedula: ");
scanf("%d",&cib);
for(i=0;i<=ne-1;i++){
if(cib==e[i].ci){
for(j=0;j<=2;i++){
printf("/tNueva Nota%d: ",j+1);
scanf("%d",&e[i].n[i]);
e[i].s=e[i].s+e[i].n[i];
}
}
}
break;
case '2':
printf("/tNombre: ");
scanf("%s",nameb);
for(i=0;i<=ne-1;i++){
if(nameb==e[i].name){
for(j=0;j<=2;i++){
printf("/tNueva Nota%d: ",j+1);
scanf("%d",&e[i].n[i]);
e[i].s=e[i].s+e[i].n[i];
}
}
}
break;
break;
case '3':
printf("/tCedula: ");
scanf("%d",&cib);
for(i=0;i<=ne-1;i++){
if(cib==e[i].ci){
printf("/t%d/t%s/t%f/t%f/t%f/t%f",e[i].ci,e[i].name,e[i].n[0],e[i].n[1],e[i].n[2],e[i].p);
}
}
break;
case '4':
for(i=0;i<=ne-1;i++){
printf("/t%d/t%s/t%f/t%f/t%f/t%f",e[i].ci,e[i].name,e[i].n[0],e[i].n[1],e[i].n[2],e[i].p);
}
case '5':
printf("/tCedula: ");
scanf("%d",&cib);
for(i=0;i<=ne-1;i++){
if(cib==e[i].ci){
printf("/tNueva Cedula: ");
scanf("%d",&e[i].ci);
printf("/tNuevo Nombre: ");
scanf("%d",e[i].name);
}
}
break;
} /* linea 104*/
printf("\tOpciones:\n\t1.- Introducir los datos de todos los estudiantes y sus notas.\n\t2.- Modificar la nota de un estudiante.\n\t3.- Mostrar la nota de un estudiante.\n\t4.- Mostrar las notas de todos los estudiantes.\n\t5.- Modificar los datos de un estudiante.\n\t6.- Salir.\n\tIntrodusca el numero de la opcion deseada: ");
scanf("%d",&opc);
}

return 0;
}

--------------------------
y si saben una forma de optimizarlo tambien me dicen xD...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Estudiuate plus

Publicado por Trebuchetino (28 intervenciones) el 30/09/2007 21:48:43
Pues asi de primeras....parece que le falta una llave, en concreto esta: "}"
Además, tienes un scanf algo raro: scanf("%d",≠);
A que te refieres con el simbolo ≠ ? querias poner la variable "ne"?

En fin, no se si habra mas problemas, pero esos dos son los que encontrado asi por encima.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar