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; }
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; }
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(); }