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

Структурированные файлы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Динамика http://www.cyberforum.ru/cpp-beginners/thread253474.html
При вводе студента появляется одновременно фамилия и число. Как сделать так чтобы поэтапно появлялось ? #include <iostream> #include <conio.h> #include <string.h> #include <stdio.h> #include <stdlib.h> #include <iomanip> using namespace std;
C++ Строка Есть набор слов и любая текстовая строка. Нужно взять из текстовой строки слова, входящие в данный набор и вывести на экран, применяя strtok, strcmp. На 15 и 20 строчке как сделать? #include <string.h> #include <iostream> #include <conio.h> #include <stdlib.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread253469.html
Обработка массивов C++
Всем доброго времени суток. Помогите, пожалуйста, с задачей. Задан целочисленный массив X из 20 элементов, среди которых есть повторяющиеся. Записать в массив Y по одному элементу их каждой группы одинаковых значений исходного массива.
C++ Содержит ли последовательность хотя бы два соседних числа с одинаковыми знаками?
Вводится последовательность ненулевых чисел, 0 — конец последовательности. Определить содержит ли последовательность хотя бы два соседних числа с одинаковыми знаками.Произведение двух чисел с одинаковыми знаками — положительное число.
C++ .h и .cpp http://www.cyberforum.ru/cpp-beginners/thread253454.html
В общем написал небольшой шаблонный механизм, который собираюсь неоднократно юзать в будущем. По файликам расфасовал его как надо, однако возникают проблемы при вызове. Выглядет она примерно так: //hw.h #include <iostream> using namespace std; void hw (void);
C++ Arrives Подскажите в чем ошибка в цикле. Почему мне в нем лобуду дают? #include <iostream> using namespace std; int main(void) { int arrive; for (int i = 0;i<7;i++) {int b=0; arrive= b++; подробнее

Показать сообщение отдельно
jUvkeE
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 26
07.03.2011, 18:26     Структурированные файлы
Как сделать,чтобы во всех полях которые у меня объявлены как int в самих функциях при вводе букв она у меня обратно возвращала в меню и программа не подвисала,и я мог заново один из пунктов меню.
Сколько не пробывал все время программа возвращает в меню,но там я ничего выбрать уже не могу.
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
#include<iostream>
#include <fstream>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <string>
#include <iomanip>
#include <dos.h>
#include <io.h>
 
using namespace std;
FILE *fl;
struct noutbook
{ int KOD;
  char FIR[10];
  char MOD[10];
  int KOL;
  int ST;
  int GAR;
};
noutbook a[30];
int str=0;
char name[20];
 
int menu();  //Меню
void newf();  //Создание и запись в файл  
void openf();  //Открыть файл
void resc();  //Вывести результат на экран
void resf();  //Вывести результат в файл
void udalenie();
void poiskst();
 
 
int main()
{
    while(true)
{
    switch(menu())
    {
                  case 1:newf(); break;
                  case 2:openf(); break;
                  case 3:resc(); break;
                  case 4:resf(); break;
                  case 5:udalenie();break;
                  case 6:poiskst();break;
                  case 7:return 0;
                  default: "Не выбрана функция";
    }
cout<<endl;
puts("Для продолжения нажмите любую клавишу");
getch();
system("cls");      
}
}
int menu()
{
    cout<<"МЕНЮ:"<<endl;  
    cout<<"1.Создание файла и ввод данных в файл"<<endl;  
    cout<<"2.Считывание данных с файла на экран"<<endl;  
    cout<<"3.Поиск по модели"<<endl;  
    cout<<"4.Вывести результат в файл"<<endl;  
    cout<<"5.Удаление"<<endl; 
    cout<<"6.Стоимость товаров более введенной стоимости"<<endl; 
    cout<<"7.Выход из программы"<<endl;  
    int i;
    cin>>i;
    return i;
    
}
 
void newf() //Создание файла и ввод данных в файл
{
 cout<<"Введите имя файла"<<endl; 
 cin>>name;
     if ((fl=fopen(name,"wb"))==NULL)
     {
     cout<<"Ошибка при создании файла"<<endl;
     getch();
     }
  cout<<"Введите число ноутбуков:  ";  
  cin>>str;
  system("cls");
  for (int i=0;i<str;i++)
  {
      cout<<i+1<<".";
      cout<<"Введите код товара:  ";
      cin>>a[i].KOD; 
      cout<<"Введите фирму ноутбука:  ";
      cin>>a[i].FIR; 
      cout<<"Введите модель ноутбука:  ";
      cin>>a[i].MOD; 
      cout<<"Введите стоимость одного ноутбука:  ";
      cin>>a[i].ST; 
      cout<<"Введите количество ноутбуков:  ";
      cin>>a[i].KOL;
      cout<<"Введите продолжительность гарантии:  ";
      cin>>a[i].GAR;  
      cout<<endl;
      fprintf(fl,"%i    %s    %s    %i    %i    %i",a[i].KOD,a[i].FIR,a[i].MOD,a[i].ST,a[i].KOL,a[i].GAR);
      fprintf(fl,"\n");
  }
  cout<<"Файлы успешно записаны в файл  "<<name<<endl;;
  fclose(fl);
}
 
void openf() //Открыть файл для считывания
{
     system("cls");
     if ((fl=fopen(name,"rb"))==NULL)
     {
     cout<<"Ошибка при открытии файла"<<endl;
     getch();
     }
     else
     {
     cout<<setw(5)<<"_________________________________________________________________________"<<endl;
     cout<<setw(5)<<"| КОД ТОВАРА"<<" | "<<"ФИРМА"<<" | "<<"МОДЕЛЬ"<<" | "<<"СТОИМОСТЬ(у.е.)"<<" | "<<"КОЛ-ВО"<<" | "<<"ГАРАНТИЯ(мес.)|"<<endl;  
     cout<<setw(5)<<"|____________|_______|________|_________________|________|_______________|"<<endl;  
     for (int i=0;i<str;i++)
     {    
     fgets(name,50,fl); 
     cout<<"| "<<setw(7)<<a[i].KOD<<"    | "<<setw(4)<<a[i].FIR<<"  |"<<setw(6)<<a[i].MOD<<"  |"<<setw(11)<<a[i].ST<<"      |"<<setw(5)<<a[i].KOL<<"   |"<<setw(7)<<a[i].GAR<<"        |"<< endl;
     cout<<setw(5)<<"|____________|_______|________|_________________|________|_______________|"<<endl;  
      }}
      fclose(fl);
}
 
void resc() //Вывести результат на экран
{
     int i;
     char MOD[10];
      system("cls");
     cout<<"Введите модель ноутбука:";
     cin>>MOD;
     cout<<setw(5)<<"_________________________________________________________________________"<<endl;
     cout<<setw(5)<<"| КОД ТОВАРА"<<" | "<<"ФИРМА"<<" | "<<"МОДЕЛЬ"<<" | "<<"СТОИМОСТЬ(у.е.)"<<" | "<<"КОЛ-ВО"<<" | "<<"ГАРАНТИЯ(мес.)|"<<endl;  
     cout<<setw(5)<<"|____________|_______|________|_________________|________|_______________|"<<endl;  
     for (int i=0;i<str;i++)
     {if (!strcmp(a[i].MOD,MOD))
     { 
      cout<<"| "<<setw(7)<<a[i].KOD<<"    | "<<setw(4)<<a[i].FIR<<"  |"<<setw(6)<<a[i].MOD<<"  |"<<setw(11)<<a[i].ST<<"      |"<<setw(5)<<a[i].KOL<<"   |"<<setw(7)<<a[i].GAR<<"        |"<< endl;
      cout<<setw(5)<<"|____________|_______|________|_________________|________|_______________|"<<endl;  
     }}
}
 
 
 
 
 
void resf() //Вывести результат в файл
{
     system("cls");
     char namet[30];
     FILE *ft;
     cout<<"Введит имя файла"<<endl;
     cin>>namet;
     if ((ft=fopen(namet,"wb"))==NULL)
     {
      cout<<"Ошибка при создании файла"<<endl;      
      getch();
      }
      char s[80];
      for (int i=0;i<str;i++)
      if (a[i].KOD==2353)
      {
                           strcpy(s,a[i].FIR);
                           strcpy(s,a[i].MOD);
                           strcat(s,"\n");
                           fputs(s,ft);
      }
                           fclose(ft);
}    
void udalenie()
{
    system("cls");
    int i,c;
    cout<<"Введите строку которую хотите удалить: "<<endl;
    cin>>a[i].KOD;
    if (a[i].KOD>str) cout<<"Данная строка в БД отсутствует."<<endl;
    else
    {
        cout<<i<<".  "<<a[i-1].KOD<<a[i-1].FIR<<" "<<a[i-1].MOD<<" "<<a[i-1].KOL<<" "<<a[i-1].ST<<" "<<a[i-1].GAR<<endl;
        for (i=i;i<=str;i++)
        {
            a[i-1] = a[i];
        }
        cout<<endl<<"Stroka "<<c<<" udalena."<<endl;
        str=str-1;
    }
    return;
}          
void poiskst()         
{
     int ST;
      system("cls");
      cout<<"Стоимость товара не менее:  ";
      cin>>ST;
     cout<<setw(5)<<"_________________________________________________________________________"<<endl;
     cout<<setw(5)<<"| КОД ТОВАРА"<<" | "<<"ФИРМА"<<" | "<<"МОДЕЛЬ"<<" | "<<"СТОИМОСТЬ(у.е.)"<<" | "<<"КОЛ-ВО"<<" | "<<"ГАРАНТИЯ(мес.)|"<<endl;  
     cout<<setw(5)<<"|____________|_______|________|_________________|________|_______________|"<<endl;  
     for (int i=0;i<str;i++)
     {if (a[i].ST>ST)
     { 
      cout<<"| "<<setw(7)<<a[i].KOD<<"    | "<<setw(4)<<a[i].FIR<<"  |"<<setw(6)<<a[i].MOD<<"  |"<<setw(11)<<a[i].ST<<"      |"<<setw(5)<<a[i].KOL<<"   |"<<setw(7)<<a[i].GAR<<"        |"<< endl;
      cout<<setw(5)<<"|____________|_______|________|_________________|________|_______________|"<<endl;  
     }}
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru