Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.11.2022
Сообщений: 13

Добавление товаров в txt файл

27.12.2022, 17:18. Показов 1405. Ответов 23
Метки txt, си (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите программу, которая выводит содержимое файла txt. Затем он запрашивает у пользователя название товара и цену, добавляет их в файл, выводит новое содержимое и завершает операцию. При последующих запусках программа должна генерировать последовательные номера элементов.

Как должно выглядеть:

Содержимое файла:
1 Велосипед 432
2 Монитор 200

Добавьте новый элемент:
Название: Шлем
Цена: 376

Содержание файла:
1 велосипед 432
2 Монитор 200
3 Шлем 376

Вот, что я смогла сделать:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char const *argv[]) {
  FILE *out = fopen("file.txt", "a");
  if (out == NULL) {
      perror("Nie udalo sie otworzyc pliku.");
      return 1;
  }
 
  int k = 0;
 
  // здесь должен быть код для вывода содержимого + подсчет кол-ва строк k
 
  char nazwa[30];
  char cena[10];
 
  printf("\nДобавьте новый предмет:\nНазвание: ");
  scanf("%s", &nazwa);
  printf("Цена: ");
  scanf("%s", &cena);
  k++;
  printf("%i", k);
  char ks[10];
  sprintf(ks, "%i", k);
  fputs("\n", out);
  fputs(ks, out);
  fputs(" ", out);
  fputs(nazwa, out);
  fputs(" ", out);
  fputs(cena, out);
 
  fclose(out);
  return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.12.2022, 17:18
Ответы с готовыми решениями:

Добавление в базу данных товаров, удаление товаров, редактирование товаров
Подскажите, насколько сложно и вообще можно ли реализовать на WP следующие вещи. 1) Добавление в базу данных товаров, удаление...

Поиск строк в одном txt-файле и добавление этих строк в другой txt-файл
Добрый день! Помогите, пожалуйста, разобраться. У меня лог файл, из которого мне нужно получить строки, в которых содержится...

Записать 200 случайных чисел в файл a.txt. В файл b.txt вывести четные, а в файл c.txt нечетные
Записать 200 случайных чисел в файл a.txt. В файл b.txt вывести четные, а в файл c.txt нечетные.

23
Лежебока
 Аватар для Donkix
328 / 244 / 95
Регистрация: 12.05.2021
Сообщений: 1,429
Записей в блоге: 1
27.12.2022, 22:26
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Underworld69 Посмотреть сообщение
Я не знаю, как это написать.. Не будет подсказки случаем?)
Научись работать в fseek
0
0 / 0 / 0
Регистрация: 23.11.2022
Сообщений: 13
27.12.2022, 22:28  [ТС]
Спасибо, но в таком коде проблема с подсчетом строк и выводом остается

Добавлено через 1 минуту
Цитата Сообщение от Donkix Посмотреть сообщение
Научись работать в fseek
Почитаю, спасибо
0
Лежебока
 Аватар для Donkix
328 / 244 / 95
Регистрация: 12.05.2021
Сообщений: 1,429
Записей в блоге: 1
27.12.2022, 22:29
Чисто для вывода содержимого, могу подсказать функцию
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void cat(const char* filename)
{
    system("chcp 65001 > nul");
    char ch;
    FILE *file = fopen(filename, "rt");
    while (!feof(file) && !ferror(file))
    {
        ch = getc(file);
        if (ch != EOF)
            putchar(ch);
    }
    putchar('\n');
    fclose(file);
}
1
0 / 0 / 0
Регистрация: 23.11.2022
Сообщений: 13
27.12.2022, 22:50  [ТС]
Проблема решена, скину код, вдруг кому понадобится(текст на польском, но думаю и так разобраться можно):

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <stdio.h>
#include <stdlib.h>
 
void cat(const char* filename)
{
  char ch;
  FILE *out = fopen(filename, "rt");
  while (!feof(out) && !ferror(out)) {
    ch = getc(out);
    if (ch != EOF)
      putchar(ch);
    }
  putchar('\n');
  fclose(out);
}
 
int cnt(const char* filename)
{
  int k = 1;
  FILE *out = fopen(filename, "rt");
  while (!feof(out))
    {
        if (fgetc(out) == '\n')
            k++;
  }
  return k;
}
 
int main(int argc, char const *argv[]) {
  FILE *out = fopen("file.txt", "a");
  if (out == NULL) {
      perror("Nie udalo sie otworzyc pliku.");
      return 1;
  }
 
  int k = cnt("file.txt");
 
  cat("file.txt");
 
  char nazwa[30];
  char cena[10];
 
  printf("\nDodaj nowy przedmiot:\nNazwa: ");
  scanf("%s", &nazwa);
  printf("Cena: ");
  scanf("%s", &cena);
  k++;
  char ks[10];
  sprintf(ks, "%i", k);
  fputs("\n", out);
  fputs(ks, out);
  fputs(" ", out);
  fputs(nazwa, out);
  fputs(" ", out);
  fputs(cena, out);
 
  fclose(out);
 
  cat("file.txt");
  return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.12.2022, 22:50

Дан файл вещественных чисел a1.txt. Переписать в файл а2.txt все ненулевые элементы файла а1.txt.
Дан файл вещественных чисел a1.txt. Переписать в файл а2.txt все ненулевые элементы файла а1.txt.

Добавление записей в .txt файл
Добрый день. Столкнулся с проблемой. Просьба посмотреть этот скриншот http://s001.***********/i195/1303/b9/56e359b1f04d.png Есть...

Добавление в txt файл из textbox
Как сделать , что бы при нажатии кнопки все что написано в textbox добавлялось в txt файл?

Добавление записи в TXT файл
Доброго времени суток,такая проблема возникла,надо записать в файл TXT который лежит в той же директории что и exe файл строку,файл...

Написать программу записи в файл f1.txt программы на языке С++. Переписать в файл f2.txt содержимое f1.txt
Написать программу записи в файл f1.txt программы на языке С++. Переписать в файл f2.txt содержимое f1.txt без комментариев.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru