예제 #1
0
int main(){
	float *notaObtenida;
	int *numeroCreditos;
	char (*nombreMateria)[numMaxNombre];
	float prom=0;
	printf("====================Bienvenido=====================\n\n");
	int n=getNumMat();
	//Creacion de los arreglos con memoria dinamica
	//float notaObtenida[n];
	notaObtenida = (float *) malloc(sizeof(float)*n);
	numeroCreditos = (int *) malloc(sizeof(int)*n);
	nombreMateria = (char(*)[numMaxNombre]) malloc(sizeof(char[numMaxNombre])*n);
	
	printf("tamaño: %d\n", (int)sizeof(char[numMaxNombre])*n);
	
	//Llamado a la funcion para obtener los datos de la materia
	getDatos(n, nombreMateria, notaObtenida, numeroCreditos);
	
	//Llamado a la funcion para clacular el promedio
	prom=calcularPromedio(n,notaObtenida, numeroCreditos);

	//Llamado a la funcion para imprimir
	imprimir(n, prom, nombreMateria, notaObtenida, numeroCreditos);
	free(notaObtenida);
	free(nombreMateria);
	free(numeroCreditos);
	return 0;

}
예제 #2
0
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;
}
예제 #3
0
void urpmi::on_pushButton_14_clicked()
{
    int Borrado, x;
    Borrado = ui->tableWidget->rowCount();
    for(x=0;x<Borrado;x++)
    {
         ui->tableWidget->removeRow(x);
         x=x-1;
         Borrado=Borrado-1;
         int Contador = ui->tableWidget->rowCount();
         ui->lineEdit_2->setText(QString::number(Contador));
    }
    ui->textEdit->append(tr("Realizando proceso seleccionado y recopilando los datos solicitados... espera por favor, puede tardar unos segundos."));
    int iFilas;
    drakeSistema drake;
    repo = drake.getRepositorio();
    QString Local1 = getDatos();
    QStringList Datos = Local1.split("\n");
    lista = repo.split("\n");
    if (lista.count() == 1)
    {
        if (lista.value(0) == "")
        {
            QMessageBox m; if (Stilo == "A") m.setStyleSheet("background-color: "+cantidad51+"; color: "+cantidad50+"; font-size: "+cantidad49+"pt; font-style: "+DatoTalla+"; font-family: "+cantidad47+"; font-weight: "+DatoNegro+"");
            m.setText(tr("No hay repositorios que procesar."));
            m.exec();
            return;
        }
    }
    setUpdatesEnabled(false);
    QProgressDialog progress(tr("Comprobando repositorios... Espera por favor"), tr("Cancelar"), 0, lista.count(), this);
    progress.show();
    QTest::qWait(20);
    QString Local2 = getDatos1();
    QStringList DatosUp = Local2.split("\n");
    for(int i=0;i<lista.count();i++)
    {
        qApp->processEvents();
        progress.setValue(i);
        if (progress.wasCanceled())
            break;
        Value0 = lista.value(i);
        if (Value0 != "")
        {
            Value1="";
            Value2="";
            Value3="";
            ui->textEdit->append(tr("Procesando... ")+Value0+tr("(Registro: ")+QString::number(i)+")");
            if (Local1 != "")
            {               
                for(int a=0;a<Datos.count();a++)
                {
                    QString verlo=QString::fromUtf8(Datos.value(a));
                    int pos1 = verlo.indexOf(Value0, 0);
                    if (pos1 != -1)
                    {
                        Value1 = tr("Si");
                    }                    
                }
            }
                for(int b=0;b<DatosUp.count();b++)
                {
                    QString verlo1=QString::fromUtf8(DatosUp.value(b));
                    int pos2 = verlo1.indexOf(Value0, 0);
                    if (pos2 != -1)
                    {
                        Value3 = tr("Si");
                    }
                }
                QTableWidgetItem *item1, *item2, *item3, *item4, *item5;
                item1=new QTableWidgetItem;
                item2=new QTableWidgetItem;
                item3=new QTableWidgetItem;
                item4=new QTableWidgetItem;
                item5=new QTableWidgetItem;
                item1->setText("Ok");
                item2->setText(""+Value0+"");                
                item3->setText(""+Value1+"");
                if (Value1=="")
                {
                    Value2 = tr("Si");
                }
                item4->setText(""+Value2+"");
                item5->setText(""+Value3+"");
                iFilas=ui->tableWidget->rowCount();
                ui->tableWidget->insertRow(iFilas);
                ui->tableWidget->setItem(iFilas,0,item1);
                ui->tableWidget->setItem(iFilas,1,item2);
                ui->tableWidget->setItem(iFilas,2,item3);
                ui->tableWidget->setItem(iFilas,3,item4);
                ui->tableWidget->setItem(iFilas,4,item5);
                ui->tableWidget->item(iFilas,0)->setIcon(QIcon(":/Imagenes/good.png"));
                int Contador = ui->tableWidget->rowCount();
                ui->lineEdit_2->setText(QString::number(Contador+1));
        }
    }
    progress.setValue(lista.count());
    setUpdatesEnabled(true);
    ui->tableWidget->resizeRowsToContents();
    ui->tableWidget->resizeColumnsToContents();
}