Задачка на срезы по С
Задание такое:
Компания решила сделать дополнительный код для товара, который состоит из первых символов текстовых данных из полей «Код группы», «Название изделия», двух знаков * и трех последних цифр штрих-кода. Написать функцию, которая позволит это реализовать. Для реализации решения задачи информацию о коде группы, названии изделия и штрих-коде выводит пользователь.
Вот моя реализация, но она максимально костыльная. Как это можно лучше сделать?
#include <stdio.h>
#include <string.h>
int main(void)
{
int addCode() {
char code[100], name[100];
char barcode[10];
char result, codeSlice, nameSlice, barcodeSlice;
printf("Введите код группы: ");
scanf("%s", &code);
printf("Введите название изделия: ");
scanf("%s", &name);
printf("Введите штрих-код: ");
scanf("%s", &barcode);
codeSlice = code[0];
nameSlice = name[0];
result = codeSlice + nameSlice + "**" + barcode[8] + barcode[9] + barcode[10];
printf("Дополнительный код: %s", &result);
}
addCode();
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
У вас получается один символ, в который вы запихиваете сумму символов и адреса строки "**". По условию, как мне кажется, имеется в виду
char result[8] = " ** ";
result[0] = code[0];
result[1] = name[0];
strncpy(result+4,barcode+strlen(barcode)-3,3);
printf("%s\n",result);