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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  agregar notas altas y bajas en la opcion promedio y gotoxy al imprimir en fila
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: agregar notas altas y bajas en la opcion promedio y gotoxy al imprimir en fila  (Leído 2,199 veces)
baselnick

Desconectado Desconectado

Mensajes: 2


Ver Perfil
agregar notas altas y bajas en la opcion promedio y gotoxy al imprimir en fila
« en: 5 Febrero 2013, 20:32 pm »

buenas tengo que agregar notas altas y bajas entro los alumnos para ver quien queda en primer lugar y el promedio de la sección yo lo hice pero solo el promedio de la sección y ademas tengo que ordenar en la opcion imprimir para que me salga en forma ordenada el nombre del alumno y a un lado la nota y posicion en el curso ayuda plisssssssss




#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define n 1000
void insertar(float *c,char a[][15],int t);
void imprimir(float *c,char a[][15],int t);
void ordenar_nombre(float *c,char a[][15],int t);
void ordenar_calificacion(float *c,char a[][15],int t);
void buscar_nombre(float *c,char a[][15],char *no,int t);
float promedio(float *c,int t);
int existen_datos(int t);
int main(void) {
int opcion,ca=0,salir=0;
float c[n];
char no[n][15],nom[15],opcionn;
do{
system("cls");
printf(" ----------7mo sección A-----------\n");
printf("1 - Insertar Calificaciones.\n");
printf("2 - Promedio sección.\n");
printf("3 - Consultas.\n");
printf("4 - Imprimir Resultados.\n");
printf("5 - Salir.\n");
printf("Ingrese una opcion: ");
scanf("%d",&opcion);
switch(opcion){
case 1: printf("Cantidad de alumnos a ingresar: ");
scanf("%d",&ca);
insertar(c,no,ca);
break;
case 2: if(existen_datos(ca)==1){
printf("Promedio sección: ");
printf("%.2f\n",promedio(c,ca));
system("pause");}
break;
case 3: if(existen_datos(ca)==1){
system("cls");
printf("Ingrese el nombre: ");
scanf("%s",&nom);
buscar_nombre(c,no,nom,ca);}
break;
case 4: if(existen_datos(ca)==1)
imprimir(c,no,ca);
break;
case 5: salir=1; break;
default: printf("Opcion mal ingresada.\n");
system("pause"); break;}
}while(salir==0);
return 0;}
void insertar(float *c,char a[][15],int t){
int i;
for(i=0;i<t;i++){
printf("%d Alumno.\n",i+1); fflush(stdin);
printf("Nombre: "); gets(a);
printf("Calificacion: ");
scanf("%f",&c); printf("\n");}
printf("Alumnos cargados con exito.\n");
system("pause");}
void imprimir(float *c,char a[][15],int t){
int i;
for(i=0;i<t;i++){
printf("---------------\n");
printf("%d Alumno.\n",i+1);
printf("Nombre: %s",a);
printf("\nCalificacion: %.2f\n",c);}
printf("---------------\n");
system("pause");}
void ordenar_nombre(float *c,char a[][15],int t){
int i,j; char auxn[15];float auxc;
for(i=0;i<t-1;i++){
int min = i;
for(j=i+1;j<t;j++)
if(strcmp(a[min],a[j])>0)min=j;
auxc=c;
c=c[min];
c[min]=auxc;
strcpy(auxn,a);
strcpy(a,a[min]);
strcpy(a[min],auxn);}}
void ordenar_calificacion(float *c,char a[][15],int t){
int i,j; char auxn[15];float auxc;
for(i=0;i<t-1;i++){
int min = i;
for(j=i+1;j<t;j++)
if(c[min]>c[j]) min=j;
auxc=c;
c=c[min];
c[min]=auxc;
strcpy(auxn,a);
strcpy(a,a[min]);
strcpy(a[min],auxn);}}
float promedio(float *c,int t){
float p=0;int i;
for(i=0;i<t;i++)
p=p+c;
return p/t;}
int existen_datos(int t){
if(t!=0)
return 1;
printf("No hay calificaciones cargadas.\n"),
system("pause");
return 0;}
void buscar_nombre(float *c,char a[][15],char *no,int t){
int i,p=-1;
for(i=0;i<t;i++)
if(strcmp(a,no)==0){
printf("---------------\n");
printf("Nombre: %s\n",a);
printf("Calificacion: %.2f",c);
printf("\n---------------\n");
p=i+1; break;}
if(p==-1)
printf("No se ha encontrado ningun dato.\n");
system("pause");}


En línea

Tryptophan

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Re: agregar notas altas y bajas en la opcion promedio y gotoxy al imprimir en fila
« Respuesta #1 en: 5 Febrero 2013, 20:42 pm »

Buenas  :). En primer lugar te recomiendo identar tu código, digo, es una buena práctica de programación para que quede ordenado y que otro pueda interpretarlo fácilmente... Uno mismo cuando desarrolla en la industria tiene que tocar código que no ve hace meses y es una práctica sana hacerlo. Bien, a ver si entendí...

1) Tenes que agregar notas altas y bajas
2) Tenes que insertarlas ordenadamente
3) Tenes que sacar un promedio

Podes hacer un "InsertaOrdenado()" que reciba a la persona, su nota y al array en donde queres meterlo. Lo insertas en la posición en donde quede entre uno menor y mayor que él, y vas corriendo todos los otros (fijate si vas a usar un array estático o dinámico, u otra estructura). Cuando le den "Imprimir", ya lo tenes ordenado y ahí sacas el promedio recorriendo, sumando y dividiendo.


« Última modificación: 5 Febrero 2013, 20:44 pm por Tryptophan » En línea

baselnick

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: agregar notas altas y bajas en la opcion promedio y gotoxy al imprimir en fila
« Respuesta #2 en: 5 Febrero 2013, 22:28 pm »

disculpa la molestia pero me mostrarias como queda insertado en el codigo que ya me dio un colapso mental y es para mañana que tengo que entregarlo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como imprimir un bloc de notas
Programación Visual Basic
al0ns0 0 3,606 Último mensaje 21 Febrero 2006, 10:35 am
por al0ns0
allar promedio de "N" notas
.NET (C#, VB.NET, ASP)
llAudioslavell 7 5,638 Último mensaje 28 Agosto 2011, 22:17 pm
por adan-2994
matriz nxm numeros, como imprimir segunda fila[SOLUCIONADO]
Java
rub'n 6 12,344 Último mensaje 28 Noviembre 2011, 00:25 am
por rub'n
Archivos: altas,bajas y modificaciones en c (consulta)
Programación C/C++
mauropereyra 1 13,529 Último mensaje 28 Octubre 2020, 13:59 pm
por Nacko
me podrian ayudar a hacer altas y bajas con esta estructura en c
Programación C/C++
alancito2345 0 3,768 Último mensaje 29 Agosto 2022, 19:40 pm
por alancito2345
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines