/*
Realizar un programa en C que mediante arrays guarde las notas de N alumnos,
el programa debe verificar que la nota sea real (de 0 a 10).
también debe poder guardar los promedios.
Debe poder imprimir todos los datos
y tiene que permitir hacer busquedas especificas sobre un alumno
Por ejemplo debe poder consultar sus notas y promedio, mediante su codigo de alumno,
*/
#include <stdio.h>
#include <stdlib.h>
//se define el maximo numero de elementos que puede tener el array
#define MAX 100
#define TRUE 1
#define FALSE 0
/*
el array alumno[MAX][4] es de tipo global
lo que significa que
nos ahorraremos de enviarselo como parametro a las funciones que lo necesitan,
las funciones pueden acceder directamente
*/
float alumno[MAX][4];
int verificar_Codigo(int codigo, int cant)//retorna TRUE si el codigo de alumno existe
{
if(codigo>=0 && codigo<cant)
return TRUE;
else
return FALSE;
}
void iniciar_Notas(int cant)//inicia en cero todas las notas y promedios
{
int i;
for(i=0;i<cant;i++)
{
alumno[i][0]=0.0;
alumno[i][1]=0.0;
alumno[i][2]=0.0;
alumno[i][3]=0.0;
}
}
int ingresar(int codigo, float nota1,float nota2, float nota3)
{//ingresa 3 notas en el codigo del alumno
//primero verificar que las notas sean correctas
if(nota1>=0 && nota1<=10 && nota2>=0 && nota2<=10 && nota3>=0 && nota3<=10)
{
alumno[codigo][0] = nota1;
alumno[codigo][1] = nota2;
alumno[codigo][2] = nota3;
alumno[codigo][3] = (nota1+nota2+nota3) / 3.0;
return TRUE;//los datos se insertaron con exito
}
else
return FALSE;//entonces se pudieron insertar los datos
}
void ingresar_Todo(int cant)//
{//pide todas las notas de todos los alumnos uno a uno
int i;
for(i=0;i<cant;i++)
{
printf("CODIGO: %d\n",i);
printf("Ingrese la nota 1: ");
scanf("%f",&alumno[i][0]);
printf("Ingrese la nota 2: ");
scanf("%f",&alumno[i][1]);
printf("Ingrese la nota 3: ");
scanf("%f",&alumno[i][2]);
}
}
void imprimir_Todo(int cant)
{//imprime el codigo, las 3 notas y el promedio de cada alumno
printf("\tCodigo\tNota 1\tNota 2\tNota 3\tPromedio\n");
int i;
for(i=0;i<cant;i++)
{
printf("\t%d\t%.2f\t%.2f\t%.2f\t%.2f\n",
i,//codigo
alumno[i][0],//nota 1
alumno[i][1],//nota 2
alumno[i][2],//nota 3
alumno[i][3]);//promedio
}
}
int imprimir(int codigo,int cant)
{//imprime las notas y el promedio del codigo del alumno
if(verificar_Codigo(codigo,cant)==TRUE)
{
printf("Codigo: %d\nNota 1: %.2f\nNota 2: %.2f\nNota 3: %.2f\nPromedio: %.2f\n",
codigo,
alumno[codigo][0],//nota 1
alumno[codigo][1],//nota 2
alumno[codigo][2],//nota 3
alumno[codigo][3]);//promedio
return TRUE;
}
else return FALSE;
}
int main(void) {
int cant;
puts("Ingrese la cantidad de alumnos de su grado: ");
scanf("%d",&cant);
/* Se llama o invoca a la funcion iniciarNotas
y se le envia como parametro la cantidad de alumnos que tiene
*/
iniciar_Notas(cant);//se inician en cero todas las notas
while(TRUE)
{
puts("\t1) Ingresar todas las notas\n\t2) Ingresar una nota\n\t3) Imprimir todos los datos\n\t4) Consultar un datos especifico\nIngrese su opcion: ");
int opcion,
codigo;
scanf("%d",&opcion);
if(opcion==1)
{
//se le envia como parametro la cantidad de alumnos
ingresar_Todo(cant);
}
else if(opcion==2)
{
puts("Ingrese el codigo del alumno: ");
scanf("%d",&codigo);
//primero se verifica que el codigo exista
if(verificar_Codigo(codigo,cant)==TRUE)
{
float nota1,nota2,nota3;
puts("Ingrese la nota 1: ");
scanf("%f",¬a1);
puts("Ingrese la nota 2: ");
scanf("%f",¬a1);
puts("Ingrese la nota 3: ");
scanf("%f",¬a1);
//si las notas son validas (de 0 a 10)
if(ingresar(codigo,nota1,nota2,nota3)==TRUE)
puts("Sus datos fueron registrados con exito");
else
puts("ERROR: no se puede ingresar las notas");
}
}
else if(opcion==3)
{
//imprimir_todo tambien necesita recibir como parametro la cantidad de alumnos
imprimir_Todo(cant);
}
else if(opcion==4)
{
puts("Ingrese el codigo del alumno: ");
scanf("%d",&codigo);
//Si el codigo de alumno no existe entonces retorna FALSE y se debe informar
if(imprimir(codigo,cant)==FALSE)
{
printf("ERROR: No se pudo encontrar un alumno con ese codigo\n");
}
}
fflush(stdin);
getchar();
system("cls");//si usas Linux remplaza "cls" por "clear"
}
fflush(stdin);
getchar();
return 0;
}
Realizar un programa en C que mediante arrays guarde las notas de N alumnos,
el programa debe verificar que la nota sea real (de 0 a 10).
también debe poder guardar los promedios.
Debe poder imprimir todos los datos
y tiene que permitir hacer busquedas especificas sobre un alumno
Por ejemplo debe poder consultar sus notas y promedio, mediante su codigo de alumno,
*/
#include <stdio.h>
#include <stdlib.h>
//se define el maximo numero de elementos que puede tener el array
#define MAX 100
#define TRUE 1
#define FALSE 0
/*
el array alumno[MAX][4] es de tipo global
lo que significa que
nos ahorraremos de enviarselo como parametro a las funciones que lo necesitan,
las funciones pueden acceder directamente
*/
float alumno[MAX][4];
int verificar_Codigo(int codigo, int cant)//retorna TRUE si el codigo de alumno existe
{
if(codigo>=0 && codigo<cant)
return TRUE;
else
return FALSE;
}
void iniciar_Notas(int cant)//inicia en cero todas las notas y promedios
{
int i;
for(i=0;i<cant;i++)
{
alumno[i][0]=0.0;
alumno[i][1]=0.0;
alumno[i][2]=0.0;
alumno[i][3]=0.0;
}
}
int ingresar(int codigo, float nota1,float nota2, float nota3)
{//ingresa 3 notas en el codigo del alumno
//primero verificar que las notas sean correctas
if(nota1>=0 && nota1<=10 && nota2>=0 && nota2<=10 && nota3>=0 && nota3<=10)
{
alumno[codigo][0] = nota1;
alumno[codigo][1] = nota2;
alumno[codigo][2] = nota3;
alumno[codigo][3] = (nota1+nota2+nota3) / 3.0;
return TRUE;//los datos se insertaron con exito
}
else
return FALSE;//entonces se pudieron insertar los datos
}
void ingresar_Todo(int cant)//
{//pide todas las notas de todos los alumnos uno a uno
int i;
for(i=0;i<cant;i++)
{
printf("CODIGO: %d\n",i);
printf("Ingrese la nota 1: ");
scanf("%f",&alumno[i][0]);
printf("Ingrese la nota 2: ");
scanf("%f",&alumno[i][1]);
printf("Ingrese la nota 3: ");
scanf("%f",&alumno[i][2]);
}
}
void imprimir_Todo(int cant)
{//imprime el codigo, las 3 notas y el promedio de cada alumno
printf("\tCodigo\tNota 1\tNota 2\tNota 3\tPromedio\n");
int i;
for(i=0;i<cant;i++)
{
printf("\t%d\t%.2f\t%.2f\t%.2f\t%.2f\n",
i,//codigo
alumno[i][0],//nota 1
alumno[i][1],//nota 2
alumno[i][2],//nota 3
alumno[i][3]);//promedio
}
}
int imprimir(int codigo,int cant)
{//imprime las notas y el promedio del codigo del alumno
if(verificar_Codigo(codigo,cant)==TRUE)
{
printf("Codigo: %d\nNota 1: %.2f\nNota 2: %.2f\nNota 3: %.2f\nPromedio: %.2f\n",
codigo,
alumno[codigo][0],//nota 1
alumno[codigo][1],//nota 2
alumno[codigo][2],//nota 3
alumno[codigo][3]);//promedio
return TRUE;
}
else return FALSE;
}
int main(void) {
int cant;
puts("Ingrese la cantidad de alumnos de su grado: ");
scanf("%d",&cant);
/* Se llama o invoca a la funcion iniciarNotas
y se le envia como parametro la cantidad de alumnos que tiene
*/
iniciar_Notas(cant);//se inician en cero todas las notas
while(TRUE)
{
puts("\t1) Ingresar todas las notas\n\t2) Ingresar una nota\n\t3) Imprimir todos los datos\n\t4) Consultar un datos especifico\nIngrese su opcion: ");
int opcion,
codigo;
scanf("%d",&opcion);
if(opcion==1)
{
//se le envia como parametro la cantidad de alumnos
ingresar_Todo(cant);
}
else if(opcion==2)
{
puts("Ingrese el codigo del alumno: ");
scanf("%d",&codigo);
//primero se verifica que el codigo exista
if(verificar_Codigo(codigo,cant)==TRUE)
{
float nota1,nota2,nota3;
puts("Ingrese la nota 1: ");
scanf("%f",¬a1);
puts("Ingrese la nota 2: ");
scanf("%f",¬a1);
puts("Ingrese la nota 3: ");
scanf("%f",¬a1);
//si las notas son validas (de 0 a 10)
if(ingresar(codigo,nota1,nota2,nota3)==TRUE)
puts("Sus datos fueron registrados con exito");
else
puts("ERROR: no se puede ingresar las notas");
}
}
else if(opcion==3)
{
//imprimir_todo tambien necesita recibir como parametro la cantidad de alumnos
imprimir_Todo(cant);
}
else if(opcion==4)
{
puts("Ingrese el codigo del alumno: ");
scanf("%d",&codigo);
//Si el codigo de alumno no existe entonces retorna FALSE y se debe informar
if(imprimir(codigo,cant)==FALSE)
{
printf("ERROR: No se pudo encontrar un alumno con ese codigo\n");
}
}
fflush(stdin);
getchar();
system("cls");//si usas Linux remplaza "cls" por "clear"
}
fflush(stdin);
getchar();
return 0;
}