Mediante una matriz saber cual es el numero Mayor y Menor y mostrar la matriz de los elementos ingresados.


Código:

#include<iostream>
#include<iomanip>
#include<stdlib.h>
using namespace std;

void ingresar(float A[50][50],int n, int m);
void mostrar(float A[50][50],int n, int m);
void mayor(float A[50][50],int n, int m);
void menor(float A[50][50],int n, int m);

int main()
{
 system("cls");
// system("color A0");

 int n,m;
 float A[50][50];

 cout<<"\n\n\t- INGRESA FILAS    :  ";
 cin>>n;

 cout<<"\n\t- INGRESA COLUMNAS :  ";
 cin>>m;

 ingresar(A,n,m);
 mostrar(A,n,m);
 mayor(A,n,m);
 menor(A,n,m);

 cout<<endl<<endl;
 system("pause");
}




void ingresar(float A[50][50],int n, int m)
{

 for(int i=0;i<n;i++)
    for(int j=0;j<m;j++)
      {
    cout<<endl<<"\t\t\t\t -  ["<<i<<"]"<<"["<<j<<"] =";
    cin>>A[i][j];
      }
}


void mostrar(float A[50][50],int n, int m)
{
 cout<<"\n\n\t Matriz  = \n";

 for(int i=0;i<n;i++)
    {
    cout<<endl<<"\n\t\t";
    for(int j=0;j<m;j++)
      {
       cout<<" "<<setw(4)<<A[i][j];
      }
}
}


void mayor(float A[50][50],int n, int m)
{

 float mayor=A[0][0];

 for(int i=0;i<n;i++)
    for(int j=0;j<m;j++)
      {
    if(A[i][j]>mayor)
    mayor=A[i][j];
       }
    cout<<"\n\n\n\t\t\tEL MAYOR = "<<mayor;
}


void menor(float A[50][50],int n, int m)
{

 float menor=A[0][0];

 for(int i=0;i<n;i++)
    for(int j=0;j<m;j++)
      {
    if(A[i][j]<menor)
        menor=A[i][j];
       }
    cout<<"\n\n\t\t\tEL MENOR = "<<menor;
}

Menor y Mayor mediante una matriz c/c++

Posted by : Jason
viernes, 30 de diciembre de 2016
0 Comments
Hoy vamos a hacer un programa en que el elemento A y B se ingresen #n cantidad de elementos y que nos de al final un elemento C de cual es la intersección de los elementos A y B.


Codigo:

#include<iostream>
#include<stdlib.h>
using namespace std;

int contador = 0;

int *Ingresar( int *A , int N)
{
 A = new int [100];

 for( int i = 0 ; i < N ; i++ )
     {
      cout<<"\n\t\t\t - ["<<i+1<<"] : ";
      cin>>A[i];
     }

 return A;
      
}


int *Interseccion( int *A , int *B , int *C , int N ,int M )
{

 C = new int [100];
  
 for( int i = 0 ; i < N ; i++ )
     for( int j = 0 ; j < M ; j++ )
         if ( A[i] == B[j])
             {
              C[contador++] = A[i];
            } 
            
  if ( contador == 0)          
       return 0;
  else          
       return C;
}



void Mostrar( int *A , int N)
{

 cout<<" "<<A[0];

 for( int i = 1 ; i < N ; i++ )
      cout<<" , "<<A[i];
      
}


int main()
{
 int N, M;

 int *A = NULL;
 int *B = NULL;
 int *C = NULL;

 cout<<"\n\n\t  Primer Conjunto  : ";
 cin>>N;

 A = Ingresar(A , N);
 cout<<"\n\n\t\t  A = { ";
 Mostrar(A,N);
 cout<<" } \n\n";


 cout<<"\n\n\t  Segundo Conjunto : ";
 cin>>M;

 B = Ingresar(B , M);
 cout<<"\n\n\t\t  B = { ";
 Mostrar(B,M);
 cout<<" } \n\n";


 C = Interseccion( A , B , C , N , M );
 cout<<"\n\n\t\t Interseccion  C = { ";
 Mostrar(C,contador);
 cout<<" } \n\n";

 cout<<endl<<endl;
 system("pause");
 return 0;
}



Interseccion de conjutos c/c++

Posted by : Jason 0 Comments

Esta vez Trabajaremos en Excel ya sea 2007-2010-2013 realizaremos un código de registro en el cual llenaremos las celdas al llenar los campos del registro y nos calculara automáticamente la edad.

1.- llenar los campos de Nombres, Apellidos, Cédula, Fecha de Nacimiento, Edad( La edad sera calculada automáticamente al momento de pasar los datos ingresados al campo de las celdas.

2.- Informar al usuario si desea guardar los datos.

3.- una ves confirmado el guardar informar si el año es bisiesto o no.



Código enVisual Basic (Excel )

Private Sub CommandButton1_Click()
Dim NOMBRE, APELLIDO, CEDULA, FECHA_NACIMIENTO As String
Dim REGISTRO As Double
Dim FECHA As Date, EDAD, I, J As Integer
Dim MES, DIA, ANIO As String
Dim bEscribe1, bEscribir2 As Boolean
'Inicializamos las variables para revisar la fila vacias
I = 1
J = 2
bEscribe1 = False
bEscribe2 = False


'mid substrae una subcadena de una cadena

NOMBRE = TextBox1.Value
APELLIDO = TextBox2.Value
CEDULA = TextBox3.Value
FECHA_NACIMIENTO = TextBox4.Value
MES = Mid(FECHA_NACIMIENTO, 4, 2)
DIA = Mid(FECHA_NACIMIENTO, 1, 2)
ANIO = Mid(FECHA_NACIMIENTO, 7, 4)

'trim buscar espacio en blanco para colocarlos en un orden


Do While bEscribe1 = False
If Trim(Hoja1.Cells(I, 1)) = "" And Trim(Hoja1.Cells(I, 2)) = "" And Trim(Hoja1.Cells(I, 3)) = "" And Trim(Hoja1.Cells(I, 4)) = "" And Trim(Hoja1.Cells(I, 5)) = "" Then
bEscribe1 = True
Else
I = I + 1
End If
Loop

Do While bEscribe2 = False
If Trim(Hoja2.Cells(J, 1)) = "" And Trim(Hoja2.Cells(J, 2)) = "" And Trim(Hoja2.Cells(J, 3)) = "" And Trim(Hoja2.Cells(J, 4)) = "" And Trim(Hoja2.Cells(J, 5)) = "" Then
bEscribe2 = True
Else
J = J + 1
End If
Loop

'len mide una cadena

If Len(FECHA_NACIMIENTO) = 10 Then

If MES >= 1 And MES <= 12 And DIA >= 1 And DIA <= 31 And ANIO >= 1 And ANIO <= Year(Date) Then
FECHA = CDate(TextBox4)
EDAD = CInt((Date - FECHA) / 365)
a = MsgBox("CONFIRMAR GUARDAR DATOS", vbOKCancel, "AVISO")
If a = 1 Then
If MES = 12 Then
Hoja2.Cells(J, 1) = NOMBRE
Hoja2.Cells(J, 2) = APELLIDO
Hoja2.Cells(J, 3) = CEDULA
Hoja2.Cells(J, 4) = FECHA_NACIMIENTO
Hoja2.Cells(J, 5) = EDAD
Else
Hoja1.Cells(I, 1) = NOMBRE
Hoja1.Cells(I, 2) = APELLIDO
Hoja1.Cells(I, 3) = CEDULA
Hoja1.Cells(I, 4) = FECHA_NACIMIENTO
Hoja1.Cells(I, 5) = EDAD
End If
'calculo del año

TextBox4.Text = Year(TextBox4.Text)
año = TextBox4.Text
If año Mod 100 = 0 Then
Bisiesto = (año Mod 400 = 0)
Else
Bisiesto = (año Mod 4 = 0)
End If
If Bisiesto = True Then
MsgBox ("AÑO ES BISIESTO")
Else
MsgBox ("AÑO NO ES BISIESTO")
End If
TextBox1.Text = Empty
TextBox2.Text = Empty
TextBox3.Text = Empty
TextBox4.Text = Empty
TextBox1.SetFocus
Else
MsgBox ("GRACIAS, LA INFORMACION NO SE GUARDO")
End If
Else
MsgBox ("ERROR, EN LA FECHA INGRESADA")
End If
Else
MsgBox ("ERROR EL FORMATO DE LA FECHA DEBE SER DD/MM/AAAA")
End If

End Sub
Private Sub CommandButton2_Click()
a = MsgBox("DESEA SALIR?", vbOKCancel, "AVISO")
If a = 1 Then
End
End If
End Sub
Private Sub CommandButton3_Click()
TextBox1.Text = Empty
TextBox2.Text = Empty
TextBox3.Text = Empty
TextBox4.Text = Empty

End Sub

Private Sub Label1_Click()

End Sub

Private Sub Label5_Click()

End Sub



Simular Registro (Excel 2016) Code VB

Posted by : Jason
lunes, 5 de diciembre de 2016
0 Comments
En este programa veremos utilizando las clases para crear operadores en que el usuario ingrese dos números cualquiera.


Codigo: 

#include <iostream>
#include <stdlib.h>
using namespace std;
class Operaciones{
public:
    int a;
    int b;
    void set_a_b(int n1, int n2);
    void suma();
    void resta();
    void multiplicacion();
    void divicion();
};

void Operaciones::set_a_b(int n1, int n2)
{
    cout<<"Ingrese valores para LAS OPERACIONES: "<<endl;
    cin>>n1;  cin>>n2;  
cout<<"\n\t\t\t Resultados\n"<<endl;
a=n1;
    b=n2;
}

void Operaciones::suma()
{
    cout<<"\n\t lA SUMA DE "<<a<<" + "<<b<<" ES: "<<a+b<<"\n";
}

void Operaciones::resta()
{
    cout<<"\n\t lA RESTA DE "<<a<<" - "<<b<<" ES: "<<a-b<<"\n";
}

void Operaciones::divicion()
{
    cout<<"\n\t lA DIVISION DE "<<a<<" / "<<b<<" ES: "<<a/b<<"\n";
}

void Operaciones::multiplicacion()
{
    cout<<"\n\t lA MULTIPLICACION DE "<<a<<" * "<<b<<" ES: "<<a*b<<"\n";
}

int main()
{
 system("color f9");
   Operaciones op;

   op.set_a_b('a','b');

   op.suma();

   op.resta();

   op.multiplicacion();

   op.divicion();
   
    return 0;
}


Clases de operadores

Posted by : Jason
domingo, 27 de noviembre de 2016
0 Comments
Veremos cómo definir una CLASEfunciones miembro crear OBJETOS de la clase, datos privados y públicos.



Código:

#include <stdlib.h>
#include <iostream>

using namespace std;

class Calendario{
private:
int dias;
char meses[15];
int semana;
int anio;
public:
void recibirDia(){
cout<<"\n\t Dia: "; cin>>dias;
}
void recibirMeses(){
cout<<"\t Mes: "; cin>>meses;
}
void recibirSemana(){
cout<<"\t Semana: "; cin>>semana;
}
void recibirAnio(){
cout<<"\t Anio: "; cin>>anio;
}
void dis(){
cout<<"\n\t  Dia es "<<dias<<"\n";
}
void mess(){
cout<<"\t  Mes es "<<meses<<"\n";
}
void seman(){
cout<<"\t  Semana es "<<semana<<"\n";
}
void any(){
cout<<"\t  Anio es "<<anio<<"\n";
}
};



int main(){
system("color f3");
cout<<"\n\t\t\t EJERCICIO 16 OBJETO CALENDARIO \n"<<endl;
Calendario calen;
calen.recibirDia(); 
calen.recibirMeses(); 
calen.recibirSemana();
calen.recibirAnio();
calen.dis();
calen.mess();
calen.seman();
calen.any();

return 0;
}





Objetos y Clases c++

Posted by : Jason
sábado, 12 de noviembre de 2016
0 Comments
Podemos eliminar este mensaje.


Eliminar el mensaje definitivamente, deben ir a Plantilla / Editar HTML / buscan la siguiente línea de código (Control + F) y la eliminan.

Código: <b:include data='top' name='status-message'/>






CÓMO ELIMINAR EL MENSAJE DE LAS PÁGINAS DE LAS ETIQUETAS

Posted by : Jason
domingo, 25 de septiembre de 2016
0 Comments


DESCARGAR <<  CARPETA >>

LISTA DE PROGRAMAS EN C/C++ EN LA CARPETA:

1 suma
2 resta
3 multiplicacion 
4 division
5 fahrenheit
6 formula
7 formula 1000
8 A mayor q B
9 A menor q B
10 mayor de 3 numeros
11 menor de 3 numeros
12 tecla Esc
13 Operador +,-,*,/.
14 Factorial
15 Promedio de 3 notas
16 Promedio de Notas (3) con for
17 Pi
18 fibonacci
19 de menor a mayor 3 numeros
20 Numero primo
21 año bisiesto
22 sumatoria (i+1)
23 sumatoria (i-1)
24 sumatoria (i2)+1
25 calcular edad
26 Iva y total de un producto
27 Ingresa numero y devuelve en letras
28 Buscar frase o carácter
29 de mayúscula a minúscula
30 concatenar cadenas o caracteres
31 Posición de frase o carácter
32 Peso de personas
33 Ordenar vector metodo burbuja
34 Ordenar matriz metodo burbuja
35 Piramide de asteriscos
36 El ahorcado
37 Tres en raya
38 Mayor o menor de edad
39 Verificar si numero de cedula es correcto
40 Códigos de provincia, imprimir Guayaquil y Pichincha
41 Archivos (crear, ver, ingresar) txt.
42 Archivos (ingresar, buscar, eliminar) txt.
43 Alumno promedio (agregar, buscar, guardar, eliminar)
44 Estructura de una agenda
45 Salario mínimo y máximo
46 vector 6 intersección vector vector 6
47 matriz 2x2 intersección matriz 2x2
48 Vector de 5 sueldo, vector  incremento 20% 
49 Vector de 10 Imprimir numeros pares
50 Vector de 10 Imprimir numeros impares
51 Función Random (BUSCAMINAS)
52 Multiplicar matriz de 3x3 por matriz de 3x2 igual a matriz de 3x2


Link 2: Descargar Por <<MEGA>> 


52 Ejercicios de Programación C/C++ (Carpeta)

Posted by : Jason
miércoles, 14 de septiembre de 2016
1 Comment
En este programa vamos a crear un MENÚ en el cual se realizaran los siguientes pasos:

1.-Agregar Cédula, Nombre and Apellido.
2.- 2 Notas y calcular automáticamente el promedio .
3.Buscar por Cédula y mostrar todos los datos registrados.
4.-Eliminar por Cédula todos los datos del alumno.


Codigo:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <locale.h> /* setlocale */
#include <conio.h>
#define MAX 80
#define VALOR_CENTINELA -1

/* Estructuras */
struct alumno {
int cedula;
char nombre[MAX];
float nota1;
float nota2;
int promedio;
};

typedef struct alumno Estudiante;

/* Opciones del Menú */
void menuPrincipal();
void menuInsertar();
void menuBuscar();
void menuEliminar();
void menuMostrar();

Estudiante *obtenerProductos(int *n);
char existeEstudiante(int cedulaProducto, Estudiante *alumno);
char insertarEstudiante(Estudiante alumno);
char eliminarEstudiante(int cedulaEstudiante);
char eliminacionFisica();
char guardarReporte();

/* Función de lectura de cadenas */
int leecad(char *cad, int n);

char linea[MAX];

int main()
{
setlocale(LC_ALL, "spanish"); /* Permite imprimir caracteres con tilde */
menuPrincipal();

return 0;
}


void menuPrincipal()
{
char repite = 1;
int opcion = -1;

do {
system("cls");

printf("\n\t\t\t\tMENU PRINCIPAL\n");
printf("\n\t\t[1] AGREGAR\n");
printf("\t\t[2] Buscar\n");
printf("\t\t[3] Eliminar\n");
printf("\t\t[4] Mostrar listado de productos\n");
        printf("\t\t[5] Salir\n");

printf("\n\t\tIngrese su opcion: [ ]\b\b");

/* Lectura segura de un entero */
leecad(linea, MAX);
sscanf(linea, "%d", &opcion);

switch (opcion) {

case 1:
menuInsertar();
break;

case 2:
menuBuscar();
break;

case 3:
menuEliminar();
break;

case 4:
menuMostrar();
break;

case 5:
repite = 0;
break;
}

} while (repite);
}

void menuInsertar()
{
Estudiante alumno;
int cedulaEstudiante = 0;
char repite = 1;
char respuesta[MAX];

do {
system("cls");

printf("\n\t\t\t==> REGISTRAR ALUMNO <==\n");

printf("\n\tCEDULA: ");
leecad(linea, MAX);
sscanf(linea, "%d", &cedulaEstudiante);

if (!existeEstudiante(cedulaEstudiante, &alumno)) {

alumno.cedula = cedulaEstudiante;


printf("\tNombres: ");
leecad(alumno.nombre, MAX);

printf("\tNota 1: ");
leecad(linea, MAX);
sscanf(linea, "%f", &alumno.nota1);

printf("\tNota 2: ");
leecad(linea, MAX);
sscanf(linea, "%f", &alumno.nota2);
alumno.promedio=(alumno.nota1+alumno.nota2)/2;
printf("\tPromedio: %d",alumno.promedio);
leecad(linea, MAX);


if (insertarEstudiante(alumno)) {
printf("\n\tEl ESTUDIANTE se Registro correctamente\n");

} else {
printf("\n\tOcurrió un error al registrar\n");
printf("\tInténtelo mas tarde\n");
}
} else {

printf("\n\tEl estudiante con cedula %d ya existe.\n", cedulaEstudiante);
printf("\tNo puede registrar dos veces con la misma cedula.\n");
}

printf("\n\tDesea registrar Otro Estudiante? [S/N]: ");
leecad(respuesta, MAX);

if (!(strcmp(respuesta, "S") == 0 || strcmp(respuesta, "s") == 0)) {
repite = 0;
}

} while (repite);
}


void menuBuscar()
{
Estudiante alumno;
int cedulaEstudiante;
char repite = 1;
char respuesta[MAX];

do {
system("cls");

printf("\n\t\t\t==> BUSCAR CEDULA DEL ESTUDIANTE <==\n");

printf("\n\tCEDULA: ");
leecad(linea, MAX);
sscanf(linea, "%d", &cedulaEstudiante);

if (existeEstudiante(cedulaEstudiante, &alumno)) {

printf ("\n\tESTUDINTE ENCONTRADO\n");
printf("\n\tCEDULA: %d\n", alumno.cedula);
printf("\tNombres: %s\n", alumno.nombre);
printf("\tNOTA 1: %.1f \n", alumno.nota1);
printf("\tNOTA 2: %.1f \n", alumno.nota2);
printf("\tPROMEDIO: %d\n", alumno.promedio);

} else {

printf("\n\tEl ESTUDIANTE con cedula %d no existe.\n", cedulaEstudiante);
}

printf("\n\tDesea seguir buscando otra cedula? [S/N]: ");
leecad(respuesta, MAX);

if (!(strcmp(respuesta, "S") == 0 || strcmp(respuesta, "s") == 0)) {
repite = 0;
}

} while (repite);
}


void menuEliminar()
{
Estudiante alumno;
int cedulaEstudiante;
char repite = 1;
char respuesta[MAX];

do {
system("cls");

printf("\n\t\t\t==> ELIMINAR Por CEDULA <==\n");

printf("\n\tCEDULA: ");
leecad(linea, MAX);
sscanf(linea, "%d", &cedulaEstudiante);

        if (existeEstudiante(cedulaEstudiante, &alumno))
        {
printf("\n\tCEDULA: %d\n", alumno.cedula);
printf("\tNombres: %s\n",alumno.nombre);
printf("\tNOTA 1: %.1f \n", alumno.nota1);
printf("\tNOTA 2: %.1f \n", alumno.nota2);
printf("\tPROMEDIO: %d\n", alumno.promedio);

printf("\n\tSeguro que desea eliminar el Alumno? [S/N]: ");
leecad(respuesta, MAX);
if (strcmp(respuesta, "S") == 0 || strcmp(respuesta, "s") == 0) {
if (eliminarEstudiante(cedulaEstudiante)) {
printf("\n\tEstudiante eliminado satisfactoriamente.\n");
} else {
printf("\n\tEl Estudiante no pudo ser eliminado\n");
}
}

} else {

printf("\n\tEl ESTUDIANTE con cedula %d no existe.\n", cedulaEstudiante);
}

printf("\n\tDesea eliminar otro estudiante? [S/N]: ");
leecad(respuesta, MAX);

if (!(strcmp(respuesta, "S") == 0 || strcmp(respuesta, "s") == 0)) {
repite = 0;
}

} while (repite);
}


void menuMostrar()
{
Estudiante *productos;
int numeroProductos;
int i;
char respuesta[MAX];

system("cls");

productos = obtenerProductos(&numeroProductos);

if (numeroProductos == 0) {
printf("\n\tEl archivo está vacío!!\n");
system("pause>nul");

} else {
printf("\n\t\t    ==> ESTUDIANTES REGISTRADOS <==\n");
printf(" ------------------------------------------------------------------------------\n");
printf("%10s\t%-20s%15s%15s%10s\n", "CEDULA", "NOMBRES", "NOTA 1", "NOTA 2", "PROMEDIO");
printf(" ------------------------------------------------------------------------------\n");


for (i = 0; i < numeroProductos; i++) {
if (productos[i].cedula != VALOR_CENTINELA) {
printf("%10d \t%-20.20s%15.1f%15.1f%8d\n", productos[i].cedula, productos[i].nombre, productos[i].nota1, productos[i].nota2, productos[i].promedio);

}
}
printf(" ------------------------------------------------------------------------------\n");

printf("\n\tDesea guardar el registro? [S/N]: ");
leecad(respuesta, MAX);

if (strcmp(respuesta, "S") == 0 || strcmp(respuesta, "s") == 0) {
if (guardarReporte()) {
printf("\n\tEl registro fue guardado con éxito\n");
} else {
printf("\n\tOcurrió un error al guardar el registro\n");
}

system("pause>nul");
}
}
}


Estudiante *obtenerProductos(int *n)
{
FILE *archivo;
Estudiante alumno;
Estudiante *productos;
int i;

/* Abre el archivo en modo lectura */
archivo = fopen("productos.dat", "rb");

if (archivo == NULL) { /* Si no se pudo abrir el archivo, el valor de archivo es NULL */
*n = 0; /* No se pudo abrir. Se considera n  */
productos = NULL;

} else {

fseek(archivo, 0, SEEK_END); /* Posiciona el cursor al final del archivo */
*n = ftell(archivo) / sizeof(Estudiante);
productos = (Estudiante *)malloc((*n) * sizeof(Estudiante));
/* Se recorre el archivo secuencialmente */
fseek(archivo, 0, SEEK_SET); /* Posiciona el cursor al principio del archivo */
fread(&alumno, sizeof(alumno), 1, archivo);
i = 0;
while (!feof(archivo)) {
productos[i++] = alumno;
fread(&alumno, sizeof(alumno), 1, archivo);
}

/* Cierra el archivo */
fclose(archivo);
}

return productos;
}

char existeEstudiante(int cedulaEstudiante, Estudiante *alumno){
FILE *archivo;
char existe;

/* Abre el archivo en modo lectura */
archivo = fopen("productos.dat", "rb");

if (archivo == NULL) { /* Si no se pudo abrir el archivo, el valor de archivo es NULL */
existe = 0;

} else {
existe = 0;


fread(&(*alumno), sizeof(*alumno), 1, archivo);
while (!feof(archivo)) {
if ((*alumno).cedula == cedulaEstudiante) {
existe = 1;
break;
}
fread(&(*alumno), sizeof(*alumno), 1, archivo);
}

/* Cierra el archivo */
fclose(archivo);
}

return existe;
}


char insertarEstudiante(Estudiante alumno)
{
FILE *archivo;
char insercion;

/* Abre el archivo para agregar datos al final */
archivo = fopen("productos.dat", "ab"); /* Añade datos al final. Si el archivo no existe, es creado */

if (archivo == NULL) { /* Si no se pudo abrir el archivo, el valor de archivo es NULL */
insercion = 0;

} else {
fwrite(&alumno, sizeof(alumno), 1, archivo);
insercion = 1;

/* Cierra el archivo */
fclose(archivo);
}

return insercion;
}


/* ELiminación lógica de un registro */
char eliminarEstudiante(int cedulaEstudiante)
{
FILE *archivo;
FILE *auxiliar;
Estudiante alumno;
char elimina;

/* Abre el archivo para leer */
archivo = fopen("productos.dat", "r+b"); /* Modo lectura/escritura. Si el archivo no existe, es creado */

if (archivo == NULL) { /* Si no se pudo abrir el archivo, el valor de archivo es NULL */
elimina = 0;

} else {
/* Se busca el registro que se quiere borrar. Cuando se encuentra, se sitúa en esa posición mediante la
función fseek y luego se modifica el campo clave de ese registro mediante algún valor centinela, eso se logra
con fwrite. Hasta allí se ha logrado una eliminación LÓGICA. Porque el registro sigue ocupando espacio en el archivo físico */

elimina = 0;
fread(&alumno, sizeof(alumno), 1, archivo);
while (!feof(archivo)) {
if (alumno.cedula == cedulaEstudiante) {
fseek(archivo, ftell(archivo) - sizeof(alumno), SEEK_SET);
alumno.cedula = VALOR_CENTINELA;
fwrite(&alumno, sizeof(alumno), 1, archivo);
elimina = 1;
break;
}
fread(&alumno, sizeof(alumno), 1, archivo);
}

/* Cierra el archivo */
fclose(archivo);
}

return elimina;
}

char guardarReporte()
{
FILE *archivo;
char guardado;
Estudiante *productos;
int numeroProductos;
int i;


productos = obtenerProductos(&numeroProductos);

if (numeroProductos == 0) {
guardado = 0;

} else {
/* Abre el archivo en modo texto para escritura */
archivo = fopen("reporte.txt", "w");

if (archivo == NULL) { /* Si no se pudo abrir el archivo, el valor de archivo es NULL */
guardado = 0;

} else {
fprintf(archivo, "\n\t\t    ==> ESTUDIANTES REGISTRADOS <==\n");
fprintf(archivo, " ------------------------------------------------------------------------------\n");
fprintf(archivo, "%8s\t%-20s%15s%15s%10s\n", "CEDULA", "NOMBRES", "NOTA 1", "NOTA 2", "PROMEDIO");
fprintf(archivo, " ------------------------------------------------------------------------------\n");

for (i = 0; i < numeroProductos; i++) {
if (productos[i].cedula != VALOR_CENTINELA) {
fprintf(archivo, "%7d \t%-20.20s%15.1f%15.1f%8d\n", productos[i].cedula, productos[i].nombre, productos[i].nota1, productos[i].nota2, productos[i].promedio);
}
}
fprintf(archivo, " ------------------------------------------------------------------------------\n");

guardado = 1;
/* Cierra el archivo */
fclose(archivo);
}
}
return guardado;
}

int leecad(char *cad, int n)
{
int i, c;


/* 1 COMPROBACIÓN DE DATOS INICIALES EN EL BUFFER */

c = getchar();
if (c == EOF) {
cad[0] = '\0';
return 0;
}

if (c == '\n') {
i = 0;
} else {

        cad[0] = c;
i = 1;
}

/* 2. LECTURA DE LA CADENA */
for (; i < n - 1 && (c = getchar()) != EOF && c != '\n'; i++) {
cad[i] = c;
}
cad[i] = '\0';

/*3. LIMPIEZA DEL BUFFER */

/* Finalmente limpiamos el buffer si es necesario */
if (c != '\n' && c != EOF) /* es un caracter */
while ((c = getchar()) != '\n' && c != EOF);


return 1;
}



Menu ingresar datos del alumno y notas calcular automáticamente promedio

Posted by : Jason
domingo, 4 de septiembre de 2016
0 Comments
Dev-C++ es un Entorno Integrado de Desarrollo para el lenguaje de programación C-C++ que usa Mingw de GCC. Es un software de libre distribución sujeto a los términos de la Licencia Pública General de GNU. Algunas de las características de Dev-C++ son:

- Soporta compiladores basados en GCC, por ejemplo Mingw. 

- Tiene integrado un depurador basado en GDB. 
- Mantiene una lista con las clases utilizadas durante la edición de un programa.
- Mantiene una lista de las funciones definidas en la implementación del programa.
- Tiene un manejador de proyectos. 
- Soporta la actualización del software y bibliotecas a través de Internet. 


PROGRAM

IDE'S COMPILADOR >> DOWNLOAD HERE







COMPILADOR C / C++ 5.5.3

Posted by : Jason 2 Comments

Parte # 1

Programa en la cual registramos a varios estudiantes.

Registramos

1.-Ingresamos la Cédula del Estudiante.
1.- Full names (El nombre y apellido del Estudiante).
2.- El paralelo y curso del Estudiante.
3.-2 Notas (Podemos agregar mas notas si se nos pide mas que ingresemos).
4.-Calcular automáticamente el promedio.




Código:

#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#define bool int
#define true 1
#define false 0

FILE *archivo, *temporal;

void AGREGAR_PERSONA(){
int cedula, registro;
char nombre[30], apellido[20], curso[5], paralelo[20], resp;
float nota_1, nota_2, promed;

bool no_encontrado;
do{
if((archivo = fopen("estudiante.txt","r")) == NULL)
{
cout<<"\n No se Encuentra el Archivo!";
cout<<"\n\n Pulse una tecla para continuar...";
getch();
}else{
clrscr();
no_encontrado = true;
cout<<"\n\t\t\t-->MENU PARA ALUMNOS<--\n"<<endl;
cout<<"\n Introduzca la Cedula: "; cin>> registro;
while ((!feof(archivo)) && (no_encontrado))
{
fscanf(archivo,"%d %s %s %s %s", &cedula, &nombre, &apellido, &curso, &paralelo);
if(registro == cedula)
{
no_encontrado = false;
}
}
fclose(archivo);
if(no_encontrado)
{
archivo = fopen("estudiante.txt","a");
cedula = registro;
cout<<" Nombres: "; cin>> nombre; cin>> apellido;
cout<<" Curso: "; cin>>curso; cin>>paralelo;
cout<<" Nota 1: ";cin>>nota_1;
cout<<" Nota 2: ";cin>>nota_2;
promed=(nota_1+nota_2)/2;
cout<<" Promedio: "<<promed;

fprintf(archivo,"%d %s %s %s %s\n", cedula,  nombre, apellido, curso, paralelo);
}else{
cout<<"\n Alumno ya esta Registrado.";
}
cout<<"\n\n Desea Registrar Otro Alumno S/N: "; resp = getch();
fclose(archivo);
}
}while((resp == 's') || (resp == 'S'));
}

void MENU()
{
cout<<"\n\t\t\t-->MENU PARA ALUMNOS<--\n"<<endl;
cout<<" [1] Agregar Estudiante\n";
cout<<" [2] Salir\n";
}

void main (void)
{
char op;
bool salir = false;
do{
clrscr();
if ((archivo = fopen("estudiante.txt","r")) == NULL)
{
archivo = fopen("estudiante.txt","w");
fclose(archivo);
cout<<"\n\n El Archivo ya se ha Creado con Exito El Archivo .txt\n\n";
MENU();
cout<<"\n Seleccione una Opcion: "; op = getch();
}else{
MENU();
cout<<"\n Seleccione una Opcion: "; op = getch();
}
switch (op)
{
case '1':
AGREGAR_PERSONA();
break;
case '2':
salir = true;
break;
}
}while(salir == false);
}

Menu Agregar (estudiante con notas y calculo del promedio) C++

Posted by : Jason
lunes, 29 de agosto de 2016
0 Comments

- Copyright © Jason Igneel -