- Estoy intentando hacer un proyecto que calcule las notas finales en mi universidad y pues hay tres lapsos, y cada uno es 30%, 40% y 30% para un total de 100% siendo igual a 20 y cada evaluación es en base a 20( ya enuncie el ejercicio .-.)
pues el problema es que en pseint lo hago perfecto pero se me complica al pasarlo a c++ ya que no hay un repetir como tal y no se regresar al menu al escoger el numero de evaluaciones en el 2do lapso ya que como tiene mas porcentaje se pueden hacer mas evaluaciones, les dejare ambos codigos
Pseudocodigo:lgoritmo calculo_de_notas_finales_ugma
Escribir "Bienvenido al sistema de calculo de clasificaciones a continuacion tomaremos sus datos";
Escribir "Escriba su nombre y apellido";
Leer name;
Escribir "Escriba su cedula"
Leer id;
Repetir
Escribir "Asignatura de la nota que desea calcular"
Leer asig;
Escribir "Ahora " nombre " procederemos a tomar las notas de su primer corte el cual tiene un valor de 30%";
Escribir "Cuales son los porcentajes de las evaluaciones del primer corte?";
Leer p1,p2;
p1<-(p1*20)/100;
p2<-(p2*20)/100;
Escribir "Ingrese las notas del primer corte: " p1 "% y " p2 "%";
Leer n1_1;
leer n1_2;
n1<-( ((n1_1*p1)/20) + ((n1_2*p2)/20) );
Escribir "Ahora " nombre " procederemos a tomar las notas de su segundo corte el cual tiene un valor de 40%";
Repetir
Escribir "Cuantas calificaciones tiene este segundo corte?";
Leer de;
Segun de Hacer
2:
Escribir "Ingrese las notas del segundo corte: 20% y 20%";
Leer n2_1;
leer n2_2;
n2<-( ((n2_1*4)/20) + ((n2_2*4)/20) );
3:
Escribir "Ingrese las notas del segundo corte: 10%, 10% y 20%";
Leer n2_1;
leer n2_2;
Leer n2_3;
n2<-( ((n2_1*2)/20) + ((n2_2*2)/20) + ((n2_3*4)/20)) ;
4:
Escribir "Ingrese las notas del segundo corte: 10%, 10%, 10% y 10%";
Leer n2_1;
leer n2_2;
Leer n2_3;
Leer n2_4;
n2<-( ((n2_1*2)/20) + ((n2_2*2)/20) + ((n2_3*2)/20) + ((n2_4*2)/20) );
De Otro Modo:
Escribir "El numero de calificaciones es incorrecto debe comenzar de nuevo";
Fin Segun
Hasta Que de>1 y de<5;
Escribir "Ahora " nombre " procederemos a tomar las notas de su tercer corte el cual tiene un valor de 30%";
Escribir "Ingrese las notas del tercer corte: 15% y 15%"
Leer n3_1;
leer n3_2;
n3<-( ((n3_1*3)/20) + ((n3_2*3)/20) );
nf<-n1+n2+n3;
Escribir "El alumno " name " de la cedula " id " cursante de la asignatura " asig;
Escribir "obtuvo la nota en su primer corte de: " n1 ", en su segundo corte la nota de: " n2;
Escribir " y en el tercer corte la nota de: " n3 ". Eso da una nota final de: " nf;
Escribir "Desea calcular la nota de otra materia?";
escribir "Escriba 0 para si y escriba cualquier otro numero para no";
leer de2;
Hasta Que de2!=0;
FinAlgoritmo
:-/Codigo c++://C_Zaslavski code
#include <iostream>
#include <cmath>
using namespace std;
int main(void)
{
char name,asig;
float id,n1,n1_1,n1_2,n2,n2_1,n2_2,n2_3,n2_4,n3,n3_1,n3_2,nf,p1,p2;
bool de,de2;
cout<<"Bienvenido al sistema de calculo de notas finales\nA continuación tomaremos sus datos"<<endl;
cout<<"Escriba su nombre y apellido"<<endl;
cin>>name;
cout<<"Escriba su cedula"<<endl;
cin>>id;
do {
cout<<"Escriba el nombre de la asignatura"<<endl;
cin>>asig;
cout<<"Procederemos a calcular la nota de su primer corte el cual tiene un valor de 30%"<<endl;
cout<<"Escriba los porcentajes de las notas de este primer corte"<<endl;
cin>>p1;
cin>>p2;
cout<<"Escriba las notas obtenidas en las evaluaciones de este primer corte"<<endl;
cin>>n1_1;
cin>>n1_2;
p1=(p1*20)/100;
p2=(p2*20)/100;
n1=(((n1_1*p1)/20)+((n1_2*p2)/20));
cout<<"Procederemos a calcular las notas del segundo corte el cual tiene el valor de 40%"<<endl;
cout<<"¿Cuantas notas evaluaron en este segundo corte?"<<endl;
cin>>de;
if (de>1)
{
switch (de)
{
case '2':
cout<<"Ingrese las notas del segundo corte de valor 20% y 20%"<<endl;
cin>>n2_1;
cin>>n2_2;
n2=( ((n2_1*4)/20) + ((n2_2*4)/20) );
break;
case '3':
cout<<"Ingrese las notas del segundo corte de valor 10%, 10% y 20%"<<endl;
cin>>n2_1;
cin>>n2_2;
cin>>n2_3;
n2=( ((n2_1*2)/20) + ((n2_2*2)/20) + ((n2_3*4)/20)) ;
break;
case '4':
cout<<"Ingrese las notas del segundo corte de valor 10%, 10%, 10% y 10%"<<endl;
cin>>n2_1;
cin>>n2_2;
cin>>n2_3;
cin>>n2_4;
n2=( ((n2_1*2)/20) + ((n2_2*2)/20) + ((n2_3*2)/20) + ((n2_4*2)/20) );
break;
default:
cout<<"Ingresaste un número no valido, te preguntare de nuevo"<<endl;
}
else{
cout<<"Ingresaste un número no valido, te preguntare de nuevo"<<endl;
}
}
cout<<"Procederemos a calcular la nota de su tercer corte el cual tiene un valor de 30%"<<endl;
cout<<"Escriba los porcentajes de las notas de este tercer corte"<<endl;
cin>>p1;
cin>>p2;
cout<<"Escriba las notas obtenidas en las evaluaciones de este primer corte"<<endl;
cin>>n3_1;
cin>>n3_2;
p1=(p1*20)/100;
p2=(p2*20)/100;
n3=(((n3_1*p1)/20)+((n3_2*p2)/20));
nf=n1+n2+n3;
cout<<"El alumno: "<<name<<" de la cedula: "<<id<<" ,cursante de: "<<asig<<" \nObtuvo en su primer corte "<<n1<<" \nEn el segundo corte "<<n2<<" \nY en el tercer corte"<<n3<<endl;
cout<<"Lo cual da una nota final de: "<<nf<<endl;
cout<<"Desea calcular la nota de otra materia?"<<endl;
cout<<"Presiona 0 si tu respuesta es positiva o cualquier numero para terminar el programa"<<endl;
cin>>de2;
}while (de2==0);
system("pause");
return 0;
}