示例#1
0
文件: main.c 项目: jereksel-PWR/AKiSO
int main(int argc, char *argv[])
{

	if (argc != 3)
	{
		printf("Składnia: <liczba> <liczba cyfr po przecinku>\n");
		exit(1);
	}

	char *czesciRownania[2];

	char *s2 = strtok(argv[1], ".");

	int p = -1;

	//Dzielimy, aby otrzymać liczby po przecinku
	while (s2 != NULL)
	{
		p++;
		czesciRownania[p] = s2;
		s2 = strtok(NULL, ".");
	}

	printf("0.");

	int a, i, temp;

	int *numbers;

	numbers = charArrayToIntArray(czesciRownania[1]);

	for (i = 0; i < atoi(argv[2]); i++)
	{

		temp = 0;

		for (a = sizeof(numbers)/sizeof(int); a >= 0; a--)
		{
			numbers[a] = 2 * numbers[a] + temp;
			temp = numbers[a] / 10;
			numbers[a] = numbers[a] % 10;
		}


		printf("%d", temp);


	}


	return 0;

}
示例#2
0
文件: test2.c 项目: Opentany/Tech
int myscanf(const char *format, ...)
{
	arraySizeValue = 0;
	char test[1024];
	char *source;
	int i, n = 0;
	int *number;
	va_list vl;

	if (read(0, test, 1024) < 0)
	{
		write(2, "An error occurred in the read.\n", 31);
	}


	va_start(vl, n);

	switch (format[1])
	{

		case 's':
			//String
			source = va_arg(vl, char*);

			//Dzia³a tylko dla tablic zadeklarowanych mallokiem

			memcpy(source, test, sizeof(source));

			break;


		case 'd':
			//Base 10

			number = va_arg(vl, int*);

			int integer = intArrayToInt(cleanIntArray(charArrayToIntArray(test), 10), 10);

			memcpy(number, &integer, sizeof(int));

			break;


		case 'b':
			//Base 2

			number = va_arg(vl, int*);

			int binary = intArrayToInt(cleanIntArray(charArrayToIntArray(test), 2), 2);

			memcpy(number, &binary, sizeof(int));

			break;

		case 'x':
			//Base 16

			arraySizeValue = arraySize(test);

			number = va_arg(vl, int*);

			int hex = intArrayToInt(cleanIntArray(charArrayToIntArray(hexFix(test)), 16), 16);

			memcpy(number, &hex, sizeof(int));

			break;

		default:
			break;

	}
	va_end(vl);
	return 0;
}