ayuda con este codigo en c++

Iniciado por niwede, 7 Junio 2014, 03:42 AM

0 Miembros y 1 Visitante están viendo este tema.

niwede

la verdad es que no e dado eso en la u apenas acabo de terminar primer semetsre y queria incurcionar en c++ que es la tematica del segundo semstre

e hice esto
Código (cpp) [Seleccionar]
#include<istream>

int main() {
int n, credito,ncredito,i;
  double notas,v[i],sum,pp;
 
   
credito=0; sum=0;

cout<<"Ingrese numero de materias";
cin>>n
for (i = 0; i < n; ++i) {
           cout<<("ingrese nota",i);
           cin>>nota;
           cout<<"ingrese numero de credito de la materia ",i;
           cin>>credito;
           ncredito=ncredito+credito;
           v[i]=notas*credito;
   }
for (i = 0; i < n; ++i) {
           sum=v[i]+sum
        }
pp=sum/ncredito;
if pp>3.2{
    cout<<"no caes en prueba academica y su promedio es",pp;  
}else {
cout<<"cayo en prueba academica y su promedio es de ",pp;
};

   return 0;
}






pero me arroja errores
la problematica del anterio sale del siguiente enunciado
n algoritmo en c++ capas de sacar mi promedio ponderado



el promedio pponderado en la u se saca asi

1) pida numero de credito de primera materia y nota final de esta
2) multiplique numero de credito de materia por nota final
3) sume las multiplicaciones anteriores
4) divida la suma de las multiplicaciones entre la suma de todos los creditos (la variable en la que guardamos el numero de creditos se suman todos)
5) imprimir el resultado y decir si es menor a 3.2 escribir caes en prueba academica y si no pss no caes en prueba academica

nota: creditos es un numero entero que va por lo general de 0 a 6 las materias que tiene 0 creditos es realidad es como si no exitieran.

engel lex

1- modifica el post y coloca el código entre etiquetas GeSHi (están arriba de los emoticones a la derecha)

2- lee los errores del compilador, dan razón y línea, tienes errores desde simples ";", "(", ")" faltantes, hasta nombre de variables incorrectas ("nota" por ejemplo), esto no requiere mayores conocimientos...

3- no es istream, es iostream (viene de in-out stream)

4- cout se concatena con "<<", no con paréntesis como si usaras printf


si no resuelves esos errores basicos ni si quiera vayamos con algoritmos, resuelve eso y luego continuamos con el resto
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

vangodp

cuanta falta de atencion  :laugh:
Usa las etiquetas geshi para postar código. has puesto cosas demas y cosas de menos.
He comentado todo lo que vi pero tienes que afinar mas ;)
Código (cpp) [Seleccionar]

#include <iostream>
using namespace std;   //poner esto si no quieres poner el std:: delante de cin, cout y endl de forma tal que se quede std::cin, std::cout y std::endl (leer sobre espacios de nombre c++)

int main() {
int n, credito, ncredito, i;
double notas, v, sum, pp;


credito = sum = 0;  //esto lo puedes hacer asi XD

cout << "Ingrese numero de materias";
cin >> n; //te falta punto y coma

for ( i = 0; i < n; ++i ) {
cout << "ingrese nota" << i << endl; //cout no lleva (   ) y no lleva coma lo que separa es <<
cin >> notas;      //nota no esxiste sera notas
cout << "ingrese numero de credito de la materia " << i << endl; //te falta << el << endl es para saltar linea.
cin >> credito;
ncredito = ncredito + credito;
v = notas * credito;
}

for ( i = 0; i < n; ++i ) {
sum = v + sum;  //falta punto y coma
}

pp = sum / ncredito;

if ( pp > 3.2 ) { //te falta las ()
cout << "no caes en prueba academica y su promedio es" << pp; //te falta <<
} else {
cout << "cayo en prueba academica y su promedio es de " << pp; //te falta <<
}// ; < ---te sobra aqui

return 0;
}

Ahora el código anda aun que no le he comprobado su funcionamiento ;)

niwede

gracias a ambos entenderan que de este tama no se es nada solo estuve viendo v arios ejemplos  e intente mesclarlo para poder llegar a la solucion del problema
ahora bn ya lo probe con la correccion que me hacen pero no funciona como deberia pss solo pregunta el numero de materias y de una ves muestra todo lo que se encuebtra dentor de los cout. que estaria mal entonces el algoritmo tambn??

engel lex

Cita de: niwede en  7 Junio 2014, 04:23 AM
gracias a ambos entenderan que de este tama no se es nada solo estuve viendo v arios ejemplos  e intente mesclarlo para poder llegar a la solucion del problema
ahora bn ya lo probe con la correccion que me hacen pero no funciona como deberia pss solo pregunta el numero de materias y de una ves muestra todo lo que se encuebtra dentor de los cout. que estaria mal entonces el algoritmo tambn??

a vista de aguila si está malo...

por el for que usas para el sum... sumas n veces v, siendo ve solo el ultimo valor que tomó, elimina el segundo for y mete el sum al final del primer for
algo como

sum = sum + (notas * credito);
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

niwede

pss acabo de probarlo nuevamente y si fucniona o eso parecve el problema esta en que se sale de unaves me acuerdo quie alguien me comento de una manera de detenrlo algo como stop pero no se como se agrega o de que va seguido?

pero parece que si funciona

engel lex

para salir de un ciclo se usa "break;" te permite interrumpirlo en cualquier punto
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

niwede

Cita de: engel lex en  7 Junio 2014, 04:38 AM
para salir de un ciclo se usa "break;" te permite interrumpirlo en cualquier punto

es decir agrego break?? al final o que pss agregandolo al final no pasa nada  y el system("PAUSE");    tampoco me funciona o no se pocisionarlo bn en donde deberia colocarlo??

engel lex

ahh!! XD para frenar el programa, XD pensé que era para salir del ciclo...


incluye esto al principio del programa
Código (cpp) [Seleccionar]
#include<cstdlib>

y colocas el system("pause"); al final justo antes del return 0
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

niwede

mm ya probe y si sirve sirve ahora bn si yo quisiera pasarlo a otra persona pero solo el programa solo deberia colcocar el .exe o tambn donde se encuentra el algoritmo????