Ejemplo "Corte de Control"
/*Archivo para grabar Datos"*/
#include <stdio.h>
void PrincipioPrograma();
void GrabarDatos();
void CerrarPrograma();
typedef struct{
int lu;
int codCarrera;
int codMateria;
float notas1;
float notas2;
}registroFacena;
registroFacena regFacena;
FILE * archivo;
char respuesta;
int main (){
PrincipioPrograma();
GrabarDatos();
CerrarPrograma();
return 0;
}
void PrincipioPrograma(){
archivo = fopen("AlumFacena.dat", "wb");
printf("*** Archivo creado! ***\n");
printf("\n\n");
}
void GrabarDatos(){
int cGrabados;
cGrabados=0;
printf("Desea realizar la operacion?? S/N \n");
fflush(stdin);
scanf("%c", &respuesta);
while(respuesta == 's' || respuesta == 'S'){
printf("-->Ingrese su Libreta Universitaria: ");
fflush(stdin);
scanf("%d", ®Facena.lu);
printf("\t\n Seleccione el cod de su carrera:\n (\t01| Agrimensura.\n \t02| Biologia.\n \t03| Bioquimica.\n \t04| Fisica.\n \t05| Informatica.\n \t06| Ingenieria.\n \t07| Matematica.\n \t08| Quimica.\t\n) -->");
fflush(stdin);
scanf("%d", ®Facena.codCarrera);
printf("\t\n Seleccione el cod de la materia:\n (\t01| ALGORITMO Y ESTRUCTURA DE DATOS I.\n \t02| ALGEBRA.\n \t03| SISTEMAS Y ORGANIZACIONES.\n \t04| LOGICA Y MATEMATICA COMPUTACIONAL.\n \t05| ALGORITMO Y ESTRUCTURA DE DATOS II.\t\n) -->");
fflush(stdin);
scanf("%d", ®Facena.codMateria);
printf("*****************************************************************\n");
printf("Ingrese Nota del Primer Parcial:\n ");
fflush(stdin);
scanf("%f", ®Facena.notas1);
printf("Ingrese Nota del Segundo Parcial:\n ");
fflush(stdin);
scanf("%f", ®Facena.notas2);
printf("*****************************************************************\n");
system("cls");
fwrite(®Facena, sizeof(regFacena), 1, archivo);
printf("=>Registro Grabado!<=\n ");
printf("\n\tPasar al Siguiente? S/N: ");
cGrabados=cGrabados+1;
fflush(stdin);
scanf("%c", &respuesta);
}
fflush(stdin);
system("cls");
printf(">>>>Registros Grabados......");
}
void CerrarPrograma(){
fclose(archivo);
}
/*Archivo para Leer Datos*/
#include <stdio.h>
typedef struct{
int lu;
int codCarrera;
int codMateria;
float notas1;
float notas2;
}registroFacena;
int contAlum, luAnterior;
float promedio;
void principioPrograma();
void principioCorte();
void finCorte();
void corte();
void finPrograma();
void unAlumno();
registroFacena regFacena;
FILE * archivo;
int main(){
principioPrograma();
while (!feof(archivo))
{
corte();
}
finPrograma();
}
void principioPrograma(){
archivo = fopen("AlumFacena.dat", "rb");
fread(®Facena, sizeof(regFacena), 1, archivo);
contAlum = 0;
promedio = 0;
printf("LU\t Cod.Carrera\tCod.Materia\tNota1\t Nota2\tPromedio\n");
}
void principioCorte()
{
luAnterior = 0;
luAnterior = regFacena.lu;
}
void corte(){
principioCorte();
while(!feof(archivo) && regFacena.lu == luAnterior)
{
unAlumno();
}
finCorte();
}
void unAlumno()
{
if(regFacena.codCarrera == 5)
{
printf("\nUsted es Alumno de LIC. SISTEMAS\n");
printf("****************************************************************************");
promedio = (regFacena.notas1 + regFacena.notas2) / 2;
printf("\n %d \t\t %d \t %d \t\t %2.f \t %2.f \t %2.f \n", regFacena.lu, regFacena.codCarrera, regFacena.codMateria, regFacena.notas1, regFacena.notas2, promedio);
}else{
printf("\n No existen datos por Mostrar");
}
contAlum ++;
fread(®Facena, sizeof(regFacena), 1, archivo);
}
void finCorte()
{
}
void finPrograma(){
printf("\n\n");
printf("****************************************************************************");
printf("\n\n");
printf("\nLa cantidad de alumnos promediados en AEDII es de: %d",contAlum);
fclose(archivo);
}
#include <stdio.h>
void PrincipioPrograma();
void GrabarDatos();
void CerrarPrograma();
typedef struct{
int lu;
int codCarrera;
int codMateria;
float notas1;
float notas2;
}registroFacena;
registroFacena regFacena;
FILE * archivo;
char respuesta;
int main (){
PrincipioPrograma();
GrabarDatos();
CerrarPrograma();
return 0;
}
void PrincipioPrograma(){
archivo = fopen("AlumFacena.dat", "wb");
printf("*** Archivo creado! ***\n");
printf("\n\n");
}
void GrabarDatos(){
int cGrabados;
cGrabados=0;
printf("Desea realizar la operacion?? S/N \n");
fflush(stdin);
scanf("%c", &respuesta);
while(respuesta == 's' || respuesta == 'S'){
printf("-->Ingrese su Libreta Universitaria: ");
fflush(stdin);
scanf("%d", ®Facena.lu);
printf("\t\n Seleccione el cod de su carrera:\n (\t01| Agrimensura.\n \t02| Biologia.\n \t03| Bioquimica.\n \t04| Fisica.\n \t05| Informatica.\n \t06| Ingenieria.\n \t07| Matematica.\n \t08| Quimica.\t\n) -->");
fflush(stdin);
scanf("%d", ®Facena.codCarrera);
printf("\t\n Seleccione el cod de la materia:\n (\t01| ALGORITMO Y ESTRUCTURA DE DATOS I.\n \t02| ALGEBRA.\n \t03| SISTEMAS Y ORGANIZACIONES.\n \t04| LOGICA Y MATEMATICA COMPUTACIONAL.\n \t05| ALGORITMO Y ESTRUCTURA DE DATOS II.\t\n) -->");
fflush(stdin);
scanf("%d", ®Facena.codMateria);
printf("*****************************************************************\n");
printf("Ingrese Nota del Primer Parcial:\n ");
fflush(stdin);
scanf("%f", ®Facena.notas1);
printf("Ingrese Nota del Segundo Parcial:\n ");
fflush(stdin);
scanf("%f", ®Facena.notas2);
printf("*****************************************************************\n");
system("cls");
fwrite(®Facena, sizeof(regFacena), 1, archivo);
printf("=>Registro Grabado!<=\n ");
printf("\n\tPasar al Siguiente? S/N: ");
cGrabados=cGrabados+1;
fflush(stdin);
scanf("%c", &respuesta);
}
fflush(stdin);
system("cls");
printf(">>>>Registros Grabados......");
}
void CerrarPrograma(){
fclose(archivo);
}
/*Archivo para Leer Datos*/
#include <stdio.h>
typedef struct{
int lu;
int codCarrera;
int codMateria;
float notas1;
float notas2;
}registroFacena;
int contAlum, luAnterior;
float promedio;
void principioPrograma();
void principioCorte();
void finCorte();
void corte();
void finPrograma();
void unAlumno();
registroFacena regFacena;
FILE * archivo;
int main(){
principioPrograma();
while (!feof(archivo))
{
corte();
}
finPrograma();
}
void principioPrograma(){
archivo = fopen("AlumFacena.dat", "rb");
fread(®Facena, sizeof(regFacena), 1, archivo);
contAlum = 0;
promedio = 0;
printf("LU\t Cod.Carrera\tCod.Materia\tNota1\t Nota2\tPromedio\n");
}
void principioCorte()
{
luAnterior = 0;
luAnterior = regFacena.lu;
}
void corte(){
principioCorte();
while(!feof(archivo) && regFacena.lu == luAnterior)
{
unAlumno();
}
finCorte();
}
void unAlumno()
{
if(regFacena.codCarrera == 5)
{
printf("\nUsted es Alumno de LIC. SISTEMAS\n");
printf("****************************************************************************");
promedio = (regFacena.notas1 + regFacena.notas2) / 2;
printf("\n %d \t\t %d \t %d \t\t %2.f \t %2.f \t %2.f \n", regFacena.lu, regFacena.codCarrera, regFacena.codMateria, regFacena.notas1, regFacena.notas2, promedio);
}else{
printf("\n No existen datos por Mostrar");
}
contAlum ++;
fread(®Facena, sizeof(regFacena), 1, archivo);
}
void finCorte()
{
}
void finPrograma(){
printf("\n\n");
printf("****************************************************************************");
printf("\n\n");
printf("\nLa cantidad de alumnos promediados en AEDII es de: %d",contAlum);
fclose(archivo);
}
Comentarios
Publicar un comentario