int main(int argc, char const *argv[])
{	
	int ch;
	FILE *in_fileE;
	FILE *in_fileS;
	char entrada[NUMMAXCHAR];
	char salida[NUMMAXCHAR];
	strcpy(entrada, argv[1]);
	strcpy(salida, argv[2]);
	in_fileE=fopen(entrada,"r");
	in_fileS=fopen(salida, "w");
	strMateria (*materias)[DEFAULT];//estatico
	char *ganadas;
	char *perdidas;
	int numeroGanadas=0;
	int numeroPerdidas=0;
	float promedio=0;

	
	if(argc!=3){
	 	printf("Faltan argumentos, ejecute asi: a.out<nombreArchivoEntrada nombreArchivoSalida >\n");
	 	exit(0);
	}
	
	if(in_fileE==NULL){
		printf("No se puede abrir %s\n",entrada );
		exit(8);
	}
	if(in_fileS==NULL){
		printf("No se puede abrir %s\n",salida);
		fclose(in_fileE);
		exit(8);
	}
	num=numeroMaterias(in_fileE);
	//Reservar memoria dinamica 
	materias=  (strMateria (*)[num]) malloc(sizeof(strMateria[num]));
	ganadas= (char *)malloc(sizeof(char)*num);
	perdidas=(char *)malloc(sizeof(char)*num);
	
	//Llamado a la funcion para obtener los datos de la materia
	getDatos(num, materias, in_fileE);

	//llamado a la funcion para obtener el numero de materias ganadas
	numeroGanadas=getMateriasGanadas(num, materias, ganadas);
		
	//llamado a la funcion para obtener el numero de materias perdidas
	numeroPerdidas=getMateriasPerdidas(num, materias,ganadas);
	
	//llamado a la funcion para obtener el promedio
	promedio=getPromedio(num, materias);

	//Llamado a la funcion para que imprima las amterias con sus respectivos atributos
	imprimirMaterias(num, materias, in_fileS);
	//Escribe en el archivo de salida el total de materias
	fprintf(in_fileS,"Total Materias: %d\n", num);
	//Escribe en el archivo de salida el total de materias ganadas
	fprintf(in_fileS,"Numero de materias Ganadas: %d\n", numeroGanadas );
	//Escribe en el archivo de salida el total de materias perdidas
	fprintf(in_fileS,"Numero de materias Perdidas: %d\n", numeroPerdidas );
	//Escribe en el archivo de salida el promedio
	fprintf(in_fileS,"Promedio ponderado: %.2f\n", promedio );

	
	fclose(in_fileE);
	fclose(in_fileS);

	free(ganadas);
	free(materias);
	free(perdidas);
	
	return 0;
}
示例#2
0
void evaluar()
{
    float nota = 0;


int sumar(int a, int b);
int restar(int a, int b);
int multiplicar(int a, int b);
int dividir(int a, int b);
int getMayor(int a, int b);
int getMenor(int a, int b);
int getMayor(int a, int b, int c);
void setValor(int arreglo[], int valor, int posicion);
int getValor(int arreglo[], int posicion);
int getMayor(int arreglo[], int tamano);
int getMenor(int arreglo[], int tamano);
int getPromedio(int arreglo[], int tamano);


    cout<<"Ejercicio sumar:\t\t";
    if(sumar(5,3)==8 && sumar(2,1)==3 && sumar(1000,1234)==2234)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }


    cout<<"Ejercicio restar:\t\t";
    if(restar(5,3)==2 && restar(2,1)==1 && restar(5,7)==-2)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio multiplicar:\t\t";
    if(multiplicar(5,3)==15 && multiplicar(2,1)==2 && multiplicar(5,-7)==-35)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }


    cout<<"Ejercicio dividir:\t\t";
    if(dividir(9,3)==3 && dividir(2,1)==2 && dividir(8,2)==4)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio getMayor:\t\t";
    if(getMayor(9,3)==9 && getMayor(1,2)==2 && getMayor(8,2)==8 && getMayor(8,16)==16)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio getMenor:\t\t";
    if(getMenor(9,3)==3 && getMenor(1,2)==1 && getMenor(8,2)==2 && getMenor(8,16)==8)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio getMayor:\t\t";
    if(getMayor(9,3,5)==9 && getMayor(1,3,2)==3 && getMayor(2,8,2)==8 && getMayor(8,5,16)==16)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio setValor:\t\t";
    int arr[]={1,2,3};
    setValor(arr,4,1);
    setValor(arr,9,2);
    int arr2[]={10,20};
    setValor(arr2,30,1);
    if(arr[0]==1 && arr[1]==4 && arr[2]==9 && arr2[0]==10 && arr2[1]==30)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio getValor:\t\t";
    int a1[]={3,4,2,1};
    int a2[]={10,20,30};
    if(getValor(a1,0)==3 && getValor(a1,1)==4 && getValor(a2,0)==10 && getValor(a2,1)==20)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }


    cout<<"Ejercicio getMayor:\t\t";
    if(getMayor(a1,4)==4 && getMayor(a2,3)==30)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio getMenor:\t\t";
    if(getMenor(a1,4)==1 && getMenor(a2,3)==10)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio getPromedio:\t\t";
    if(getPromedio && getPromedio(a2,3)==20)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    int pl;
    cout<<endl<<"Nota: "<<nota<<"/6"<<endl;
    cin>>pl;

}
示例#3
0
void evaluar()
{
    int nota = 0;

    queue<string>mi_cola_str;
    mi_cola_str.push("A");
    mi_cola_str.push("B");
    mi_cola_str.push("C");

    queue<string>mi_cola_str2;
    mi_cola_str2.push("Hola");
    mi_cola_str2.push("Mundo");

    cout<<"Ejercicio getPrimerElemento:\t";
    if(getPrimerElemento(mi_cola_str)=="A" && getPrimerElemento(mi_cola_str2)=="Hola")
    {
        nota++;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio getTamano:\t\t";
    if(getTamano(mi_cola_str)==3 && getTamano(mi_cola_str2)==2)
    {
        nota++;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio existeEnCola:\t\t";
    if(existeEnCola(mi_cola_str,"B")==true && existeEnCola(mi_cola_str2,"jeje")==false)
    {
        nota++;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }


    queue<int>mi_cola_int;
    mi_cola_int.push(1);
    mi_cola_int.push(2);
    mi_cola_int.push(3);

    queue<int>mi_cola_int2;
    mi_cola_int2.push(10);
    mi_cola_int2.push(20);

    cout<<"Ejercicio getMayor:\t\t";
    if(getMayor(mi_cola_int)==3 && getMayor(mi_cola_int2)==20)
    {
        nota++;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio getMenor:\t\t";
    if(getMenor(mi_cola_int)==1 && getMenor(mi_cola_int2)==10)
    {
        nota++;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    queue<float>mi_cola_float;
    mi_cola_float.push(1);
    mi_cola_float.push(2);
    mi_cola_float.push(3);

    queue<float>mi_cola_float2;
    mi_cola_float2.push(10);
    mi_cola_float2.push(20);

    cout<<"Ejercicio getPromedio:\t\t";
    if(getPromedio(mi_cola_float)==2 && getPromedio(mi_cola_float2)==15)
    {
        nota++;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<endl<<"Nota: "<<nota<<"/6"<<endl;
}