Test Foro de elhacker.net SMF 2.1

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 (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.
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 (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 ;)
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
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);
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
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??
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 (cpp) [Seleccionar]
#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 :) :)