zafrada Posted July 6, 2012 Report Share Posted July 6, 2012 así no vas a llegar a ningún lado, rootea el código del ash williams, que está súper entendible y claro Link to comment Share on other sites More sharing options...
soulsitg Posted July 6, 2012 Author Report Share Posted July 6, 2012 (edited) así no vas a llegar a ningún lado, rootea el código del ash williams, que está súper entendible y clarosi la estructura de ash william esta super buena y el trabajo que hizo se lo agradesco pero necesito que recomienden algo mas y tambien enviar a un txt la informacion guardada #include <stdlib.h> #include <stdio.h> typedef struct{ char asignatura[10]; int nota[6]; int pond[4]; int promedio; }Notas; typedef struct{ char nombre[10]; char rut[12]; Notas notas[2]; } Alumno; int main(void) { float notas[100],pond[100], moda, mayor, menor, promedio = 0; int N, i, j, encontro, mayorRepeticion = 0; { int opcion,cont,i,x,w,posicion; Alumno arreglo_alumnos[100]; cont = 0; do{ printf("\nMenu de Opciones\n"); printf("1.Ingresar Datos del Alumno \n"); printf("2.Mostrar Datos del Alumno \n"); printf("3.Salir \n"); printf("\n\n"); printf("ingrese opcion : "); scanf("%d",&opcion); switch (opcion) { case 1: { printf("Ingreso Alumno\n"); if(cont < 99) { printf("Nombre Alumno : "); gets(arreglo_alumnos[cont].nombre); gets(arreglo_alumnos[cont].nombre); printf("Rut Alumno : "); gets(arreglo_alumnos[cont].rut); printf("Asignatura 1 : \n"); printf("Nombre Asignatura : "); gets(arreglo_alumnos[cont].notas[0].asignatura); printf("Cantidad de notas?:_"); scanf("%d",&N); for(i = 0; i < N ;i++){ printf("Ingrese la nota %d: ",i + 1); scanf("%f",¬as[i]); printf("Ingrese la %d ponderacion: ",i + 1); scanf("%f",&pond[i]); cont = cont + 1; } mayor = menor = notas[0]; for(i = 1; i < N ;i++){ if(notas[i] > mayor){ mayor = notas[i]; } if(notas[i] < menor){ menor = notas[i]; } } for(i = 0; i < N ;i++){ encontro = 0; for(j = i-1; j >= 0 && encontro != 1; j--){ if(notas[i] == notas[j]){ encontro = 1; } } if(encontro == 0){ encontro = 1; for(j = i + 1; j < N; j++){ if(notas[i] == notas[j]){ encontro++; } } if(encontro > mayorRepeticion){ mayorRepeticion = encontro; moda = notas[i]; } } promedio = promedio + notas[i]; } printf("\nPromedio de notas: %.2f\n",promedio/N); printf("Moda: %.2f\n",moda); printf("Maxima nota: %.2f\n",mayor); printf("Minima nota: %.2f\n",menor); if (promedio >= 40) { printf("La asignatura fue APROBADA!");} else { printf("La asignatura fue REPROBADA!"); } printf("\n\n\n"); printf("Asignatura 2 : \n"); printf("Nombre Asignatura : "); gets(arreglo_alumnos[cont].notas[1].asignatura); printf("Cantidad de notas?:_"); scanf("%d",&N); for(i = 0; i < N ;i++){ printf("Ingrese la nota %d: ",i + 1); scanf("%f",¬as[i]); printf("Ingrese la %d ponderacion: ",i + 1); scanf("%f",&pond[i]); cont = cont + 1; } mayor = menor = notas[0]; for(i = 1; i < N ;i++){ if(notas[i] > mayor){ mayor = notas[i]; } if(notas[i] < menor){ menor = notas[i]; } } for(i = 0; i < N ;i++){ encontro = 0; for(j = i-1; j >= 0 && encontro != 1; j--){ if(notas[i] == notas[j]){ encontro = 1; } } if(encontro == 0){ encontro = 1; for(j = i + 1; j < N; j++){ if(notas[i] == notas[j]){ encontro++; } } if(encontro > mayorRepeticion){ mayorRepeticion = encontro; moda = notas[i]; } } promedio = promedio + notas[i]; } printf("\nPromedio de notas: %.2f\n",promedio/N); printf("Moda: %.2f\n",moda); printf("Maxima nota: %.2f\n",mayor); printf("Minima nota: %.2f\n",menor); if (promedio >= 40) { printf("La asignatura fue APROBADA!\n"); } else { printf("La asignatura fue REPROBADA!\n"); arreglo_alumnos[cont].notas[1].promedio = (arreglo_alumnos[cont].notas[1].nota[0] + arreglo_alumnos[cont].notas[1].nota[1] + arreglo_alumnos[cont].notas[2].nota[2]) / 3; } } else { printf("Imposible completar operación\n"); } } case 2: { if(opcion == 2){ printf("Ingrese el numero de lista del alumno : "); scanf("%d",&posicion); if(posicion-1 < cont) { printf("Datos del alumno : \n"); printf("Nombre Completo : %s \n", arreglo_alumnos[posicion-1].nombre); printf("Nombre Completo : %s \n", arreglo_alumnos[posicion-1].nombre); printf("asignatura : %s \n", arreglo_alumnos[cont].notas[0].asignatura); printf("\nPromedio de notas: %.2f\n",promedio/N); } else { printf("Alumno no existe...."); } } } } }while(opcion < 3); return 0; } } Edited July 7, 2012 by soulsitg Link to comment Share on other sites More sharing options...
nycko[!] Posted July 7, 2012 Report Share Posted July 7, 2012 así no vas a llegar a ningún lado, rootea el código del ash williams, que está súper entendible y clarosi la estructura de ash william esta super buena y el trabajo que hizo se lo agradesco pero necesito hacer algo asi typede fstruct char asignatura[50]; int nota[6]; int pond [6]; int promedio; }Notas; como dejo esto que sea "Nota i hasta tener una ponderacion =100% gets(arreglo_alumnos[cont].notas[0].asignatura); printf("Nota 1 : "); scanf("%d",&arreglo_alumnos[cont].notas[0].nota[0]); printf("ponderacion : "); scanf("%d",&arreglo_alumnos[cont].notas[0].pond[0]); printf("Nota 2 : "); scanf("%d",&arreglo_alumnos[cont].notas[0].nota[1]); printf("ponderacion : "); scanf("%d",&arreglo_alumnos[cont].notas[0].pond[1]); printf("Nota 3 : "); scanf("%d",&arreglo_alumnos[cont].notas[0].nota[2]); la ponderacion deberia depender de la cantidad de notas que tengas.. despues de leer las notas, y leer las ponderaciones.. sumai las puras ponderaciones no mas..y esperai a que te de el 100% o sino repetir la accion no mas.. atras te deje una idea de como hacerlo.. es arto pajero andar leyendo 1x1.. y sobre todo cuando tienes que leer distintas cantidades de notas y ponderaciones.. Link to comment Share on other sites More sharing options...
soulsitg Posted July 7, 2012 Author Report Share Posted July 7, 2012 (edited) ' timestamp='1341648923' post='17910250']así no vas a llegar a ningún lado, rootea el código del ash williams, que está súper entendible y clarosi la estructura de ash william esta super buena y el trabajo que hizo se lo agradesco pero necesito hacer algo asi typede fstruct char asignatura[50]; int nota[6]; int pond [6]; int promedio; }Notas; como dejo esto que sea "Nota i hasta tener una ponderacion =100% gets(arreglo_alumnos[cont].notas[0].asignatura); printf("Nota 1 : "); scanf("%d",&arreglo_alumnos[cont].notas[0].nota[0]); printf("ponderacion : "); scanf("%d",&arreglo_alumnos[cont].notas[0].pond[0]); printf("Nota 2 : "); scanf("%d",&arreglo_alumnos[cont].notas[0].nota[1]); printf("ponderacion : "); scanf("%d",&arreglo_alumnos[cont].notas[0].pond[1]); printf("Nota 3 : "); scanf("%d",&arreglo_alumnos[cont].notas[0].nota[2]); la ponderacion deberia depender de la cantidad de notas que tengas..despues de leer las notas, y leer las ponderaciones.. sumai las puras ponderaciones no mas..y esperai a que te de el 100% o sino repetir la accion no mas.. atras te deje una idea de como hacerlo.. es arto pajero andar leyendo 1x1.. y sobre todo cuando tienes que leer distintas cantidades de notas y ponderaciones..ajajajajajaja si vastante pajero xD es una nota no creo que aya una forma mas simpleal final deje otra manera si puedes miralo denuevo Edited July 7, 2012 by soulsitg Link to comment Share on other sites More sharing options...
nycko[!] Posted July 7, 2012 Report Share Posted July 7, 2012 hmm.. teni el enunciado completo? asi como por ser :rolleyes: por que haz cambiado el codigo un monton de veces y ni tu sabes a lo que quieres llegar :mmm: empezaste con funciones, ahora casi ni veo los struct.. ahora ni lees de texto.. :mellow: Link to comment Share on other sites More sharing options...
zafrada Posted July 7, 2012 Report Share Posted July 7, 2012 (edited) ' timestamp='1341650397' post='17910260']hmm.. teni el enunciado completo? asi como por ser :rolleyes: por que haz cambiado el codigo un monton de veces y ni tu sabes a lo que quieres llegar :mmm:empezaste con funciones, ahora casi ni veo los struct.. ahora ni lees de texto.. :mellow: x2, espero el enunciado Edited July 7, 2012 by zafrada Link to comment Share on other sites More sharing options...
soulsitg Posted July 11, 2012 Author Report Share Posted July 11, 2012 (edited) ' timestamp='1341650397' post='17910260']hmm.. teni el enunciado completo? asi como por ser :rolleyes: por que haz cambiado el codigo un monton de veces y ni tu sabes a lo que quieres llegar :mmm:empezaste con funciones, ahora casi ni veo los struct.. ahora ni lees de texto.. :mellow: x2, espero el enunciadoaqui va el anunciado La tarea consiste en escribir un programa en C que permita llevar el control de las calificaciones de los ramos de un alumno durante un semestre.Lo anterior significa que el programa debe ser capaz de registrar y modificar calificaciones de las asignaturas que tiene el alumno y entregar opciones para que se calculen las notas finales cuando todas las calificaciones estén registradas.Considere que el máximo de asignaturas a manejar es 6 y que el máximo de calificaciones por asignatura es 10. Cada asignatura requiere un número de calificaciones (cada una con su respectiva ponderación) para determinar la nota final.El programa debe ser capaz de realizar las siguientes tareas:· Cargar las asignaturas, ponderaciones y calificaciones desde un archivo de texto.· Realizar modificaciones, eliminaciones y cambios de cualquier especie.· Grabar asignaturas, ponderaciones y calificaciones hacia un archivo de texto.· Leer el archivo y ingresar notas que no fueron ingresada y no sobreescribir notas que estan guaradada Edited July 11, 2012 by soulsitg Link to comment Share on other sites More sharing options...
AshWilliams Posted July 18, 2012 Report Share Posted July 18, 2012 Cerrado a petición del usuario ;) Saludos :krider: Link to comment Share on other sites More sharing options...
Recommended Posts