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

База данных о студентах - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Бинарный поиск (найти искомый элемент в массиве и вывести его номер) http://www.cyberforum.ru/cpp-beginners/thread534968.html
Помогите пожалуйста. Суть задачи: бинарным поиском найти искомый элемент в массиве и вывести его номер, если число в массиве встречается насколько раз, то вывести все номера этих элементов. С первой задачей я вроде спарвилась. Вот кусочек кода: void obrmass(int D,int F) // обработка массива { FILE *fp, *fw;//указатель на файловую структуру int i, X;// индексы эл-тов, искомый элемент...
C++ Помогите разобраться с цветом в консоли Скажите пожалуйста как в этой программе сделать так, чтобы в строке cin >> calc; можно вводить цифры белым цветом а не зеленым при этом не очищая рисунок сверху и не изменяя его цвет на белый. #include <vcl.h> #include<conio.h> #include<stdio.h> #include<math.h> #include<iostream.h> #include <iomanip.h> int main() http://www.cyberforum.ru/cpp-beginners/thread534957.html
Сформировать массив, содержащий только те элементы иззначального массива, значение которых больше заданного числа C++
Задан массив A из N элементов. Сформировать массив B, содержащий только те элементы массива A, значение которых больше заданного числа X. Значения X, N и элементы массива A ввести с клавиатуры Не понимаю где ошибка, выводит не верно #include <iostream> int main() { int i,j,n,max,x; int A;
C++ Сохранение логического выражения
С++ только начинаю изучать, возник вопрос, если не сложно помогите :) Вообщем нужно считать с клавиатуры какое то логическое выражение, типа: x||!y&&z и куда то его сохранить, чтобы в последующем вводя различные x,y,z получать результат введенного логического выражения А вот как сохранить логическое выражение, я придумать не могу =( Заранее благодарю.
C++ Графические библиотеки http://www.cyberforum.ru/cpp-beginners/thread534879.html
Посоветуйте какую-нибудь простенькую графическую библиотеку с минимальным набором функций: нарисовать цветную точку и т.д.
C++ Натуральные и действительные числа Дано натуральное число N и действительные числа a1,a2,...,an. Вычислить:S={a1}^{n}-{a2}^{n-1}+...+({-1}^{n+1})*{a}_{n} #include<stdio.h> #include<math.h> #include<conio.h> main() { unsigned int i,n; float s=0,a; printf("n="); подробнее

Показать сообщение отдельно
pato
0 / 0 / 0
Регистрация: 09.10.2011
Сообщений: 25
31.03.2012, 18:10  [ТС]     База данных о студентах
код не много не тот нужен вот такой но для студентов:что бы можно было вводить фио, группу, предмет и оценки понем а также редактировать все данные:

“Главная программа”

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
#include <conio.h>
#include <stdio.h>
#include "l1_v9d.h"
 
void main() {
char c=0;
BANK bank; //объявляем объект класса BANK
while (c!=27) {
clrscr();
int count=bank.getcount(0); //кол-во записей
//формируем меню
printf("1 Создание записи\n");
if (count>1) {
printf("---------------------\n");
printf("3 Вперед\n2 Назад\n");}
if (count) {
printf("---------------------\n");
printf("4 Редактирование\n5 Операция\n6 Удаление записи\n");
printf("8 Поиск по фамилии\n");
}
printf("---------------------\n7 Информация базы\n");
if (count) {
 printf("\n===== Текущая запись: ====\n");
 bank.getitem(0);
 printf("===========================\n");
 }
printf("\nВыбор (Выход - ESC) ? ");
c=getch();
printf("\n\n");
//выбор действия
switch (c) {
case '1': bank.addnewitem();break;
case '3':bank.nextitem();break;
case '2':bank.previtem();break;
case '4':bank.edititem();break;
case '5':bank.addop();break;
case '6': bank.deleteitem();break;
case '7': bank.getcount();break;
case '8': bank.search();break;
} } }
//конец программы

“Заголовочный файл модуля”

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
#ifndef __l1_v9d
#define __l1_v9d
//гарантия подключения библиотеки float-чисел
extern unsigned _floatconvert;
#pragma extref _floatconvert
 
#define FAM_MAX_LN 100 //максимальная длина фамилии
#define NAME_MAX_LN 50 //максимальная длина имени
 
//описание структуры для хранения записи
struct TItem{
  char fam[FAM_MAX_LN], name[NAME_MAX_LN];
  float OP, SUM;
  long DATE;
  int ID;
  TItem *prev; //указатели на предыдущий и следующий элемент
  TItem *next;
  TItem(); //конструктор по умолчанию
  TItem(float sum); //конструктор, устанавливает исх. значение sum
};
 
//описание класса
class BANK {
private:
   TItem* curr; //указатель на текущую запись
   unsigned count; //количество записей
   unsigned tID; //счетчик идентификаторов записей
public:
 void addnewitem(); //добавить элемент
 void getitem(int show=1); //получить элемент
 void deleteitem(int show=1); //удалить элемент
 void nextitem(); //следующий элемент
 void previtem(); //предыдущий элемент
 void edititem(); //редактировать текущий элемент
 void addop(); //провести операцию
 int getcount(int show=1); //количество элементов
 void pause(); //ожидание нажатия клавиши
 void first(); //перейти к первому элементу
 void search(); //поиск
 BANK(); //конструктор
 ~BANK(); //деструктор
};
 
#endif

“Файл модуля”

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
#include "l1_v9d.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <string.h>
TItem::TItem(float sum) {
 SUM=sum;
}
TItem::TItem() {
 SUM=0;
}
void BANK::pause() {
  printf("Нажмите любую клавишу");
  getch();
}
 
void BANK::addop() {
 float op;
 printf("Введите сумму операции ");scanf("%g",&op);
 curr->SUM+=op;curr->OP=op;
 struct date dp;
 struct time tp;
 getdate(&dp);gettime(&tp);
 curr->DATE=dostounix(&dp,&tp);
 
}
void BANK::first() {
 while (curr->prev!=NULL) curr=curr->prev;
 
}
void BANK::search() {
 TItem* pos=curr;
 char kr[FAM_MAX_LN];
 printf("Введите фамилию для поиска: ");scanf("%s",kr);
 first();int found=0;
 while (curr->next!=NULL)
 if (!strcmpi(kr,curr->fam)) {found=1;break;} else curr=curr->next;
 if (!found) {curr=pos;printf("Записи не найдены\n");pause();}
 else {printf("Найденная запись установлена текущей\n");pause();}
}
void BANK::addnewitem() {
  TItem* it=new TItem;
  clrscr();
  printf("Создание записи\n");
  printf("Фамилия? ");scanf("%s",it->fam);
  printf("Имя? ");scanf("%s",it->name);
  printf("Начальная сумма вклада? ");scanf("%g",&it->SUM);
  it->DATE=0;it->OP=0;
  it->ID=++tID;it->prev=NULL;it->next=NULL;
  printf("Запись %d создана\n",it->ID);
 if (count) {
 curr->next=it;
 it->prev=curr;
 curr=curr->next; }
 else curr=it;
 count++;
 pause();
}
BANK::BANK() {
 count=0;
 tID=0;
 curr=NULL;
}
BANK::~BANK() {
 while (curr!=NULL) deleteitem(0);
}
void BANK::getitem(int show) {
 if (count) {
  printf("ID %d\n",curr->ID);
  printf("Фамилия: %s\n",curr->fam);
  printf("Имя: %s\n",curr->name);
  printf("Сумма вклада: %5.2f\n",curr->SUM);
  if (curr->DATE) {
  printf("Последняя операция: %5.2f\n",curr->OP);
  struct date dp;struct time tp;
  unixtodos(curr->DATE,&dp,&tp);
  printf("Проведена %d.%d.%d %d:%d\n",dp.da_day,dp.da_mon,dp.da_year,tp.ti_hour,tp.ti_min);
  } }
 else printf("Нет записей\n");
 if (show) pause();
}
void BANK::deleteitem(int show) {
  if (count) {
  TItem* pos=curr;
  if (curr->next!=NULL) {curr=curr->next;curr->prev=pos->prev;}
  else
  if (curr->prev!=NULL) {curr=curr->prev;curr->next=NULL;}
  printf("Запись ID %d удалена\n",pos->ID);
  delete(pos);count--;
  if (!count) curr=NULL;
  } else
  printf("Нет записей\n");
  if (show) pause();
}
void BANK::edititem() {
 if (count) {
  clrscr();
  printf("Редактирование записи ID %d\n",curr->ID);
  printf("Фамилия? ");scanf("%s",curr->fam);
  printf("Имя? ");scanf("%s",curr->name);
  printf("Запись %d изменена\n",curr->ID); }
 else printf("Нет записей\n");
 pause();
}
void BANK::nextitem() {
 if ((count) && (curr->next!=NULL)) curr=curr->next;
}
void BANK::previtem() {
  if ((count) && (curr->prev!=NULL)) curr=curr->prev;
}
int BANK::getcount(int show) {
  if (show) {
  printf("Записей в базе: %d\n",count);
  pause();   }
  return count;
}
Добавлено через 58 секунд
это бн по банкам....
 
Текущее время: 21:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru