[ Foro de C++ ]

solo me da error en la linea 90

04-Sep-2020 16:14
Invitado (sss)
1 Respuestas



#include <iostream>
#include <stdlib.h>
#include <math.h> 
//saul oscar soto carvajal A23714-0
using namespace std;
class super{
	private :
		float q[50];
		float e[50];
		int w;
    public:
      void leer();
      void mayores();
      void multiplos();
      void rango();
      void orden();
};

void super::leer(){

	int r;
cout<<"Cuanta cantidad de productos registrara:";
	cin>>w;
	for(int c=1;c<=w;c++){	
	do{
		cout<<"Ingrese la cantidad del producto "<<c<<":";
		cin>>r;
		q[c]=r;
	}while(r<0);
    }	
}

 void super::mayores(){
 	int g,k;
 	g=1;
 	for(int c=1;c<=w;c++){
 		if(q[c]>5){
 			k=q[c];
 			e[c]=k;
 			g++;
 		}else{}
 	}
  	cout<<endl<<"Vector total:";
 	for(int c=1;c<=w;c++){
 		cout<<q[c]<<"/";}
 		
 	cout<<endl<<"Vector de los mayores a 5:";
 	if(g>=1){
    for(int c=2;c<=g;c++){
 		cout<<e[c]<<"/";
		 }
      }else{
	 cout<<"no hay vector ";
	  }
   }

 void super::rango (){
 	cout<<endl<<"entre el rango de 3 a 10 "<<endl;
 	for(int c=1;c<=w;c++){
 		if(q[c]>=3 & q[c]<=10){
 		cout<<" posicion "<<c<<" ,";
 		}
 	}
 	cout<<endl;
 }
 
 void super::orden(){
 	cout<<endl<<"el vector ordenado es:";
 	 int s,g;
	  for (int c=1;c<=g;c++)
    {
    	   for(int j=1;j<=g;j++)
         {
             if(e[j]>e[j+1])
             {
             s=e[j];
             e[j]=e[j+1];
             e[j+1]=s;
             }
         }
    }
    for(int c=1;c<=g;c++)   { 
        cout<<"[ "<<e[c]<<" ]";
    }
 }
  void super::multiplos(){
 	float r=0,k;
	for(int c=1;c<=w;c++){
		if(q[c] % 3 == 0){
			r=r+q[c];
			k++;
		}
	}
	r=r/k;
	cout<<"El promedio es de "<<r<<endl;
}
 
int main ()
{
    super reg;
    reg.leer();
    reg.mayores();
    reg.multiplos();
    reg.rango();
    reg.orden();
	return 0;
	}


 


05-Sep-2020 00:48
Julin Alzola Zarate

el error de la linea 90 es que al operador % no se puede poner un float (q[c]). debe ser un int.






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...