1

ユーザーが塗料のリットルの価格を入力する必要があるコードがあります...しかし、「2.50」などの価格しか受け入れません。ユーザーが「2,50」を入力した場合、プログラムでコンマをポイントに変換できますか? ? Cを使って!

    printf ("\n How many liters of green paint we'll use? ");
    scanf ("%d", &green);
    printf ("\n How many liters of blue paint we'll use? ");
    scanf (" %d", &blue);
    printf ("\n What's the price for the liter of green paint? ");
    scanf ("%f", &priceG);
    fflush(stdin);
    printf ("\n What's the price for the liter of blue paint? ");
    scanf ("%f", &priceB);
4

2 に答える 2

1

入力を文字列に収集し、操作を実行します。

文字列の各文字をトラバースし、遭遇した場合は次の文字に,置き換えます.

トラバース中にトラバースされた文字を別の文字列,に入れ、が見つかったら、それを次の文字列に置き換えます.

この手順は時間がかかる場合がありますが、役に立ち、要件を満たす可能性があります。

于 2013-01-05T16:35:37.050 に答える
1

setlocale(LC_NUMERIC,"yourLocale")fromを使用して、小数点の目的のロケールを設定できます#include <locale.h>。(詳細はこちら)

yourLocaleは、マシンで使用可能な有効なロケール文字列である必要があり、,小数点として を使用します (例: ) de_DE。で利用可能なロケールを取得できますlocale -a

于 2013-01-05T16:46:22.183 に答える