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

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

Восстановить пароль Регистрация
 
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
17.12.2013, 10:57     Найти Ошибку БД #1
Уважаемые, форумчане большая просьба помочь с БД,
Задание
Составить программу, которая описывает структуру в соответствии с вариантом и записывает введенные пользователем данные в бинарный файл (использовать при этом потоки). Процесс введения прерывается пользователем.

«Сотрудник»: фамилия, дата рождения, год принятия на работу, количество детей, Оклад
Мои скромные наработки:
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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 10:57     Найти Ошибку БД
Посмотрите здесь:

C++ найти ошибку
найти ошибку C++
C++ Найти ошибку.
C++ Найти ошибку
C++ Найти ошибку
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
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;
}
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
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.12.2013, 20:59     Найти Ошибку БД #4
Цитата Сообщение от dkii Посмотреть сообщение
спасибо большое, но у вас в коде есть ряд ошибок:
Есть компиляторы, которые это позволяют. Создавайте массив динамически или сделайте SIZE константой.
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
17.12.2013, 21:13  [ТС]     Найти Ошибку БД #5
спасибо
Yandex
Объявления
17.12.2013, 21:13     Найти Ошибку БД
Ответ Создать тему
Опции темы

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