Ciągi znaków

0

Słuchajcie mam takie zadanie żeby zrobić program gdzie użytkownik wprowadza liczbę rzeczywistą z przecinkiem zamiast kropki i mam to robić z ciągiem znaków chyba i na funkcjach, nie wiem jak zrobić to i z czego skorzystać a jestem początkująca w programowaniu 😭 macie jakieś rady jak to ogarnąć ?

2

Skorzystaj z c/c++

1

https://en.cppreference.com/w/c/locale/setlocale

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main(void)
{
    double a, b;
    char * l = setlocale(LC_NUMERIC, "pl_PL");
    
    if (!l) {
        printf("locale not set!\n");
    } else {
        printf("new locale is %s!\n", l);
    }

    while (2 == scanf("%lf %lf", &a, &b)) {
        printf("%lf + %lf = %lf\n", a, b, a + b);
    }

    return EXIT_SUCCESS;
}

Przy czym konfiguracja systemu operacyjnego musi wspierać polskie locale (czyli na niektórych komputerach możesz zobaczyć locale not set!, ale na tych używanych w z polskim językiem, zadziała).
Na moim Win10 z VS2019:

C:\Users\MarekR22\Downloads>cl locale.c
Microsoft (R) C/C++ Optimizing Compiler Version 19.23.28107 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

locale.c
Microsoft (R) Incremental Linker Version 14.23.28107.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:locale.exe
locale.obj

C:\Users\MarekR22\Downloads>locale.exe
new locale is pl_PL!
1,2 1,3
1,200000 + 1,300000 = 2,500000
1.2 1.3

C:\Users\MarekR22\Downloads>

Linie 14 i 16 to ręczne wprowadzanie danych (linia 16 to nieudane wczytanie danych co kończy program).
Niestety żaden znany mi kompilator dostępny online nie wspiera polskiego locale.

Tak poza tym:

marysia12257 skomentowała(a):

Napisz program który pozwoli wprowadzić użytkownikowi liczbę rzeczywistą z przecinkiem zamiast kropki, zwiększ jej wartość o 0,001 a następnie wypisze wynik na ekranie również z przecinkiem. Dokonaj odpowiednich konwersji w osobnych funkcjach.

Ta treść zadania wskazuje na to, że nauczyciel niezbyt zna się na rzeczy (co widać po zaproponowanym przez mnie rozwiązaniu).

1 użytkowników online, w tym zalogowanych: 0, gości: 1