El código hecho en C++ es así:
#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;
}
Funciona perfectamente,
Pero cuando lo intento pasar a C me quedó así:
#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(){
printf("Escribe el primero numero : "); printf("Escribe el segundo numero: "); printf("Escribe el tercer numero: "); }
float calificacion::operacion()
{
a = a/3;
b = b/3;
c = c/3;
float promedio;
promedio = a + b + c;
return promedio;
}
void calificacion::mostrar(){
printf("El promedio es: %f",calificacion
::operacion()); }
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!