Wątek zablokowany 2019-11-27 12:44 przez cerrato.

ciągi znaków

0

mam zadanie: Napisz program, który pozwoli wprowadzić użytkownikowi liczbę rzeczywistą z przecinkiem zamiast kropki, zwiększy jej wartość o 0,001, a następnie wypisze wynik na ekranie również z przecinkiem. Dokonaj odpowiednich konwersji w osobnych funkcjach.
mam problem z tym zadaniem, niby sie kompiluje ale nie dziala dobrze, wydaje mi sie ze to przez pętle które mam ale nie wiem jak je poprawic ;/

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
void liczba (char str[])
{

    printf("podaj liczbe: \n");

    scanf("%f",str);
}

void funkcja(char str[], char str2[])

{

    char i, l;

    for(i=0; i<strlen(str); i++)

    {

        if(str[i]==',')

            str[i]='.';

        l=atof(str);
        l+=0.001;
        sprintf(str2,"%f",l);
        for (i=0; i<strlen(str);i++)
            if(str2[i]=='.')
                str2[i]=',';
            printf("liczba wynosi %s",str2);

          }
} 
int main()
{

    char str[100], str2[100];

    liczba(str);

    funkcja(str, str2);

    return 0;

}
1

Jak się kompiluje dobrze, przecież tam było pełno ostrzeżeń o czających się bugach:)

void liczba (char str[]){
	printf("podaj liczbe: \n");
	scanf("%s",str);
}

void funkcja(char str[], char str2[]){
	size_t i;
    float l;
	for(i=0; i<strlen(str); i++) {

        if(str[i]==',')
			str[i]='.';
	}
    l=atof(str);
    l+=0.001f;
    sprintf(str2,"%f",l);
    for (i=0; i<strlen(str);i++) {
            if(str2[i]=='.')
                str2[i]=',';
    }
    printf("liczba wynosi %s",str2);
} 

int main(){
	char str[100], str2[100];

    liczba(str);

    funkcja(str, str2);
	printf("\n");
	return 0;
}
0

Już było: https://4programmers.net/Forum/C_i_C++/333209-ciagi_znakow?p=1635521#id1635521
Nie rozumiem, po co autorka zakłada drugi wątek z tym samym.

0

@marysia12257: nie umieszczaj tego samego problemu w kilku wątkach, wcześniej już jeden w tej sprawie założyłaś (nawet go tak samo nazwałaś).

Wątek blokuję, odpowiedzi proszę zamieszczać we wcześniejszym - https://4programmers.net/Forum/C_i_C++/333209-ciagi_znakow?p=1635521

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