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

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

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

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

02.11.2009, 20:50. Просмотров 422. Ответов 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)Организовать в меню ввод данных и вывод всего списка читателей , и поиск. ПОМОГИТЕ ЧЕМ СМОЖЕТЕ пожалуйста оч нада. Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2009, 20:50     Дописать програмку
Посмотрите здесь:

Нужно протестить програмку C++
C++ скомпилировать програмку с минимальным объёмом
Структуры.Не разбираюсь в структурах!!!Немагу сделать програмку!((( C++
C++ Нужно написать небольшую програмку на С++
не могу сделать програмку.С++.не понимаю классы!! C++
C++ Пмогите допилить програмку
подскажите програмку C++
C++ строки в с. переделать програмку
C++ Рекуррентный алгоритм! подскажите как написать програмку!
C++ Перероботать програмку
C++ Нужно написать простенькую програмку
как сделать програмку. Язык С++ C++

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

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


Ввиде текста в консоли на черном фоне
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;
}
как-то так. можешь конечно изменить как тебе угодно, кажется все функции остальные у тебя есть
wH3y
0 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 15
06.11.2009, 11:27  [ТС]     Дописать програмку #5
спасибо
Yandex
Объявления
06.11.2009, 11:27     Дописать програмку
Ответ Создать тему
Опции темы

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