Código
Funciona perfectamente,
#include <iostream> #include <cstdlib> using namespace std; float a,b,c; class calificacion{ private: float numeroA, numeroB, numeroC; public: void inicio(float, float, float); void pedirnumeros(); float operacion(); void mostrar (); }; void calificacion::inicio(float _numeroA,float _numeroB,float _numeroC) { numeroA = _numeroA; numeroB= _numeroB; numeroC = _numeroC; } void calificacion::pedirnumeros(){ printf("Escribe el primero numero : "); scanf("%f",&a); printf("Escribe el segundo numero: "); scanf("%f",&b); printf("Escribe el tercer numero: "); scanf("%f",&c); } float calificacion::operacion() { a = a/3; b = b/3; c = c/3; float promedio; promedio = a + b + c; return promedio; } void calificacion::mostrar(){ cout<<"El promedio es: "<<calificacion::operacion(); } int main(int argc, char *argv[]) { calificacion c1; c1.inicio(a,b,c); c1.pedirnumeros(); c1.mostrar(); return 0; }
Pero cuando lo intento pasar a C me quedó así:
Código
#include <stdio.h> #include <stdlib.h> float a,b,c; struct calificacion{ private: float numeroA, numeroB, numeroC; public: void inicio(float, float, float); void pedirnumeros(); float operacion(); void mostrar (); }; void calificacion::inicio(float _numeroA,float _numeroB,float _numeroC) { numeroA = _numeroA; numeroB= _numeroB; numeroC = _numeroC; } void calificacion::pedirnumeros(){ } float calificacion::operacion() { a = a/3; b = b/3; c = c/3; float promedio; promedio = a + b + c; return promedio; } void calificacion::mostrar(){ } int main(int argc, char *argv[]) { calificacion c1; c1.inicio(a,b,c); c1.pedirnumeros(); c1.mostrar(); return 0; }
Los errores están al nombrar las estructuras el programa no me acepta los "::" por ejemplo: calificacion::operacion()
Y todo lo que está dentro del main() en C no lo acepta.
Al igual que no se como se puede reemplazar el "private:" y el "public:"
Saludos!