No sé qué tipo de ayuda necesitás, a lo mejor lo que te diga no te sirva o ya lo sepas.
Pero lo importante es delimitar bien los objetivos parciales del programa.
El primer paso es leer los datos.
Si los datos están en un archivo de texto, entonces el único modo de leerlo es una línea a la vez.
Al leer una línea, sabemos que contiene o debe contener números tipo float.
Asi que se lee caracter a caracter hasta hallar un espacio en blanco.
Los caracteres no blancos, entre un espacio blanco y otro, se copian a una cadena temporal, y se intenta traducirla a número. Si no es un numero, o está en formato erróneo, el programa devuelve un error y termina.
En caso contrario, continúa hasta el fin de la línea.
Si sobran datos, se puede enviar un mensaje de advertencia, sin parar el programa.
Si faltan datos, se puede mostrar un mensaje de advertencia, sin parar el programa, y almacenando 0 en la variable correspondiente.
Se sigue con este procedimiento, línea a línea, hasta agotar el stock.
Ahora está la cuestión de almacenar los datos.
Como los datos son números, y corresponden varios datos por cada ítem, y hay varios ítems (satélites), lo ideal sería colocar los datos en una matriz.
Sin embargo, como no se puede saber a priori cuán grande es el archivo de texto, conviene definir un tipo de datos lista, cada uno de los cuales contiene los campos que interesan: nombre del satelite, período orbital, etc.
Luego, cada vez que se lee una nueva línea del archivo en forma satisfactoria, y los datos han sido almacenados en alguna variable o variables temporales, se procede a la creación de un nuevo elemento al final de la lista, y se copian allí los datos temporales.
Se cierra el archivo de lectura.
Luego se procesan los datos que están en la matriz (o array bidimensional), y cuando estén ordenados, procesados, o lo que fuere que se les tuviera que hacer, ya está terminado, se procede a la última etapa: crear el archivo de salida.
Esto es más facil.
Se crea el archivo de salida de tipo texto. Se envía al archivo una cadena de texto formateada, ya sea con fprintf, o con cout, colocando los valores de los campos de cada ítem del array bidimensional. Se agrega un caracter fin de línea al final de cada lista de campos.
Se hace una iteración hasta finalizar el array, y se cierra el archivo.
En cada paso conviene, claro está, hacer las debidas comprobaciones de errores en la lectura/escritura de datos de archivo, y en caso de error, enviar los mensajes adecuados.
Esto puede hacerse con macros, o con alguna metodología de trabajo sistematizada, o con interrupciones, o posiblemente la biblioteca assert (que no estoy seguro, porque nunca la uso, muy mal de mi parte).
Saludos.