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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8]
71  Programación / Programación C/C++ / Base de datos en C++ en: 19 Enero 2011, 16:59 pm
Buenas!! He empezado con el C++ hace poco y como me aburría me he puesto a hacer una base de datos  :P

Me gustaría que le echaseis un vistazo a ver que os parece.

(Se que lo suyo sería que guardase los datos en algún archivo y permitiese hacer busquedas, pero creo que no llego a tanto por el momento)

Pido perdón por lo lioso que pueda ser el código, creo que debería haber puesto más comentarios, pero creo que en esencia se entiende lo que hace cada cosa.

Este es el código:
Código:

/* Base de datos de alumnos V.1 */
/* By F45T0LF3 */

#include <iostream>

using namespace std;

#define N_CLASES 5
#define MAX_AL 20

int last_al = 1;

// Definición del nuevo tipo de variable alumno, que es una estructura
// y contiene diversas variables con los datos de éste

struct{
string nombre;
int curso;
int notas [N_CLASES];
double media;
}alumnos [MAX_AL];
// Definición del subprograma menú

void menu();

// Definición del subprograma de elección de opciones

int opciones();

// Subprograma para añadir alumnos

void add();

// Subprograma para modificar los datos de los alumnos

void mod();

// Subprograma para eliminar alumnos

void del();

// Subprograma para ver los datos existentes

void show();

// Subprograma para elegir el número del alumno

int elegir_al();

// Limpiar pantalla

void clear(){
int i;
for (i = 0; i < 22; i++){
cout << "\n";
}
}

// Programa principal

int main(){

int choice;

while (choice != 0){
cout << "\n\n\n";
menu();
choice = opciones();
}

return 0;
}


void menu(){
clear();
cout << "1. Añadir alumno \n" << "2. Modificar datos de un alumno \n";
cout << "3. Borrar los datos de un alumno \n" << "4. Mostrar datos";
cout << "\n\n Para salir escriba 0 \n\n";
}

int opciones(){
int opcion;
cin >> opcion;

switch (opcion){
case 1:
add();
break;
case 2:
mod();
break;
case 3:
del();
break;
case 4:
show();
break;
}
if (opcion == 0){
return opcion;
}
}

int elegir_al(){
clear();
int n_al;
cout << "\n Elija el número del alumno" << endl;
cin >> n_al;

return n_al;
}

void add(){
clear();
cout << "Nombre:";
cin >> alumnos[last_al].nombre;
cout << "Curso:";
cin >> alumnos[last_al].curso;
cout << "Nota 1:";
cin >> alumnos[last_al].notas[0];
cout << "Nota 2:";
cin >> alumnos[last_al].notas[1];
cout << "Nota 3:";
cin >> alumnos[last_al].notas[2];
cout << "Nota 4:";
cin >> alumnos[last_al].notas[3];
cout << "Nota 5:";
cin >> alumnos[last_al].notas[4];
last_al++;
}

void mod(){
clear();
int elec_al = elegir_al();

cout << "Nombre:";
cin >> alumnos[elec_al].nombre;
cout << "Curso:";
cin >> alumnos[elec_al].curso;
cout << "Nota 1:";
cin >> alumnos[elec_al].notas[0];
cout << "Nota 2:";
cin >> alumnos[elec_al].notas[1];
cout << "Nota 3:";
cin >> alumnos[elec_al].notas[2];
cout << "Nota 4:";
cin >> alumnos[elec_al].notas[3];
cout << "Nota 5:";
cin >> alumnos[elec_al].notas[4];

}

void del(){
clear();
int elec_al = elegir_al();
alumnos[elec_al].nombre = '\0';
alumnos[elec_al].curso = 0;
alumnos[elec_al].notas[0] = 0;
alumnos[elec_al].notas[1] = 0;
alumnos[elec_al].notas[2] = 0;
alumnos[elec_al].notas[3] = 0;
alumnos[elec_al].notas[4] = 0;
}

void show(){
clear();
int elec_al = elegir_al();
clear();
cout << "Nombre: " << alumnos[elec_al].nombre << endl;
cout << "Curso: " << alumnos[elec_al].curso << endl;
cout << "Nota 1: " << alumnos[elec_al].notas[0] << endl;
cout << "Nota 2: " << alumnos[elec_al].notas[1] << endl;
cout << "Nota 3: " << alumnos[elec_al].notas[2] << endl;
cout << "Nota 4: " << alumnos[elec_al].notas[3] << endl;
cout << "Nota 5: " << alumnos[elec_al].notas[4] << endl;
int esperar;
cout << "\n\n Pulse cualquier número para continuar: ";
cin >> esperar;
}


Gracias por gastar vuestro tiempo en mis chapuzas!!
Páginas: 1 2 3 4 5 6 7 [8]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines