Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 18:49 22.06.24 
Компютри и Интернет
   >> .NET
Всички теми Следваща тема *Кратък преглед

Тема Задача на С++  
Автор elmindreda (непознат )
Публикувано19.02.06 19:51



Условието:
Да се напише програма на С++, която дефинира структури за елементите в един склад: име на продукта (тип чар с 15 символа); количество (налично) - цяло число, цена на единица бройка. Програмата да въвежда масив от тези структури (най-малко 10 такива елемента). Програмата да извежда меню от което да избираме:
1 - въвеждане на наличните количества в склада; и данните да се записват във файл.
2 - изготвяне на заявка от потребител:
Име на продукта; брой (да излиза) единична цена; двойна цена
Ако потребителят е въвел "енд" приключва заявката.
3 - отговор на заявката.

Ако някой може да направи нещо по-точно от това, ще съм много благодарна:


#include <iostream>
using namespace std;
#include <string.h>
#include <conio.h>
#define COUNT 10

typedef struct prod {
char name[15];
unsigned amount;
float cost;
} pr;
pr pa[COUNT], *pp;
unsigned wish[COUNT] = { 0 };

int menu()
{
int choice;
do
{
cout << "Select Your choice:" << endl;
cout << "0. Exit program;" << endl;
cout << "1. Input data;" << endl;
cout << "2. Select product by name;" << endl;
cout << "3. Responce from store." << endl;
cin >> choice;
}
while ((choice < 0) || (choice > 3));
return choice;
}

void input()
{
int i;
pp = pa;
FILE *fo = fopen("INVENT.TXT", "w");
for (i = 0; i < COUNT; i++)
{
cout << "Enter name of product[" << (i + 1) << "] (up to 15 characters) ";
cin >> pp->name;
cout << "Enter amount of product[" << (i + 1) << "] ";
cin >> pp->amount;
cout << "Enter cost of product[" << (i + 1) << "] ";
cin >> pp->cost;
fprintf(fo, "%s %lu %.2f\n", pp->name, pp->amount, pp->cost);
pp++;
}
fclose(fo);
}

pr *search()
{
pr t;
int i;
pp = pa;

cout << "Enter name of product ";
cin >> t.name;
for (i = 0; i < COUNT; i++)
if (!strcmp(t.name, pp->name))
{
cout << pp->name << " " << pp->amount << " " << pp->cost << " " << (pp->cost * 2.0) << endl;
do
{
cout << "How many (1.." << pp->amount << ") ";
cin >> wish;
}
while ((wish <= 0) || (wish > pp->amount));
return pp;
}
else
pp++;
if (i == COUNT)
return (NULL);
}

void print()
{
int i;

if (pp)
{
cout << pp->name << " ";
for (i = 0; i < COUNT; i++)
if (wish)
{
cout << wish << endl;
break;
}
}
else
cout << "No matches found" << endl;
}

main()
{
int m;
while (m = menu())
switch (m)
{
case 1:
input();
break;
case 2:
pp = search();
break;
case 3:
print();
break;
}
getch();
}



Тема Re: Задача на С++нови [re: elmindreda]  
Автор Fucus (Walther PP)
Публикувано20.02.06 10:47



Замени tab-овете в whitespace-a с интервали и ще цепи мрака.

Never fail, never quit!


Тема Re: Задача на С++нови [re: elmindreda]  
АвторCPP_Guy (Нерегистриран)
Публикувано04.07.06 23:33



I dont think that this program is functioning normally. You have declared an array of structures variable glablly pa[COUNT]. It means u have declared COUNT number of objects. but in function input(), you are using strange notion like pp-> name, pp->amount. If you want to store the user entered data into these structures, you need to use notations with subscript to tell the program in what variable you want to store a particular record.
Its always better to use linked lists for such kind of programs.




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.