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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Keeper
Сообщений: n/a
#1

програмный код - C++

12.07.2012, 14:18. Просмотров 366. Ответов 1
Метки нет (Все метки)

Помогите плиз разобраться.Написали прогу, немогу понять как она работает.Конкретно нужны красные участки, если можно поподробнее)
1) Add/Dell:
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
//add/dell.h
//интерфейс модуля add/del
#ifndef add/dell_h 
#define add/dell_h
#endif
//add/dell.cpp
//реализация модуля «add/del»
 int readmsg(char*s){
 puts(stdout,s);
 gets(stdin,s1);
 int i=0;
 while(s1[i]){
 if(s1[i]=='|') s1[i]=' '; ++i; };
 return i;}
 int readtot(char*s,int n){
 puts(stdout,"total:");
 n2s(n,s1);
 puts(stdout,s1);
 return readmsg(s); }//Флаг о том что что-то было изменено
 int changed;
 char*sn[6];
 void do_new0(){ int l,n;
 l=readmsg("Наименование: ");   
 if(l==0) return;
 sn[0]=new_str(s1);
 do{ n=readmsg("Количество (D): ");   
 if(n==0) return;
 }while(checknum(s1,n));   
 sn[1]=new_str(s1); l+=n;
 do{ n=readmsg("Стоимость (D.dd): ");    
 if(n==0) return;
 }while(checkfix(s1,n));       
 sn[2]=new_str(s1); l+=n;
 do{ n=readmsgДатасоздания (dd.mm.yyyy): ");
 if(n==0) return;
 }while(checkdat(s1,n));   
 sn[3]=new_str(s1); l+=n;
 do{ n=readmsg("Дата покупки (dd.mm.yyyy): ");
 if(n==0) return;
 }while(checkdat(s1,n));     
 sn[4]=new_str(s1); l+=n;
readmsg("Примечание: ");     
sn[5]=new_str(s1); l+=n;
char*s=(char*)new_mem(l+5+1);
ladd(lst,s); changed=1;
for(n=0;n<6;++n){ 
s=scopy(sn[n],s);
if(n!=5) *s++='|'; }}
void do_new(){
do_new0(); 
for(int n=0;n<6;++n){
free_mem(sn[n]);
sn[n]=0; }}
void do_del(){ int n;
do{ if(readmsg("Номер записи  ")==0) return; }
while(s2n(s1,&n)||n==0||n>lst->count);
ldel(lst,n-1); changed=1; } 
int scmp(char*s,char*d,int l){
while(l>0){
if(*s<*d) return -1;
if(*s>*d) return 1; ++s; ++d; --l; };
return 0; }
 
int cmp_num(char*s,char*d,int l){       
int n=slen(d);
if(l>n) return 0;
if(l==n&&scmp(s,d,l)>0) return 0;
return 1; }
 
int cmp_fix(char*s,char*d,int l){       
int n=slen(d); 
if(l<n) return 0;
if(l==n&&scmp(s,d,l)<0) return 0;
return 1; }
 
int cmp_dat(char*s,char*d,int l){       
l=scmp(s+6,d+6,4); if(l>0) return 0; 
if(l==0){
l=scmp(s+3,d+3,2); if(l>0) return 0;
if(l==0){
l=scmp(s+0,d+0,2);
if(l>0) return 0; }};
return 1; }
Модуль поиска элемента по требуемым критериям

2) Search:
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
116
117
118
119
120
121
122
123
124
125
126
127
128
//search.h
//интерфейс модуля search
#ifndef search_h 
#define search_h
#endif
//search.cpp
//реализация модуля «search»
 
void wrquery(tlist*l){
int y=0;
for(;; ){
y=wrlist(l,y);
readtot("  1:Следующий экран * 2:Предыдущий экран *  0:Выход\n",l->count);
switch(s1[0]){
case  0:
case '0': return;
case '1': y+=23; break;
case '2': y-=23; break;
};
};
}
 
void query1(){ int n;
do{ n=readmsg("Количество <= ");
if(n==0) return; }
while(checknum(s1,n));
tlist*l=new_list();
int i=-1,k;
char*s;
while(++i<lst->count){
s=get((*lst->buf)[i],&k);
get(s,&k);
if(k>n) continue;
if(k==n&&scmp(s,s1,k)>0) continue;
ladd(l,(*lst->buf)[i]); };
if(cmp_num(s,s1,k)) ladd(l,(*lst->buf)[i]); };
wrquery(l);
l->count=0;
lfree(l); }
 
void query2(){
int n;
do{ n=readmsg("Стоимость >= "); 
if(n==0) return; }
while(checkfix(s1,n));
tlist*l=new_list();
int i=-1,k; 
char*s;
while(++i<lst->count){
s=get((*lst->buf)[i],&k);
s=get(s,&k);
get(s,&k);
if(k<n) continue;
if(k==n&&scmp(s,s1,k)<0) continue;
ladd(l,(*lst->buf)[i]); };
if(cmp_fix(s,s1,k)) ladd(l,(*lst->buf)[i]); };
wrquery(l);
l->count=0;
lfree(l); }
 
void query3(){ 
int n;
do{ n=readmsg("Дата создания <= "); 
if(n==0) return; }
while(checkdat(s1,n));
tlist*l=new_list();
int i=-1,k;
char*s;
while(++i<lst->count){
s=get((*lst->buf)[i],&k);
s=get(s,&k);
s=get(s,&k); 
get(s,&k);
k=scmp(s+6,s1+6,4);
if(k>0) continue;
if(k==0){
k=scmp(s+3,s1+3,2);
if(k>0) continue;
if(k==0){
k=scmp(s+0,s1+0,2);
if(k>0) continue; }};
ladd(l,(*lst->buf)[i]); };
if(cmp_dat(s,s1,k)) ladd(l,(*lst->buf)[i]); };
wrquery(l);
l->count=0;
lfree(l); }
 
void query4(){
int n1,n2,n3;
do{ n1=readmsg("Љ®«ЁзҐбвў® <= "); 
if(n1==0) break;}
while(checknum(s1,n1));
sn[0]=new_str(s1);
do{ n2=readmsg("‘в®Ё¬®бвм  >= ");  
if(n2==0) break;}
while(checkfix(s1,n2)); 
sn[1]=new_str(s1);
do{ n3=readmsg("„ в  б®§¤ *Ёп <= "); 
if(n3==0) break;}
while(checkdat(s1,n3));
sn[2]=new_str(s1);
tlist*l=new_list();
int i=-1,k;
            char*s,*ss;
while(++i<lst->count){
s=get((*lst->buf)[i],&k);
ss=get(s,&k);
if(n1&&!cmp_num(s,sn[0],k)) continue;
s=ss;
ss=get(s,&k);
if(n2&&!cmp_fix(s,sn[1],k)) continue;
s=ss;
get(s,&k);
if(n3&&!cmp_dat(s,sn[2],k)) continue;
ladd(l,(*lst->buf)[i]); };
wrquery(l);
l->count=0;
lfree(l);
free_sn(); }
void do_query(){
readmsg("1:Самые редкие2:Самые дорогие 3:Самые древние 4:Сложный фильтр  0:Выход");
switch(s1[0]){
case '1': query1(); break;
case '2': query2(); break;
case '3': query3(); break;
case '4': query4(); break;
};
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2012, 14:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос програмный код (C++):

Подредактировать програмный код - C++
У меня такое задание, программа покадрогвого просмотра файлов. Ну тоесть как я понял, посимвольного считывания строк, Которая выдает код...

Вставка поиска в програмный код - C++
#include &lt;iostream.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; FILE *fl; typedef...

Напишите пожалуйста програмный код) - C++
Здраствуйте! Помогите пожалуйста бедной)С++ 1)Написать программу используя функциюкоторая определяет:является ли число целым(с с помощью...

блок-схема алгоритма и програмный код функции - C++
Прошу помочь с данным заданием. Напишите блок-схему алгоритма и програмный код функции с коментариями. Для функции передаваемые...

нужно написать програмный код для решения задачи создания бинарного файла - C++
:cry: Написать програмный код для решения задачи создания бинарного файла.

програмный поиск файла! - C++
народ помогите пожалуйста)мне надо написать код чтобы можно было найти какой либо файл на жестком.. как это можно осуществить на c++?

1
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1305 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
12.07.2012, 15:17 #2
У тебя там не хватает скобочек и кавычек.
А вообще, слова "скачали" и "написали" это не синонимы.

Добавлено через 1 минуту

Не по теме:

Таким "писунам" нужно обфускаторами подрабатывать...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2012, 15:17
Привет! Вот еще темы с ответами:

Разработать програмный комплекс для решения задачи - C++
&quot;Для определения рентабельности парикмахерской используют прибыль на одного работающего.В ЭВМ поступают данные о названии...

Код написан в Dev C. Не работает в Visual. Как нужно переделать код? - C++
Здравствуйте. Столкнулась с такой проблемой: код был написан в Dev C, но в Visual он выдаёт ошибку. ...

Не получается запустить длинный код Алгоритма Гомори, код правильный. - C++
Собственно как запустить код через С++Builder 6 #include&lt;ctype.h&gt; #include&lt;string.h&gt; #include&lt;conio.h&gt; #include&lt;stdio.h&gt; ...

Написать код для игры НИМ. проверьте пожалуйста тот ли это код - C++
#include &lt;string&gt; using namespace std; int compChoose(int markers); int userChoose(int markers); int...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru