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

Auxilio Por Favor! Indice Semestral

Estas en el tema de Auxilio Por Favor! Indice Semestral en el foro de C/C++ en Foros del Web. Tengo un proyecto, el cual se trata de calcular el indice semestral y diga su condicion, pero no me corre, se cierra en automatico y ...
  #1 (permalink)  
Antiguo 22/04/2008, 15:48
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
Auxilio Por Favor! Indice Semestral

Tengo un proyecto, el cual se trata de calcular el indice semestral y diga su condicion, pero no me corre, se cierra en automatico y debo de entregarlo lo antes posible...

POR FAVOR ALGUIEN AYUDEME..!

Este es el codigo:

Código:
#include <stdio.h>
#include <stdlib.h>

  int main(int argc, char *argv[])
{
  int n,i,credito[30],*sp,matricula,NOMBRE[50],sum=0,sun=0,mult[150],j,pnts;
  float indice;
  char materias[100],calif[100];
  
  printf("PROGRAMA PARA CALCULAR EL INDICE SEMESTRAL DE UN ESTUDIANTE \n\n");
  
  printf("INTRODUZCA EL NOMBRE Y EL APELLIDO DEL ESTUDIANTE: ");
  gets(NOMBRE);
  
  printf("\nINTRODUZCA LA MATRICULA DEL ESTUDIANTE COMPLETA CON GUION: ");
  gets(matricula);
  
  printf ("\nINTRODUZCA LA CANTIDAD DE MATERIAS A CALCULAR EL INDICE: ");
  gets(n);
  j = n;
  
  for(i=0;n>0;i++)
{
  printf ("INTRODUZCA EL NOMBRE DE LA MATERIA: %s",&materias[i]);
  scanf("%s",&materias[i]);

  printf ("INTRODUZCA LA CANTIDAD DE CREDITOS DE LA MATERIA: ");
  scanf("%d",&credito[i]);

  printf("INTRODUZCA LA CALIFICACION OBTENIDA EN LA MATERIA: ");
  scanf("%s",&calif[i]);
  
  switch (calif[i])
{
  case 'A':
  calif[i]=4;
  break;
  case 'B':
  calif[i]=3;
  break;
  case 'C':
  calif[i]=2;
  break;
  case 'D':
  calif[i]=1;
  break;
  case 'F':
  calif[i]=0;
  break;
}
  system("cls");
  n--;
}
  for(i=1;j>0;i++)
{
  printf("MATRICULA #: %d",matricula);
  printf("\n");

  printf("NOMBRE DEL ESTUDIANTE:%s",NOMBRE);
  printf("\n");
  printf("Cantidad de Materias Cursadas En El Semestre: %d",j);
  printf("\n");

  mult[i]=credito[i]*calif[i]; 
  sum= sum+credito[i];
  pnts=sun+mult[i]; 
  indice=pnts/sum; 
  printf("----------------------------------------------------");
  printf("\n");
  printf("Materia #Creditos Calificacion Puntos ");
  printf("\n");

  for (i=1;j>0;i++)
{
  printf(" %s %d %s %d ",materias[i],credito[i],calif[i],mult[i]);
}
  printf("----------------------------------------------------");
  for (i=1;j>0;i++)
{
  printf("Total: %d %d ",sum,sun);
  printf("El total y indice academico es : %f",indice);
}
  if(indice>2.0)
  printf("LA CONDICION ACADEMICA ES NORMAL");
  else
  if(indice<2.0)
  printf("EL ESTUDIANTE SE ENCUENTRA EN PRUEBA ACADEMICA 1");
}
system("PAUSE");
return 0;
}
  #2 (permalink)  
Antiguo 22/04/2008, 21:08
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 2 meses
Puntos: 1360
Re: Auxilio Por Favor! Indice Semestral

recomendacion en tus for's has lo siguiente:

for(i=0;i<n;i++)
matriz_a_recorrer[i]; //Lo recorrera n veces y es mas limpio al leer codigo

Si solo ejecutas una intruccion no nesecitas tantas llaves
ejemplo:
for(.........)
for(..........)
if(...........)
else(..........)

no nesecita tantas llavez a menos que pongas mas de una sentencia.

Recomendacion usa scanf("%d",&n);
  #3 (permalink)  
Antiguo 23/04/2008, 08:33
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: Auxilio Por Favor! Indice Semestral

Idente SU codigo y despues DEPURELO.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #4 (permalink)  
Antiguo 23/04/2008, 15:10
Avatar de jotaaigriegao  
Fecha de Ingreso: marzo-2008
Mensajes: 60
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Auxilio Por Favor! Indice Semestral

solo de ver el inicio puedo darme cuenta q recibes el nombre en un arreglo de enteros.
usa scanf para leer las variables, gets recoge toda la linea. si puedes mandame el codigo al correo.esta sencillo.
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 03:02.