Programación en Java: Gestión de Compras, Registro de Estudiantes y Ejercicios Resueltos

Informática y Telecomunicaciones4,59 KB

Gestión de compras de estudiantes en Java

Declaración y dimensionamiento

int[] M = new int[1000];

Botón nuevo

Se lee el número y se verifica si hay espacio disponible:

int numero = leeNumero();
if (n < 1000) {
    // adicional (especialidad, ...)
    mensaje("Registro correcto");
} else {
    mensaje("No hay espacio");
}

Método adiciona

void adiciona(int a, int b, ...) {
    esp[n] = a;
    // ...
    n++;
}

Mostrar todas las compras de la lista 1

Botón lista1:

int cont = 0;
double suma = 0;
int e = leeEspecialidad();
for (int i = 0; i < n; i++) {
    if (esp[i] == e) {
        imprime(esp[i] + "\t" + gen[i] + "...");
        cont++;
        suma += monto[i];
    }
}
imprime("Cantidad: " + cont);
imprime("Monto vendido: " + suma);

Todas las compras realizadas por los estudiantes (lista 2)

Botón lista2:

int cantH = 0;
double montoH = 0;
int cantF = 0;
double montoF = 0;
int m = leeMes();
for (int i = 0; i < n; i++) {
    if (mes[i] == m) {
        imprime(esp[i] + "\t" + ...);
        if (sen[i] == 1) {
            cantH++;
            montoH += monto[i];
        } else {
            cantF++;
            montoF += monto[i];
        }
    }
}

Grabar en archivo de texto

Se guardan los datos en el archivo compras.txt:

String especialidad, genero;
double monto;
try {
    PrintWriter pw = new PrintWriter(new FileWriter("compras.txt"));
    for (int i = 0; i < n; i++) {
        especialidad = esp[i];
        // ...
        String contenido = especialidad + ";" + genero + ";" + ...;
        pw.println(contenido);
    }
    pw.close();
} catch (IOException e) {
    e.printStackTrace();
}

Desarrollo de ejercicios

1. Conversión de capital a soles

double capitalEnSoles(double soles, double dolares, double euros) {
    double rpta;
    rpta = soles + dolares * 2.85 + euros * 0.75 * 2.85;
    return rpta;
}

2. Suma de cifras

int sumaCifras(int n) {
    int rpta;
    int u, d, c;
    u = n % 10;
    n = n / 10;
    d = n % 10;
    c = n / 10;
    rpta = u + d + c;
    return rpta;
}

3. Cantidad de cifras

int cantidadCifras(int n) {
    int c = 0;
    while (n > 0) {
        c++;
        n = n / 10;
    }
    return c;
}

4. Notas y promedios

void notas(int n) {
    int n1, n2, n3, n4, menor;
    double prom, mayorProm, menorProm;
    for (int i = 1; i <= n; i++) {
        n1 = aleatorio(0, 20);
        n2 = aleatorio(0, 20);
        n3 = aleatorio(0, 20);
        n4 = aleatorio(0, 20);
        // Llamada al método notaMenor
        menor = notaMenor(n1, n2, n3, n4);
        prom = (n1 + n2 + n3 + n4 - menor) / 3;
        // Encuentra el mayor y menor promedio
        if (i == 1) {
            mayorProm = prom;
            menorProm = prom;
        } else {
            if (prom > mayorProm) mayorProm = prom;
            if (prom < menorProm) menorProm = prom;
        }
        muestra(menor, prom, mayorProm, menorProm);
        // Actualiza acumulador y contadores globales
        sumaProm = sumaProm + prom;
        if (prom >= 10.5) contAprob++;
        else contDesaprob++;
    }
    // Muestra resultados globales
    imprime("Promedio de promedios: " + (sumaProm / n));
    imprime("Cantidad de aprobados: " + contAprob);
    imprime("Cantidad de desaprobados: " + contDesaprob);
}

int aleatorio(int vMin, int vMax) {
    int rpta;
    rpta = (int)(Math.random() * (vMax - vMin + 1) + vMin);
    return rpta;
}

int notaMenor(int n1, int n2, int n3, int n4) {
    int rpta = n1;
    if (n2 < rpta) rpta = n2;
    if (n3 < rpta) rpta = n3;
    if (n4 < rpta) rpta = n4;
    return rpta;
}

5. Serie matemática

void serie(int n) {
    int num = 7, den = 2;
    double suma = 0;
    for (int t = 1; t <= n; t++) {
        txtSalida.append(num + " / " + den + ", ");
        suma = suma + num * 1.0 / den;
        num++;
        den += 2;
    }
    txtSalida.append("La suma es: " + suma + "\n");
}

Recursos adicionales

Enlaces de referencia (revisar antes de usar):

Descargar

PDF Word HTML