Ну, я поместил этот код в визуальную студию, и он говорит "не может преобразовать аргумент 1 из двойного * в двойной". Код следующий:
CALCULO_PROMEDIO(PR_ALUMNO_4, TAM_PR_4, ALUMNO_4);
И инициализированный указатель, который является универсальная переменная следующая:
double* PR_ALUMNO_1 = NULL;
Кроме того, я делаю массив следующим образом:
cout << "\n\t " << char(168) << "Cuantas calificaciones quieres introducir?";
cin >> TAM_PR_1;
PR_ALUMNO_1 = new double[TAM_PR_1];
В конце концов по программе этот указатель преобразуется в массив для возможности альмаценатные оценки учеников.
В упомянутой функции я делаю следующее:
void CALCULO_PROMEDIO(double CALIF[], int TAM_CALIF, string NOMBRE_ALUMNO) {
if (TAM_CALIF == 0) {
cout << "\n\n\t\a **************************************"
<< "\n\t *** PARECE QUE NO INTRODUJO NADA... **" // Si no se tiene un tamaño especificado para el array, aparecera este mensaje
<< "\n\t ************************************** \n\t";
}
else { // Muestra y calculos de promedios y calficaciones
cout << "\n\n\t\a **************************************"
<< "\n\t " << NOMBRE_ALUMNO
<< "\n\t **************************************";
cout << "\n\n\t **************************************"
<< "\n\t CALIFICACIONES"
<< "\n\t ************************************** \n\n\t";
for ( P = 0; P < TAM_CALIF; P++){
cout << CALIF[TAM_CALIF] << " , "; // Imprenta de calificaciones almacenadas
PROMEDIO += CALIF[TAM_CALIF]; // Calculo de la sumatoria de las calificaciones almacenadas
}
cout << "\n\n\t\t PROMEDIO: " << PROMEDIO / TAM_CALIF; // Muestra del promedio final en pantalla
if (PROMEDIO >= 70) {
cout << "\n\n\t\t ESTATUS: aprobado";
}
else{
cout << "\n\n\t\t ESTATUS: reprobado";
}
cout << "\n\n\t **************************************";
}
}
В заключение я хочу передать этот массив dinami c для функции "CALCULO_PROMEDIO", но из-за моего плохого знания этого языка я могу заставить его работать должным образом.
Кстати, если решение окажется в том месте, куда я положил delete [ ], Я поместил эту инструкцию в блок текста, где написано, что если вы уже что-то вводили ранее в массив dinami c, ваши данные будут стерты с вашей программы, что-то вроде t his:
if (PR_ALUMNO_2 != NULL) {
cout << "\n\t ***** ADVERTENCIA: SE HA IDENTIFICADO DATOS ANTERIORES *****"
<< "\n\t Si continua estos datos seran borrados sin oportunidad de recuperarlos"
<< "\n\n\t Sabiendo esto, " << char(168) << "quiere continuar?"
<< "\n\t 1. Si"
<< "\n\t 2. No"
<< "\n\t ***No se preocupe sera enviado devuelta al menu principal***"
<< "\n\t Introduce un numero: "; cin >> SALIR_MENU;
if (SALIR_MENU == 1) {
TIEMPO(); main(); // Regreso al menu principal
} else {
delete[]PR_ALUMNO_2; //Borrar calificaciones del alumno 2
}
}
Извините, если вы нашли некоторые ошибки в моей грамматике. Как вы можете видеть из-за кода, я обычный мексиканец, который старается изо всех сил, пока происходит карантин.