Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: niwede en 7 Junio 2014, 03:42 am



Título: ayuda con este codigo en c++
Publicado por: niwede en 7 Junio 2014, 03:42 am
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
  1. #include<istream>
  2.  
  3. int main() {
  4. int n, credito,ncredito,i;
  5.   double notas,v[i],sum,pp;
  6.  
  7.  
  8. credito=0; sum=0;
  9.  
  10. cout<<"Ingrese numero de materias";
  11. cin>>n
  12. for (i = 0; i < n; ++i) {
  13.            cout<<("ingrese nota",i);
  14.            cin>>nota;
  15.            cout<<"ingrese numero de credito de la materia ",i;
  16.            cin>>credito;
  17.            ncredito=ncredito+credito;
  18.            v[i]=notas*credito;
  19.    }
  20. for (i = 0; i < n; ++i) {
  21.            sum=v[i]+sum
  22.         }
  23. pp=sum/ncredito;
  24. if pp>3.2{
  25.     cout<<"no caes en prueba academica y su promedio es",pp;  
  26. }else {
  27. cout<<"cayo en prueba academica y su promedio es de ",pp;
  28. };
  29.  
  30.    return 0;
  31. }





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.


Título: Re: ayuda con este codigo en c++
Publicado por: engel lex en 7 Junio 2014, 04:02 am
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


Título: Re: ayuda con este codigo en c++
Publicado por: vangodp en 7 Junio 2014, 04:11 am
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
  1. #include <iostream>
  2. 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++)
  3.  
  4. int main() {
  5. int n, credito, ncredito, i;
  6. double notas, v, sum, pp;
  7.  
  8.  
  9. credito = sum = 0;  //esto lo puedes hacer asi XD
  10.  
  11. cout << "Ingrese numero de materias";
  12. cin >> n; //te falta punto y coma
  13.  
  14. for ( i = 0; i < n; ++i ) {
  15. cout << "ingrese nota" << i << endl; //cout no lleva (   ) y no lleva coma lo que separa es <<
  16. cin >> notas;      //nota no esxiste sera notas
  17. cout << "ingrese numero de credito de la materia " << i << endl; //te falta << el << endl es para saltar linea.
  18. cin >> credito;
  19. ncredito = ncredito + credito;
  20. v = notas * credito;
  21. }
  22.  
  23. for ( i = 0; i < n; ++i ) {
  24. sum = v + sum;  //falta punto y coma
  25. }
  26.  
  27. pp = sum / ncredito;
  28.  
  29. if ( pp > 3.2 ) { //te falta las ()
  30. cout << "no caes en prueba academica y su promedio es" << pp; //te falta <<
  31. } else {
  32. cout << "cayo en prueba academica y su promedio es de " << pp; //te falta <<
  33. }// ; < ---te sobra aqui
  34.  
  35. return 0;
  36. }
  37.  
Ahora el código anda aun que no le he comprobado su funcionamiento ;)


Título: Re: ayuda con este codigo en c++
Publicado por: 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??


Título: Re: ayuda con este codigo en c++
Publicado por: engel lex en 7 Junio 2014, 04:28 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

Código:
sum = sum + (notas * credito);


Título: Re: ayuda con este codigo en c++
Publicado por: niwede en 7 Junio 2014, 04:32 am
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


Título: Re: ayuda con este codigo en c++
Publicado por: engel lex en 7 Junio 2014, 04:38 am
para salir de un ciclo se usa "break;" te permite interrumpirlo en cualquier punto


Título: Re: ayuda con este codigo en c++
Publicado por: niwede en 7 Junio 2014, 04:48 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??


Título: Re: ayuda con este codigo en c++
Publicado por: engel lex en 7 Junio 2014, 04:53 am
ahh!! XD para frenar el programa, XD pensé que era para salir del ciclo...


incluye esto al principio del programa
Código
  1. #include<cstdlib>

y colocas el system("pause"); al final justo antes del return 0


Título: Re: ayuda con este codigo en c++
Publicado por: niwede en 7 Junio 2014, 14:42 pm
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????


Título: Re: ayuda con este codigo en c++
Publicado por: engel lex en 7 Junio 2014, 14:52 pm
teóricamente solo el .exe


Título: Re: ayuda con este codigo en c++
Publicado por: niwede en 7 Junio 2014, 15:41 pm
mmm y no es necesario que esa persona posea un software como el dev  cierto?????

y por que teoricamente???


Título: Re: ayuda con este codigo en c++
Publicado por: vangodp en 7 Junio 2014, 19:58 pm
Por que algunos programas pueden depender de otros archivos como dlls externas.
Si te pide dicho archivo debes incluir en el directorio, pero no creo que te pida nada en cosas sencillas. :rolleyes:
También los puedes agregar estéticamente dichas dll dentro del exe si así lo permite la licencia de dicha dll.
Algunos programas abren imágenes o sonidos o mil cosas mas y todo eso debe estar en algún lugar si quieres que se reproduzca.
Son cosas que creo que ya te las preguntaras en su debido momento si llegas a trabajar con eso ;)


Título: Re: ayuda con este codigo en c++
Publicado por: niwede en 8 Junio 2014, 02:00 am
mmm bno muchas gracias si sirve se deenie y todo
1) que loibro o paginas me recomendarian para poder ir super en el semestre que viene.
2) siempre que uno programa en c++ se ve esa pantalklita negra o se puede hacer algo  mas estetico parecido a lo que se hace cun ado se programa con .bat o javasscript??
3) que lenguaje de programacion se debe iutilizar si quiero hacer algo mas estetico en apariencia algo como ingrese en el cuadrito de abajo y cosas asi???


muchas grac ias la verdad es que ,me ayudaron y mucho ;D ;D :) :)