![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
||||
|
||||
zabivator |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 7.6.2006 Где: нск Репутация: 1 Всего: 2 |
Хм. За 500 рублей сделаю. Меньше не возьмусь. Это оплата двух дней моих работы в конторе. Я на каникулах. Тебя устравивает вариант?
--------------------
#include <zabivator>int main( int, char * [] ){ while( Zabivator::жив() ) Zabivator::моск()++; return 0;} |
|||
|
||||
wnayk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.12.2006 Репутация: нет Всего: нет |
![]() ![]() |
|||
|
||||
zabivator |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 7.6.2006 Где: нск Репутация: 1 Всего: 2 |
wnayk, время штука сложная. Мне его вечно не хватает. Я с радостью помогаю советом. Но надо понимать разницу между советом и готовой программой.
--------------------
#include <zabivator>int main( int, char * [] ){ while( Zabivator::жив() ) Zabivator::моск()++; return 0;} |
|||
|
||||
wnayk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.12.2006 Репутация: нет Всего: нет |
zabivator, Я тебя и не просил готовую прогу. А че за х..я такая :
--------------------Configuration: кур2 - Win32 Debug-------------------- Compiling... Skipping... (no relevant changes detected)-это че означает?????? кур2.cpp Linking... кур2.exe - 0 error(s), 0 warning(s) Добавлено @ 17:52 zabivator, А вот попробуй запусти у себя эту прогу на компе ГОТОВАЯ ПРЧТИ ЧТО ПРОГА::: #include <iostream> #include <windows.h> using namespace std; char* rus(const char* text); void Disk (char den [],char mes [],char god [],int pok,char naim [],char ediz [],char price [] ,int kol); int kolvo (); struct Spisok *Loading (char den [],char mes [],char god [],int pok,char naim [],char ediz [],char price [] ,int kol); void Load (Spisok **begin,char den [],char mes [],char god [],int pok,char naim [],char ediz [],char price [] ,int kol); int Podchet (Spisok **begin); void Pech (Spisok **begin); void Exit (Spisok **begin); void Save (Spisok **begin); int ForFIO (char a[]); int ForCHIS (char a[]); void Opis (Spisok **begin,char naim []); int Srav (Spisok **begin, char naim[]); void MainMenu (); void Prodat (Spisok **begin,int pok,char naim [],char price [],char ediz [],int kol); void Ucenka (Spisok **begin,int pok,char naim [],char price []); void Dobav (Spisok **begin,char den [],char mes [],char god [],int pok,char naim [],char ediz [],char price [],int kol); int Perevod (char pl[]); struct Spisok // Структура содержит данные лишь об одной книге! { char d[3]; // Уникальный номер для каждой книги // день завоза char m[3]; // Месяц завоза char g[5]; // Год завоза int p; // Индикатор наличия данной книги в библиотеке // индикатор наличия товара char a[45]; // Фамилия и инициалы автора книги // Наименование товара! char n[45]; // Полное название книги // Цена единицы! char e[20]; // Год издания книги // Единица измерения! int k; // Количество экземпляров данной книги // Количество товара Spisok *next; }; //-----ГЛАВНАЯ ФУНКЦИЯ-------- int main () { cout << rus(" ***************************\n**МАГАЗИН С ОДНИМ ПРОДАВЦОМ**\n ***************************\n\n"); int a,b,d=0; FILE *fp; char abc[3]; Spisok *begin; char den [3];// День завоза char mes [3];// Месяц завоза char god [5];// Год завоза int pok=0;// Индикатор наличия товара char naim [51];// Наименование товара! char price [51]; // Цена единицы! char ediz [10]; // Еденица измерения! int kol=0;// Количество товара fp=fopen ("data.txt","r"); if (fp==NULL) { Disk (den,mes,god,pok,naim,price,ediz,kol); } else { fclose (fp); } begin=Loading(den,mes,god,pok,naim,price,ediz,kol); metka: ; a=kolvo (); // Мы узнали количество карточек в картотеке b=Podchet (&begin); // Подсчет карточек в памяти cout << rus(" Объем базы на диске: ") << a << endl; cout << rus(" База загружена память объёмом: ") << b << "\n"<< endl; if (d) { cout << rus(" База товаров изменена! Рекомендуется сохраниться!\n") << endl; } MainMenu (); do { cout << rus(" Ваш выбор: "); gets (abc); } while ((strlen(abc)==0)||(strlen(abc)>1)); switch (abc[0]) { case '1': { Dobav (&begin,den,mes,god,pok,naim,price,ediz,kol); d=1; } break; case '2': { Pech (&begin); } break; case '3': { Prodat (&begin,pok,naim,price,ediz,kol); d=1; break; } case '4': { Ucenka (&begin,pok,naim,price); d=1; } break; case '6': { do { cout << rus(" Перезаписать текущую базу товаров?") << "(Y/N)"; gets (abc); } while ((strlen(abc)==0)||(strlen(abc)>1)); if ((abc[0]=='Y')||(abc[0]=='y')) { Save (&begin); d=0; } else cout << rus(" Сохранения НЕ произошло!\n\n"); } break; case '7': { do { cout << rus(" Выходим?") << "(Y/N) "; gets (abc); } while ((strlen(abc)==0)||(strlen(abc)>1)); if ((abc[0]=='Y')||(abc[0]=='y')) { do { cout << rus(" Сохраняемся?") << "(Y/N) "; gets (abc); } while ((strlen(abc)==0)||(strlen(abc)>1)); if ((abc[0]=='y')||(abc[0]=='Y')) { Save (&begin); d=0; } Exit (&begin); // Высвобождение всей картотеки из памяти } case '5': { Opis (&begin,naim); break; } } break; default: cout << rus(" Невыполнимая команда!\n"); } goto metka; return 0; } //----РУСИФИКАТОР---- char bufer[100]; char* rus(const char* text) { CharToOem(text,bufer); return bufer; } //------НАЧАЛЬНОЕ ФОРМИРОВАНИЕ------ void Disk (char den [],char mes [],char god [],int pok,char naim [],char price [],char ediz [],int kol) { pok=1; kol=1; FILE *fp; naim [0]='0'; den [0]='0'; price [0]='*'; ediz [0]='0'; naim [1]='3'; den [1]='0'; price [1]='*'; ediz [1]='0'; naim [2]='3'; den [2]='\0'; price [2]='*'; ediz [2]='0'; naim [3]='2'; mes [0]='1'; price [3]='*'; ediz [3]='0'; naim [4]='3'; mes [1]='1'; price [4]='\0'; ediz [4]='\0'; naim [5]='\0'; mes [2]='\0'; god [0]='0'; god [1]='1'; god [2]='2'; god [3]='3'; god [4]='\0'; fp=fopen ("data.txt","w"); fprintf (fp,"%s.",den); fprintf (fp,"%s.",mes); fprintf (fp,"%s\n",god); fprintf (fp,"%d\n",pok); fprintf (fp,"%s\n",naim); fprintf (fp,"%s\n",price); fprintf (fp,"%s\n",ediz); fprintf (fp,"%d\n",kol); fclose (fp); } //-----КОЛИЧЕСТВО СОХРАНЕННЫХ ДАННЫХ------- int kolvo () { int k=0; char a[51]; FILE *f; f=fopen("data.txt","r"); while (!feof(f)) { fscanf(f,"%s",a); k++; } fclose (f); return ((k-1)/6); } //-----ЗАГРУЗКА ДАННЫХ ИЗ ФАЙЛА----- struct Spisok *Loading (char den [],char mes [],char god [],int pok,char naim [],char price [],char ediz [],int kol) { int a=-1,b=0; FILE *fp; Spisok *aa; Spisok *d; fp=fopen ("data.txt","r"); fscanf(fp,"%s",den); fprintf(fp,"%s.",mes); fprintf(fp,"%s.\n",god); fscanf(fp,"%d",&pok); fscanf(fp,"%s",naim); fscanf(fp,"%s",price); fscanf(fp,"%s",ediz); fscanf(fp,"%d",&kol); aa=new Spisok; strcpy(aa->d,den); strcpy(aa->m,mes); strcpy(aa->g,god); aa->p=pok; strcpy(aa->a,naim); strcpy(aa->n,price); strcpy(aa->e,ediz); aa->k=kol; aa->next=0; d=aa; a=kolvo (); b=1; while ((!feof(fp))&&(b<a)) { fscanf(fp,"%s",den); fscanf(fp,"%s.",mes); fscanf(fp,"%s.\n",god); fscanf(fp,"%d",&pok); fscanf(fp,"%s",naim); fscanf(fp,"%s",ediz); fscanf(fp,"%s",price); fscanf(fp,"%d",&kol); Load (&d,den,mes,god,pok,naim,price,ediz,kol); b++; } fclose (fp); cout << rus(" Загружено: ") << b << endl; return d; } //------ДОБАВЛЕНИЕ К КОНЦУ ПРИ ЗАГРУЗКЕ------------- void Load (Spisok **begin,char den [],char mes [],char god [],int pok,char naim [],char price [],char ediz [],int kol) { Spisok *t=*begin; Spisok *t1; Spisok *aa; while (t) { t1=t; t=t->next; } aa=new Spisok; strcpy(aa->d,den); strcpy(aa->m,mes); strcpy(aa->g,god); aa->p=pok; strcpy(aa->a,naim); strcpy(aa->n,price); strcpy(aa->e,ediz); aa->k=kol; aa->next=0; t1->next=aa; } //-------КОЛИЧЕСТВО ДАННЫХ В ПАМЯТИ--------- int Podchet (Spisok **begin) { Spisok *t=*begin; int k=0; while (t) { k++; t=t->next; } return k; } //--------ПЕЧАТЬ ДАННЫХ--------------------- void Pech (Spisok **begin) { Spisok *t=*begin; while (t) { cout << rus(" Наименование товара: ") << t->a << endl; cout << rus(" Дата последнего завоза: ") << t->d << "." << t->m << "." << t->g << endl; cout << rus(" Цена товара: ") << t->n; cout << rus(" руб за 1 ") << t->e << endl; cout << rus(" Количество товара: ") << t->k << " " << t->e << "\n" << endl; t=t->next; } } //------ВЫХОД ИЗ ПРОГРАММЫ--------- void Exit (Spisok **begin) { Spisok *t=*begin; Spisok *t1; int n=0; while (t) { t1=t->next; delete t; n++; t=t1; } cout << rus("Выгружено: ") << n << "\n" << endl; exit (0); } //------СОХРАНЯЕМСЯ В ФАЙЛ--------- void Save (Spisok **begin) { int n=0; Spisok *t=*begin; Spisok *t1; FILE *fp; fp=fopen ("data.txt","w"); while (t) { t1=t->next; fprintf(fp,"%s.",t->d); fprintf(fp,"%s.",t->m); fprintf(fp,"%s\n",t->g); fprintf(fp,"%d\n",t->p); fprintf(fp,"%s\n",t->a); fprintf(fp,"%s\n",t->n); fprintf(fp,"%s\n",t->e); fprintf(fp,"%d\n",t->k); t=t1; n++; } cout << rus("Сохранено: ") << n << "\n" << endl; fclose (fp); } //---------ИНДИКАЦИЯ ЧИСЕЛ-------- int ForCHIS (char a[]) { int i,n=0; n=strlen (a); for (i=0;i<n;i++) { if (((a[i]<'0')||(a[i]>'9'))&&(a[i]!=':')) { return 1; } } return 0; } //--------ИНДИКАЦИЯ СЛОВ--------------- int ForFIO (char a[]) { int i,n=0; n=strlen (a); for (i=0;i<n;i++) { if (((a[i]<'A')||(a[i]>'Z'))&&((a[i]<'a')||(a[i]>'z'))) { return 1; } } return 0; } //--------ФУНКЦИЯ СРАВНЕНИЯ------------ int Srav (Spisok **begin, char naim[]) { Spisok *t=*begin; int a=0; while (t) { a=strcmp(t->a,naim); if (a==0) { return 2; } else { t=t->next; } } return 0; } //----------ГЛАВНОЕ МЕНЮ-------- void MainMenu () { cout << rus(" 1 - Добавить информацию о новом товаре\n");// Добавление книги cout << rus(" 2 - Инвентаризация товаров\n"); // Просмотр базы cout << rus(" 3 - Оформление покупки\n"); // Выдать книгу cout << rus(" 4 - Уцека товаров\n"); // Возврат обратно книги cout << rus(" 5 - Опись товаров\n");// Поиск по запросу cout << rus(" 6 - Сохранить изменения\n"); cout << rus(" 7 - Выйти из программы\n\n"); } //----------ПОИСК------------------ void Opis (Spisok **begin,char naim []) { int a=0,k=0,dlina,d=0; Spisok *t=*begin; Spisok *t1; do { cout << rus("Наименование товара: "); gets (naim); a=ForFIO (naim); dlina=strlen(naim); if (a) { cout << rus("ОШИБКА! Недопустимый символ!\n"); } } while ((dlina==0)||(dlina>50)||(a)); while (t) { t1=t->next; k=strcmp(t->a,naim); if (k==0) { d=1; cout << rus("\nНАЙДЕН РЕЗУЛЬТАТ:\n"); cout << rus("Цена товара: ") << t->n << " " << t->e << endl; cout << rus("Количество в наличии: ") << t->k << endl; } t=t1; } if (d==0) { cout << rus("Такой книги не найдено!\n"); } } //------------ВЫДАТЬ КНИГУ НА РУКИ------------ void Prodat (Spisok **begin,int pok,char naim [],char price [],char ediz [],int kol) { int a=0,k1=0,dlina,d=0,chetchik=0; Spisok *t=*begin; Spisok *t1; do { cout << rus("Укажите наименование товара: "); gets (naim); a=ForFIO (naim); dlina=strlen(naim); if (a) { cout << rus("ОШИБКА! Недопустимый символ!\n"); } } while ((dlina==0)||(dlina>50)||(a)); while (t) { t1=t->next; k1=strcmp(t->a,naim); if (k1==0) { d=1; cout << rus(" Цена товара: ") << t->n << rus(" руб за 1 ") << t->e << endl; t->p=0; } t=t1; } t=*begin; while (t) { t1=t->next; k1=strcmp(t->a,naim); if ((k1==0)&&((t->p)==1)) { chetchik=chetchik-1; // Количество книг уменьшилось на 1 } t=t1; } t=*begin; while (t) { t1=t->next; k1=strcmp(t->a,naim); if ((k1==0)&&((t->p)==1)) { t->k=chetchik; // Применяем изменения } t=t1; } if (d==0) { cout << rus("Такого товара нет в наличии!\n"); } } //------ВОЗВРАТ КНИГИ В БИБЛИОТЕКУ----------- void Ucenka (Spisok **begin,int pok,char naim [],char price []) { int a=0,k1=0,l=0,m=0,dlina,d=0,chetchik=0; Spisok *t=*begin; Spisok *t1; do { cout << rus("Укажите наименование товара: "); gets (naim); a=ForFIO (naim); dlina=strlen(naim); if (a) { cout << rus("ОШИБКА! Недопустимый символ!\n"); } } while ((dlina==0)||(dlina>20)||(a)); while (t) { t1=t->next; k1=strcmp(t->a,naim); if (k1==0) { d=1; cout << rus("Цена товара ДО уценки: ") << t->n << rus(" руб за 1 "); cout << t->e << endl; cout << rus("Укажите новую цену: "); gets (price); a=ForCHIS (price); dlina=strlen(price); if (a) { cout << rus("ОШИБКА! Недопустимый символ!\n"); } if (! strcmp(t->n,price)) { cout << rus("Именно ЭТА цена у данного товара!"); } strcpy(t->n,price); cout << rus("Теперь у данного товара цена: ") << t->n << rus(" руб за 1 "); cout << t->e << endl; } break; t=t1; } } //-------ДОБАВЛЕНИЕ НОВОЙ КНИГИ----------- void Dobav (Spisok **begin,char den [],char mes [],char god [],int pok,char naim [],char price [],char ediz [],int kol) { int dlina=0,b=0,abc=1,a,x,y,z,c=0; char kol1 [11]; Spisok *pp; Spisok *aa=*begin; Spisok *t1; Spisok *t=*begin; do { cout << rus("Укажите наименование товара: "); gets (naim); a=ForFIO (naim); dlina=strlen(naim); if (a) { cout << rus("ОШИБКА! Недопустимый символ!\n"); } abc=Srav (&aa,naim); if (abc) { do { cout << rus("Такой товар уже имеется в наличии!\n"); cout << rus("Укажите количество ввозимого товара: "); gets(kol1); a=ForCHIS(kol1); dlina=strlen(kol1); if (a) { cout << rus("ОШИБКА! Недопустимый символ!\n"); } kol=Perevod (kol1); cout << rus("Теперь количество данного товара стало: ") << kol; } while((dlina==0)||(dlina>50)||(a)); } } while ((dlina==0)||(dlina>50)||(a)); do { cout << rus("Укажите цену товара: "); gets (price); dlina=strlen (price); a=ForCHIS(price); if(a) { cout << rus("ОШИБКА! Недопустимый символ!\n"); } } while ((dlina==0)||(dlina>50)); do { cout << rus("Укажите единицу измерения: "); gets (ediz); a=ForFIO (ediz); dlina=strlen(ediz); if (a) { cout << rus("ОШИБКА! Недопустимый символ!\n"); } } while ((dlina==0)||(dlina>10)||(a)); metka1:; do { cout << rus("Укажите дату завоза: ") << endl; cout << rus("Укажите число: "); gets (den); a=ForCHIS (den); dlina=strlen(den); if (a) { c=2; } cout << rus("Укажите месяц: "); gets (mes); a=ForCHIS (mes); dlina=strlen(mes); if (a) { c=2; } cout << rus("Укажите год: "); gets (god); a=ForCHIS (god); dlina=strlen(god); if (a) { c=4; } if © { cout << rus("ОШИБКА!!! Недопустимый символ!\n"); } } while ((strlen(den)==0)||(strlen(den)>2)||(strlen(mes)==0)||(strlen(god)>4)||©); x=Perevod (den); y=Perevod (mes); z=Perevod (god); if (((x<1)||(x>31))||((y<1)||(y>12))||((z<1)||(z>9999))) { goto metka1; } do { cout << rus("Укажите количество товара: "); gets (kol1); a=ForCHIS (kol1); dlina=strlen(kol1); if (a) { cout << rus("ОШИБКА! Недопустимый символ!\n"); } } while ((dlina==0)||(dlina>10)||(a)); kol=Perevod (kol1); if(abc==0) { while (t) { t1=t; t=t->next; } pp=new Spisok; strcpy(pp->d,den); strcpy(pp->m,mes); strcpy(pp->g,god); pp->p=pok; strcpy(pp->a,naim); strcpy(pp->n,price); strcpy(pp->e,ediz); pp->k=kol; pp->next=0; pp->next=0; t1->next=pp; } b=Podchet (&aa); cout << rus("Количество данных: ") << b << "\n" << endl; } //--------ПЕРЕВОД СТРОКИ В ЧИСЛО------------ int Perevod (char pl[]) { int a=0,b; for (b=0;b<strlen (pl);b++) a=a*10+pl[b]-'0'; return a; } Она у меня после сохранения выдает Виндосовскую Ошибку(отправлять,не отправлять оштчет и все такое ) Че такое?!Помоги пожалуйста |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Ну ... такой пост читать !
Прикрепил бы файл! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |