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

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

Войти
Регистрация
Восстановить пароль
 
wH3y
0 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 15
#1

Дописать програмку - C++

02.11.2009, 20:50. Просмотров 432. Ответов 4
Метки нет (Все метки)

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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream.h>
#define MAX 100
struct chit {
 char fio [50];
 char adres [50];
 char telefon [50];
 int godRojd ;
} ;
 
chit vvod(void){
  chit ret;
  cout<<"Vvedite familiy 4itatelya:>";
  cin>>ret.fio;
  cout<<"Vvedite adress 4itatelya:>";
  cin>>ret.adres;
  cout<<"Vvedite telefon 4itatelya:>";
  cin>>ret.telefon;
  cout<<"Vvedite God Rojdeniya 4itatelya:>";
  cin>>ret.godRojd;
  return ret;
  };
 
 
void soxranenie(chit par){
  FILE *F;
  F=fopen("xr.txt","ab");
  if(F==NULL){
    cout<<"ERROR";
    exit(1);
  }
  
  if(fwrite(&par,sizeof(par),1,F)!=1) cout<<"ERROR";
    fclose(F);
  //soxranyaet v fail
};
 
chit chetenie(int par){         //par nomer 4eloveka
  chit ret;
  strcpy(ret.fio,"");
  strcpy(ret.adres,"");
  strcpy(ret.telefon,"");
  ret.godRojd=0;
  FILE *F;
  F=fopen("xr.txt","rb");
  if(F==NULL){
    cout<<"ERROR"<<endl;
    exit(1);
    }
  if(fseek(F,sizeof(struct chit)*par,SEEK_SET)) cout<<"ERROR"<<endl;
  else if(fread(&ret,sizeof(struct chit),1,F)) cout<<"ERROR"<<endl;
  fclose(F);
return ret;
};
 
 
void vivod (chit par){
cout<<"--------------------"<<endl;
cout<<"FIO: "<<par.fio<<endl;
cout<<"Adres: "<<par.adres<<endl;
cout<<"Telefon: "<<par.telefon<<endl;
cout<<"GodRojd: "<<par.godRojd<<endl;
};
 
 
void vivodsp (chit){
    for(int p=0;p<50;p++);
    cout<<p;
}
 
 
 
 
int kolvo(void){
  FILE *F;
  F=fopen("xr.txt","rb");
  if(F==NULL){
    cout<<"ERROR"<<endl;
    exit(1);
    }
  int ret=0;
  chit a;
  while(!feof(F)){
    if(fread(&a,sizeof(struct chit),1,F)) ret++;
   }
 fclose(F);
 return ret+1;
};
 
int strpoisk (char str1[], char str2[]){
    int sch1;
    for(int y=0;y<strlen(str1)-strlen(str2)+1;y++){
       sch1=0;
       for(int x=0;x<strlen(str2);x++)
     if(str1[y+x]==str2[x]) sch1++;
       if(sch1==strlen(str2)) return 1;
    }
    return 0;
};
 
 
void poisk(char fio[]){
  FILE *F;
  F=fopen("xr.txt","rb");
  if(F==NULL){
    cout<<"ERROR"<<endl;
    exit(1);
    }
  chit a;
  while(!feof(F)){
    if(fread(&a,sizeof(struct chit),1,F)){
       if(strpoisk(a.fio,fio)==1) vivod(a);
    }
   }
 fclose(F);
}
 
void poiskfam (void){
char vvodfam[50];
    cout<<"BBEDUTE FAMILIY:>";
    cin>>vvodfam;
    poisk(vvodfam);
}                //pois po famil
void spisokchit (void){
  FILE *F;
  F=fopen("xr.txt","rb");
  if(F==NULL){
    cout<<"ERROR"<<endl;
    exit(1);
    }
  chit a;
  while(!feof(F)){
    if(fread(&a,sizeof(struct chit),1,F)){
       vivod(a);
       }
   }
 fclose(F);
}
 
int main(void){
  
 spisokchit();
 poiskfam();
char ttt;
cin>>ttt;
return 0;
};

Добавлено через 2 минуты
Помогите пожалуйста . 1) Нужно сделать меню в этой программе . 2)Организовать в меню ввод данных и вывод всего списка читателей , и поиск. ПОМОГИТЕ ЧЕМ СМОЖЕТЕ пожалуйста оч нада. Заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2009, 20:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дописать програмку (C++):

Перероботать програмку - C++
Нужно перероботать прогу под функцию 0,5 х в кубе помогите пожалуйста никак не получаеться а здавать нужно уже...( #include...

подскажите програмку - C++
нужна програмка, которая выводит на форму трапецию, круг и текстовые подписи для фигур.

Нужно протестить програмку - C++
Она маленькая, все что умеет: переводить числа с любой системы счисления в любую в диапазоне как целые так и дробные и представлять числа...

Пмогите допилить програмку - C++
#include &lt;iostream&gt; using namespace std; int main() { struct list { int data; list *next; list *prev; };...

строки в с. переделать програмку - C++
Люди, помогите, пожалуйста, как переделать програмку в С без использования классов, по-простому, только функциями с библиотеки &lt;string&gt;....

как сделать програмку. Язык С++ - C++
Ввести с клавиатуры текст произвольного размера и после нажатия &lt; Еnter &gt; вывести его в виде &quot; бегущей строки &quot; в центре экрана снизу вверх...

4
blackswan
12 / 12 / 0
Регистрация: 08.07.2009
Сообщений: 61
03.11.2009, 18:35 #2
какого вида меню? как в окошках виндовс красивое с кнопочками? или как сейчас в виде текста в консоли на чёрном(или какой там) фоне?
1
wH3y
0 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 15
04.11.2009, 22:40  [ТС] #3
Цитата Сообщение от blackswan Посмотреть сообщение
какого вида меню? как в окошках виндовс красивое с кнопочками? или как сейчас в виде текста в консоли на чёрном(или какой там) фоне?


Ввиде текста в консоли на черном фоне
0
blackswan
12 / 12 / 0
Регистрация: 08.07.2009
Сообщений: 61
05.11.2009, 18:17 #4
чтобы было меню, вверху программы включи хедеры
C
1
2
#include <windows.h> 
#include <cstdlib>
и добавь вот такие функции выше main
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void gotoxy ( short x, short y )
{
COORD coord = {x, y};
SetConsoleCursorPosition ( GetStdHandle ( STD_OUTPUT_HANDLE ), coord );
}
void clear_screen()
{ #ifdef WINDOWS
  std::system ( "CLS" );
  #else
  std::system ( "clear" );
  #endif
  }
void show_menu()
{
printf("1:Vvod dannih\n");
printf("2:Vivod spiska\n");
printf("3:Poisk\n");
printf("0:Vihod\n");
}
функция gotoxy будет ставить твой курсор в консоли в позицию с координатами x,y, с её помощью можно управлять тем, куда ты хочешь поставить курсор, функция clear_screen будет очищать экран, например, перед каждой отрисовкой меню, функция show_menu будет выводить меню, где спрашивают ввод числа, означающего соответствующее действие. Тогда функция main будет выглядеть примерно так
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
int main()
{
char ch;
while (1)
{
clear_screen();
gotoxy(0,0);
show_menu();
gotoxy(5,1);
switch (ch=getch())
{
case '1' : вызов функции ввода данных
break;
case '2' : вызов функции вывода списка
break;
case '3' : вызов функции поиска
break;
case '0' : return 0;
default: break;
}
printf("Najmite lubuyu klavishu\n");
getch();
}
return 0;
}
как-то так. можешь конечно изменить как тебе угодно, кажется все функции остальные у тебя есть
1
wH3y
0 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 15
06.11.2009, 11:27  [ТС] #5
спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2009, 11:27
Привет! Вот еще темы с ответами:

скомпилировать програмку с минимальным объёмом - C++
как настроить компилятор чтоб он компилировал программы с минимальным объёмом? а то простая программка с &quot;хеллоу ворд&quot; весит ~70кб а если...

Нужно написать небольшую програмку на С++ - C++
Привет! Помогите написать прогрумму небольшую на С++. Мне очень нужно для ООП. Заранее спасибо =)

Нужно написать простенькую програмку - C++
Серая область для попадания.

не могу сделать програмку.С++.не понимаю классы!! - C++
Добрый день народ)) помогите плиз с программкой) сама не сделаю точно) хоть немножко и разбираюсь) Дано натурально число n....


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
06.11.2009, 11:27
Ответ Создать тему
Опции темы

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