// Codificado por: Beastieux
// Insertar pesos en un arreglo
// Considero peso máximo de una persona 400 kilos
// El peso mínimo supongo que es el de un recién nacido, aproximadamente.
#include <iostream>
#include "leearray.h"
using namespace std;
#define MAX 50
int leeCantidadElem() {
int n;
do {
cout << "Cantidad de pesos a ingresar: ";
cin >> n;
if (n <= 0)
cout << "...No seas payaso(a), ingresa una cantidad correcta: " << endl;
if (n > MAX)
cout << "...La cantidad máxima permitida es " << MAX << " : " << endl;
} while (n <= 0 || n > MAX);
return n;
}
int insertarPesos(int cant, double A[]) {
int k, i, peso;
do {
cout << "En qué posición desea insertar de [0] hasta [" << cant - 1 << "]: ";
cin >> k;
if (k >= cant)
cout << "No está habilitada esta celda para insertar un valor..." << endl;
if (k < 0)
cout << "No trates de quererme sorprender..." << endl;
} while (k >= cant || k < 0);
cout << "Cuál es el peso que desea insertar: ";
cin >> peso;
cant++;
for (i = cant - 1; i >= k; i--) {
A[i + 1] = A[i];
if (k == i)
A[k] = peso;
}
return cant;
}
int main() {
int c;
char opt;
double n[MAX];
cout << "\t\t\tINSERTAR NUEVOS PESOS" << endl;
c = leeCantidadElem();
leeCadena(c, n);
do {
c = insertarPesos(c, n);
muestraCadena(c, n);
cout << "Desea ingresar otro peso!!!... S/s, caso contrario pulse otra tecla: ";
cin >> opt;
} while (opt == 's' || opt == 'S');
return 0;
}
// Librería: "leearray.h"
#include <iostream>
using namespace std;
void leeCadena(int cant, double n[]) {
int i;
for (i = 0; i < cant; i++) {
do {
cout << "Ingresa peso en A[" << i << "] : ";
cin >> n[i];
if (n[i] <= 0)
cout << "No seas chistoso y escribe un peso correcto: " << endl;
if (n[i] > 400)
cout << "Estás a punto de reventar!!!, lo siento, no puedo creerlo." << endl;
} while (n[i] <= 0 || n[i] > 400);
}
}
void muestraCadena(int cant, double n[]) {
int i;
for (i = 0; i < cant; i++) {
cout << "A[" << i << "] : " << n[i] << endl;
}
}
int main() {
// ... (resto del código)
return 0;
}
Pueder ir al artículo principal:
Códigos Sencillos hechos en C++