Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2010, 15:39   #1
nunj39
 
Регистрация: 24.05.2010
Сообщений: 3
По умолчанию магазин продуктов (структура массивов с функциями)

здраствуйте, О Великие программеры=)

есть вот такая вот прогга
#include<iostream>
using namespace std;
struct company
{

char name[12]; char kind[10];
int price; int amount;} target[20];
FILE *T;
int main()
{
wcout.imbue(locale(".866"));
int kol_vvoda=3;int vubop_funczii;int i=0;
char answer;
cout<<""<<endl<<endl;
while (answer!='n')
{ wcout<<L"\t\t\t ! Курсовая работа !"<<endl<<endl<<endl;
wcout<<L"\t\t Приветствуем вас в магазине Продукты \n"<<endl;
wcout<<L" 1.Ввести информацию о товаре"<<endl;
wcout<<L" 2.Добавление товара"<<endl;
wcout<<L" 3.Поиск по названию"<<endl;
wcout<<L" 4.Поиск по категории"<<endl;
wcout<<L" 5.Вывести всю информацию о товарах в наличии"<<endl;
wcout<<L" 6.Окончить пользование"<<endl;
wcout<<L" Итак, что вы выберете ?"<<endl;
cin>>vubop_funczii;
//Ввести информацию о товаре
if (vubop_funczii==1)
{
if((T=fopen("text.txt","w+b"))!=NUL L)
for (int i=0;i<kol_vvoda;i++)
{
puts ("Enter kind:");
scanf ("%s", target[i].kind);
puts ("Enter the name of product:");
scanf ("%s", target[i].name);
puts ("Enter price:");
scanf ("%d", &target[i].price);
puts ("Enter kol-vo:");
scanf ("%d", &target[i].amount);
cout<<endl;

fwrite (&target[i],sizeof(target[i]),1,T);
}
fclose(T);
}
//Добавление товара
if(vubop_funczii==2)
{
T=fopen("text.txt", "a");

for (int i=kol_vvoda;i<1+kol_vvoda;i++)
{
puts ("Enter kind:");
scanf ("%s", target[i].kind);
puts ("Enter the name of product:");
scanf ("%s", target[i].name);
puts ("Enter price:");
scanf ("%d", &target[i].price);
puts ("Enter kol-vo:");
scanf ("%d", &target[i].amount);
cout<<endl;

fwrite (&target[i],sizeof(target[i]),1,T);
}
kol_vvoda=kol_vvoda+1;
fclose(T);
}
//Поиск по названию
if (vubop_funczii==3)
{
char nam[20];
cout<<"Enter the name of production for search: "<<endl;
cin>>nam;
T=fopen("text.txt","r");
for(i=0; i<kol_vvoda; i++)
{
if((strcmp(target[i].name,nam))==0)
{
puts ("kind: ");
printf ("%s \n", target[i].kind);
puts ("name: ");
printf ("%s \n", target[i].name);
puts ("price: ");
printf ("%d \n", target[i].price);
puts ("amount: ");
printf ("%d \n", target[i].amount);
cout<<endl;
}
}
fclose(T);
}//Поиск по категории
if (vubop_funczii==4)
{
char naznachenie[20];
cout<<"Enter the kind of production"<<endl;
cout<<endl;
cin>>naznachenie;
T=fopen("text.txt","r");
for(i=0; i<kol_vvoda; i++)
{
if((strcmp(target[i].kind,naznachenie))==0)
{
puts ("kind:");
printf ("%s \n", target[i].kind);
puts ("name:");
printf ("%s \n", target[i].name);
puts ("price:");
printf ("%d \n", target[i].price);
puts ("amount");
printf ("%d \n", target[i].amount);
cout<<endl;
}
}
fclose(T);
}
//Вывести всю информацию о товарах в наличии
if (vubop_funczii==5)
{
T=fopen("text.txt","r+b");
for(int i=0;i<kol_vvoda;i++)
{
fread (&target[i], sizeof(target[i]), 1, T);
puts ("kind:");
printf ("%s \n", target[i].kind);
puts ("name:");
printf ("%s \n", target[i].name);
puts ("price:");
printf ("%d \n", target[i].price);
puts ("amount");
printf ("%d \n", target[i].amount);
cout<<endl;

}
fclose(T);
}
//Окончить пользование
if (vubop_funczii==6)
{wcout<<L"\n\t\t\tДо следующей встречи\n"<<endl;break;}
else
{
cout<<"Would you like back to menu?"<<endl;
cout<<" y - YES"<<endl<<" n -NO"<<endl;
if (answer=='n')
break;
cin>>answer;
}


}
i=0;
return 0;
}


все прекрассно работает...
ТОЛЬКО, надо добавить функцию изменения кол-ва товара!

ОЧЕНЬ ПРОШУ,помогите!!! завтра надо сдавать!!!
буду признателен!!
nunj39 вне форума Ответить с цитированием
Старый 24.05.2010, 15:50   #2
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Вот у тебя переменная kol_vvoda, которая как я понял и есть контроль кол-ва товаров. Просто где то после вывода надписи "Приветствуем вас в магазине Продукты" сделай её ввод, вот и все, например:
Код:
puts ("Kol-vo tovarov:");
scanf ("%d", &kol_vvoda);
profi вне форума Ответить с цитированием
Старый 24.05.2010, 17:06   #3
nunj39
 
Регистрация: 24.05.2010
Сообщений: 3
По умолчанию

эта переменная,на сколько я понимаю, это кол-во ввода первой функции..
а надо именно функция для изменения кол-ва товара в магазине...
ну т.е. мы вводим категорию,название товара,который нам надо изменить., берем его количество и пишем туда новое значение,заменяя то, что у нас было при вводе :

wcout<<L" 1.Ввести информацию о товаре"<<endl;
if (vubop_funczii==1)
puts ("Enter kol-vo:");
scanf ("%d", &target[i].amount);

с ув. nunj39

Последний раз редактировалось nunj39; 24.05.2010 в 18:21.
nunj39 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать программу:Даны сведения о наличии продуктов с их названиями в магазинах. artsss Паскаль, Turbo Pascal, PascalABC.NET 1 23.05.2010 17:46
определения магазина, в котором стоимость некоторой заданной корзины продуктов будет минимальной, Pascal real-people Помощь студентам 4 22.12.2008 20:32
программа продуктов модульной структуры 4ERRY Паскаль, Turbo Pascal, PascalABC.NET 12 06.12.2008 16:05
интернет магазин dimaxz HTML и CSS 18 04.09.2008 03:32