Форум программистов, компьютерный форум CyberForum.ru

Написать программу, позволяющую создать файл с описанием товаров - C++

Восстановить пароль Регистрация
 
андрей994
Сообщений: n/a
12.06.2013, 23:30     Написать программу, позволяющую создать файл с описанием товаров #1
В магазине имеются различные товары, причем каждому товару в качестве
названия присвоен целочисленный код. Для контроля за наличием товара создается
ЛИТЕРНЫЙ файл, состоящий из записей, описывающих товары - по одной записи на
каждый товар. Запись имеет следующий вид (второй столбец - форматные
спецификации строки с форматами преобразований типов - второй параметр функции
fprintf)

Написать программу, позволяющую создать файл с описанием товаров.

Написать программу, позволяющую добавлять к существующему ЛИТЕРНОМУ файлу
новый товар с проверкой на наличие товара с таким же кодом в файле.
Если товар уже есть, то нужно принять решение - отказаться от него
или ДОБАВИТЬ привезенный товар к имеющемуся на складе.

Программа работает, но сверяет почему то код нового товара не с кодами уже существующих, а со всеми значениями, и с ценой и с колличеством и тд.
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <iostream>
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
FILE *fp;
int n,n3,n4,n5,n6,n7,n8,n9,n10,n11,a,b,c,d,Y,e,f,i,k;
float n2;
i=1;
if ((fp = fopen("tovar.txt", "a+")) == NULL)
 
printf("Faila net");
 
printf("Vvedite kod tovara ->");
scanf("%d", &n);
fprintf(fp, "%5d", n);
printf ("Vvedite cenu odnogo tovara ->");
scanf("%f", &n2);
fprintf(fp, "%10.2f", n2);
printf("Vvedite kolichestvo edinic tovara ->");
scanf("%d", &n3);
fprintf(fp, "%5d", n3);
printf("Vvedite den zavoza tovara ->");
scanf("%d", &n4);
fprintf(fp, "%2d", n4);
printf("Vvedite mesyac zavoza tovara ->");
scanf("%d", &n5);
fprintf(fp, "%2d", n5);
printf("Vvedite god zavoza tovara ->");
scanf("%d", &n6);
fprintf(fp, "%4d", n6);
printf("Vvedite mesyac istecheniya sroka godnosti tovara ->");
scanf("%d", &n7);
fprintf(fp, "%2d", n7)
printf("Vvedite god istecheniya sroka godnosti tovara ->");
scanf("%d", &n8);
fprintf(fp, "%4d", n8);
fprintf(fp,"\n");
fclose(fp);
 
Y:
fp=fopen("tovar.txt", "r+");
printf("Proverit cod tovara na nalichie ->"); // (тут он проверяет код нового товара в файле, но mпочему то проверяет не во всем файле а только в описании первого товара)
scanf("%d", &n9);
fscanf (fp,"%5d%10.2f%5d%2d%2d%4d%2d%4d",&n,&n2,&n3,&n4,&n5,&n6,&n7,&n8);
while(! feof(fp))
{
if (n9==n)
{
break;
}
else
{
fscanf (fp,"%5d%10.2f%5d%2d%2d%4d%2d%4d",&n,&n2,&n3,&n4,&n5,&n6,&n7,&n8);
}
}
if (n9==n)
{
printf ("tovar est na sclade. Dobavit? 1-da. 2-net.");
scanf ("%d", &n10);
if (n10==1)
{ 
printf("Vvedite kolichestvo edinic tovara ->");
scanf("%d", &n11);
c=-4;
n3=n3+n11;
fseek (fp,-c,SEEK_CUR);
fprintf(fp, "%5d", n3); 
fclose(fp);
return 0;
}
else 
{ 
return 0;
} 
}
fclose(fp);
fp=fopen("tovar.txt", "a+");
printf("Tovara na sclade net.Vvedite kod tovara ->");
scanf("%d", &n);
fprintf(fp, "%5d", n);
printf ("Vvedite cenu odnogo tovara ->");
scanf("%f", &n2);
fprintf(fp, "%10.2f", n2);
printf("Vvedite kolichestvo edinic tovara ->");
scanf("%d", &n3);
fprintf(fp, "%5d", n3);
printf("Vvedite den zavoza tovara ->");
scanf("%d", &n4);
fprintf(fp, "%2d", n4);
printf("Vvedite mesyac zavoza tovara ->");
scanf("%d", &n5);
fprintf(fp, "%2d", n5);
printf("Vvedite god zavoza tovara ->");
scanf("%d", &n6);
fprintf(fp, "%4d", n6);
printf("Vvedite mesyac istecheniya sroka godnosti tovara ->");
scanf("%d", &n7);
fprintf(fp, "%2d", n7);
printf("Vvedite god istecheniya sroka godnosti tovara ->");
scanf("%d", &n8);
fprintf(fp, "%4d", n8);
fclose(fp);
 
printf ("Prodolgit dobavlenie? 1-da. 2-net.");
scanf ("%d", &n10);
if (n10==1)
{
goto Y;
}
 
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2013, 23:30     Написать программу, позволяющую создать файл с описанием товаров
Посмотрите здесь:

Написать программу, позволяющую решать квадратные уравнения C++
За две недели надо написать программу с полным ее описанием по С++ C++
C++ Написать программу, позволяющую
Написать программу, позволяющую вывести на экран значения следующих логических выражений C++
Написать программу, позволяющую вывести на экран значения следующих логических выражений C++
Написать программу позволяющую по последней цифре числа определить последнюю цифру его квадрата C++
C++ написать программу с описанием класса Employee
C++ Написать программу позволяющую выводить информацию о системе

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 23:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru