Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/08/2003, 08:47
leonardop
 
Fecha de Ingreso: julio-2003
Mensajes: 165
Antigüedad: 21 años, 7 meses
Puntos: 1
Bueno, desconozco el entorno sobre el que trabajas, pero podemos reconsiderar el problema y quizás enfocarlo de forma distinta.

¿De qué tipo de datos es la variable en donde almacenas el valor del campo "Nota media", por ejemplo? ¿Es una matriz de caracteres? ¿Y de allí quieres pasar el valor a un `float'?

Una solución en tal tipo de situación podría ser modificar la matriz de caracteres original, reemplazado las ocurrencias de comas por puntos, y luego leer el valor flotante desde la cadena de caracteres modificada. Consideremos este segundo ejemplo:

Código:
#include <iostream.h>
#include <stdio.h>
#include <string.h>


int
main (void)
{
    // Empezemos por reemplazar las comas por puntos en nuestra cadena

    char cadena[] = "3,1416";
    size_t longitud = strlen (cadena);

    for (int i = 0; i < (int) longitud; i++)
        if (cadena[i] == ',')
            cadena[i] = '.';


    // Ahora pasamos a leer un valor `float' desde la cadena
    float valor;
    sscanf (cadena, "%f", &valor);
    cout << "El valor leido desde la cadena modificada es " << valor <<"\n";

    return 0;
}
¿Algo así se podría aplicar en tu caso?

Saludos