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

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

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

Найти Ошибку БД - C++

17.12.2013, 10:57. Просмотров 196. Ответов 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
#include <iostream>
#include <cmath>
#include <stdio.h>
#include <conio.h>
using namespace std;
 
struct sotrudnik
{ 
char lastname[50];
int birsday;
int year;
int children;
int oklad;
};
void main()
{
    struct sotrudnik str1, str2, str3, str4, str5;
    printf("Familia:");
    gets(str1.lastname);
 
    printf("Data rojdenia:");
    scanf("%d", 
    &str1.birsday);
 
    printf("god trudoustrojstva:");
    scanf("%d", &str1.year);
 
    printf("kolichestvo detey:");
    scanf("%d", &str1.children);
 
    printf("oklad:");
    scanf("%d", &str1.oklad);
 
    str2=str1;
    str3=str2;
    str4=str3;
    str5=str4;
 
    printf(" sotrudnik %s", str5.lastname);
    printf(" Data rojdenia%d", str5.birsday);
    printf(" god trudoustrojstva %d", str5.year);
    printf(" kolichestvo detey %d", str5.children);
    printf(" oklad %d", str5.oklad);
    system("pause");
}
//Помогите с записью в файл, и посмотрите пожалуйста правильно ли работает структура.

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

Добавлено через 10 часов 25 минут
ап2
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 10:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти Ошибку БД (C++):

Найти ошибку в программе: в visual studio выдает ошибку - C++
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { double x, E, ypred, y, S; ...

Найти слова, повторяющиеся более одного раза, не могу найти ошибку - C++
#include &lt;iostream&gt; using namespace std; void obr1(char **s, char **mas, int n, int m) { int i; int k; char *tm; for(i...

Помогите найти ошибку: По двум сторонам и углу найти все остальное - C++
Доброго времени суток. В универе дали задание написать программу &quot;По двум сторонам и углу между ними в треугольнике АВС найти два остальных...

Найти сумму первых n-четных натуральных чисел (найти ошибку) - C++
Нужно найти сумму первых n-четных натуральных чисел. Ошибка вылетает на 13 строке, должно быть я не правильно код составил, алгоритм не тот...

Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде) - C++
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { int y = 0; for(int i = -21; i &lt; -99; i+=3) ...

Массивы. Посчитать количество положительных, найти минимальное, удалить строку с минимальным (Не могу найти ошибку) - C++
// Заданы матрицы X(8;4),Y(5;5),Z(6;9). // Для каждой из матриц определить строку, в которой находится наименьшее // количество...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
17.12.2013, 12:35 #2
Как то так
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
#include <iostream>
#include <fstream>
#include <string>
 
struct Worker
{
  std::string surname;
  std::string birthday;
  unsigned int yearToWork;
  unsigned char countChild;
  unsigned int salary;
};
 
int main()
{   
    size_t SIZE;
    std::cout << "Input number of workers: "; std::cin >> SIZE;
    
    Worker worker[SIZE];
    
    for(int i = 0; i < SIZE; ++i)
    {
      std::cout << "Input surname: ";     std::cin >> worker[i].surname;
      std::cout << "Input birthday: ";    std::cin >> worker[i].birthday;
      std::cout << "Input yearToWork: ";  std::cin >> worker[i].yearToWork;
      std::cout << "Input scountChild: "; std::cin >> worker[i].countChild;
      std::cout << "Input salary: ";      std::cin >> worker[i].salary;
    }
    
    std::ofstream out("outfile.dat", std::ios::binary|std::ios::out);
    for(int i = 0; i < SIZE; ++i)
        out.write((char *)&worker[i], sizeof(worker)/SIZE);
    
    
    system("PAUSE");
    return 0;
}
1
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
17.12.2013, 20:55  [ТС] #3
спасибо большое, но у вас в коде есть ряд ошибок:
1.cpp(20): error C2057: требуется константное выражение
1.cpp(20): error C2466: невозможно выделить память для массива постоянного нулевого размера
1.cpp(20): error C2133: worker: неизвестный размер
1.cpp(22): warning C4018: <: несоответствие типов со знаком и без знака
1.cpp(32): warning C4018: <: несоответствие типов со знаком и без знака
1.cpp(33): error C2070: Worker []: недопустимый оператор sizeof

Добавлено через 1 час 1 минуту
fg1
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.12.2013, 20:59 #4
Цитата Сообщение от dkii Посмотреть сообщение
спасибо большое, но у вас в коде есть ряд ошибок:
Есть компиляторы, которые это позволяют. Создавайте массив динамически или сделайте SIZE константой.
1
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
17.12.2013, 21:13  [ТС] #5
спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2013, 21:13
Привет! Вот еще темы с ответами:

Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании) - C++
Препод говорит что тут есть ошибка, но где не говорит, прошу если кото-нибуть заметит сообщите. Ввести одномерный статический массив...

В строках матрицы с отрицательным элементом на главной диагонали найти наибольший из всех элементов (найти ошибку в коде) - C++
Помогите найти ошибку! Дана действительная квадратная матрица порядка 10. В строках с отрицательным элементом на главной диагонали найти...

Задача из Златопольского: "Найти числа с известным количеством делителей". Не могу найти ошибку - C++
Здравствуйте. Задача следующая: Найти все целые числа из промежутка от a до b, у которых количество делителей равно k. К примеру я взял...

Найти ошибку! - C++
Почему не хочет работать вот эта строка strcut(history,str); #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; ...


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

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

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