Zdravím, mám menší problém s výstupem, potřeboval bych ho ve stringu, fce _gcvt by měla double zkonvertovat na string, ale pouze s omezeným počtem znaků. dá se nějakým způsobem udělat neomezená počet ? a aby tam bylo i neomezené desetinné misto ?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
double string2double(char *s)
{
double d;
char *p = strchr(s, ','), *end;
if (p) *p = '.';
d = strtod(s, &end);
if (*end != 0) d = 0;
return d;
}
int main(int argc, char * argv[])
{
char s1[1000], s2[1000], s3[1000];
char opak;
double d1, d2, d3;
do{
scanf("%s\n",s1);
scanf("%s",s2);
setlocale(LC_NUMERIC, "C");
d1 = string2double(s1);
d2 = string2double(s2);
d3=d1*d2;
_gcvt(d3, 1000, s3);
printf("%s", s3);
printf("\n\n Opakovat? a/n:");
scanf("\n%c", &opak);
printf("\n");
}while(opak=='a' || opak=='A');
return 0;
}