]> git.llucax.com Git - z.facultad/75.42/euler.git/blobdiff - carga.c
Se completa el TP y la documentación.
[z.facultad/75.42/euler.git] / carga.c
diff --git a/carga.c b/carga.c
index 67470880fa3622ceb536f17716dbf659d6b2725b..108a8104d9954aa33dbffa6e0b420b581dbce433 100644 (file)
--- a/carga.c
+++ b/carga.c
@@ -39,7 +39,8 @@ int argtod(const char* arg, Real* var, const char* nom) {
     }
 }
 
-int cargar_datos(int argc, const char** argv, Real* paso, Real* tf, Real* f0) {
+int cargar_datos(int argc, const char** argv, Real* paso, Real* t0, Real* tf,
+        Real* f0) {
     switch (argc) {
         /* Si no tiene parámetros usa los valores por omisión. */
         case 1:
@@ -69,7 +70,17 @@ int cargar_datos(int argc, const char** argv, Real* paso, Real* tf, Real* f0) {
             fprintf(stderr, "Error: Demasiados parámetros.\n");
             return FALSE;
     }
-    /* TODO Verificar que el paso no sea cero y que tf > ti. */
+    /* El paso debe ser mayor que cero. */
+    if (*paso <= 0.0) {
+        fprintf(stderr, "Error: El paso (%f) debe ser mayor que cero.", *paso);
+        return FALSE;
+    }
+    /* El tiempo final debe ser mayor que el inicial. */
+    if (*t0 >= *tf) {
+        fprintf(stderr, "Error: El tiempo final (%f) no es mayor que ", *tf);
+        fprintf(stderr, "el tiempo inicial (%f).", *t0);
+        return FALSE;
+    }
     return TRUE;
 }