Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: marcoaa en 21 Febrero 2015, 23:10 pm



Título: estoy aprendiendo a programar en c++ y necsito ayuda con este programita
Publicado por: marcoaa en 21 Febrero 2015, 23:10 pm
este es el error que marca (que es por el main y la salida):Compilador: Default compiler
Código:
Ejecutando  g++.exe...
g++.exe "C:\Dev-Cpp\marco antonio di pentima.cpp" -o "C:\Dev-Cpp\marco antonio di pentima.exe"    -I"C:\Dev-Cpp\include\c++"  -I"C:\Dev-Cpp\include\c++\mingw32"  -I"C:\Dev-Cpp\include\c++\backward"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib"
C:/Dev-Cpp/marco antonio di pentima.cpp: In function `int main()':
C:/Dev-Cpp/marco antonio di pentima.cpp:78: parse error at end of input
Ejecución Terminada
 

y este es el programa :



Código
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3.  
  4. char id, rsp, idmax, idmin;
  5. float conta=0, contb=0, acuma=0, acumb=0, notamax=0, notamin=20;
  6. float nota;
  7. int nota1, nota2;
  8. main()
  9.  {
  10. do
  11. {
  12. printf("/ningrese el numero de carnet del estudiante");
  13. scanf(" %c", id);
  14. do
  15. {
  16. printf("/ningrese la nota del primer curso, solo se aceptan notas validas");
  17. scanf(" %d", nota1);
  18. while ((nota1<1 || nota1>20))
  19.  
  20.  
  21. //---validacion 2//
  22. do
  23. {
  24. printf("/ningrese la nota del segundo curso, solo se aceptan notas validas");
  25. scanf(" %d", nota2);
  26. while ((nota1<1 || nota1>20))
  27.  
  28.  
  29. // datos//
  30.  
  31. nota=(nota1+nota2)/2;
  32.  
  33. printf("/nel numero de carnet del estudiante es %c", id);
  34. printf("/nla nota del primer curso fue %f", nota1);
  35. printf("/nlla nota del segundo curso fue %f", nota2);
  36. printf("la media del alumno en los dos curso es de %f", nota);
  37. // determinacion del curso//
  38. if (nota<15)
  39. {
  40. printf("/n el estudiante sera ubicado en el curso B");
  41. contb=contb+1;
  42. acumb=acumb+nota;
  43. }
  44. else
  45. {
  46. printf("/n el estudiante sera ubicado en el curso A");
  47. conta=conta+1;
  48. acuma=acuma+nota;
  49. }
  50. //--------pregunta si desea repetir el proceso//
  51.  
  52.  
  53. if (notamax>nota)
  54. {
  55. notamax=nota;
  56. id=idmax;
  57. }
  58. if (nota<notamin);
  59. {
  60. notamin=nota;
  61. id=idmin;
  62. }
  63. printf("/ndesea ingresar el dato de otro estudiante? si=s no=n");
  64. scanf(" %c", rsp);
  65. while (rsp=='n')
  66.  
  67. //parte b//
  68. printf("/n la cantidad de alumnos en el curso A es de %f:", conta);
  69. printf("/n la cantidad de alumnos en el curso B es de %f:", contb);
  70. printf("/n la media en el curso A es de %f:", acuma/conta);
  71. printf("/n la media en el curso B es de %f:", acumb/contb);
  72. printf("/n la mayor media es el alumno %c", idmax, "con media de %f:", notamax);
  73. printf("/n la menor media es el alumno %c", idmin, "con media de %f:", notamin);
  74.  
  75. system("pause");
  76. return main();
  77. }

Mod: Mensaje modificado, al publicar código usa las etiquetas GeSHi


Título: Re: estoy aprendiendo a programar en c++ y necsito ayuda con este programita
Publicado por: engel lex en 21 Febrero 2015, 23:40 pm
error de sintaxis en los do-while

se debe abrir y cerrar, luego ;

Código
  1. do{
  2.   //codigo
  3. }while(algo);


Título: Re: estoy aprendiendo a programar en c++ y necsito ayuda con este programita
Publicado por: rir3760 en 22 Febrero 2015, 04:20 am
Otros errores en el programa son:

* Falta indicar el tipo de la función main.
* En todas las llamadas a scanf falta el operador "dirección de" (el '&').
* El programa tiene una incursiona infinita (no valida a partir de C99) ya que el valor de retorno de la función main es:
Código
  1. return main();

Otro detalle preocupante es que indicas que estas aprendiendo C++ pero el programa no tiene nada de ese lenguaje (una vez solucionados los errores debe compilar como C sin problemas).

Un saludo