int getlock(void) { float time; char ns, ew; int sample; float minutes; float degrees; if(sscanf(gpsbuffer, "GPGGA,%f,%f,%c,%f,%c,%d", &time, &latitude, &ns, &longitude, &ew, &lock) >= 1) { if(!lock) { longitude = 0.0; latitude = 0.0; return 0; } else { if(ns == 'S') { latitude *= -1.0; } if(ew == 'W') { longitude *= -1.0; degrees = latitude /100.0f; degrees = trunca(degrees); // float degrees = trunca(latitude / 100.0f); minutes = latitude - (degrees * 100.0f); latitude = degrees + minutes / 60.0f; //degrees = trunc(longitude / 100.0f * 0.01f); degrees = trunca(longitude/ 100.0f); minutes = longitude - (degrees * 100.0f); longitude = degrees + minutes / 60.0f; return 1; } } } }
void QGraph::pintafunc(QPaintDevice *qpd){ QPoint ultim(0,0), act(0,0); QPen pfunc; QPen ccursor; buffer = QPixmap(this->width(), this->height()); buffer.fill(Qt::white); pfunc.setColor(QColor(0,150,0)); pfunc.setCapStyle(Qt::RoundCap); pfunc.setWidth(2); if(qpd) finestra.begin(qpd); else finestra.begin(&buffer, this); bool nan=false, outside=false; dibuixa_eixos(&finestra); finestra.setPen(pfunc); if(funclist.count()>0){ for (QValueList<function>::iterator it = funclist.begin(); it != funclist.end(); ++it ){ if((*it).isShown()){ pfunc.setColor((*it).color()); pfunc.setWidth((*it).selected()+1); finestra.setPen(pfunc); int i = (*it).npoints(); register int j; for(/*register int*/ j=0; j<i;j++){ if(!nan){ act=toWidget((*it).points[j].x(), (*it).points[j].y(), &nan); // qDebug("%4d -- %4d", act.y(), act.x());//y->2 if(act.x()!=ultim.x() && act.x() > 0 && (act.y() > 0 || (act.y()==0 && !outside)) && act.x() < this->width() && act.y() <= this->height()){ finestra.drawLine(ultim, act); outside=false; } else if(act.x() > 0 && act.x() < this->width() && ((act.y() < 0 && ultim.y()>0) || (act.y() > this->height() && ultim.y() < this->height()))){ bool out; QPoint act2 = act; trunca(&ultim, &act2, &out); if(!outside) finestra.drawLine(ultim, act2); outside = out; } }else act=toWidget((*it).points[j].x(), (*it).points[j].y(), &nan); if(act.x() != ultim.x()) ultim=act; } } } } valid=true; finestra.end(); }
int main(void) { // declaración variables struct libro miLibro; FILE *f; int i; // abrir el fichero: lectura y escritura en binario f= abrir_fichero(); // inserto tres libros //for (i=0; i<3; i++) // inserta_libro(f); // leer todos los datos del fichero leer_fichero(f); modificar(1,f); trunca(1, f); leer_fichero(f); // cerrar fichero fclose(f); system("pause"); // Detiene la consola }