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

Многофайловая работа, передача структур и файлов через прототип функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Величина вкладов в банке. http://www.cyberforum.ru/cpp-beginners/thread567871.html
HELP!!!! Надо составить программу, определяющую вклад, положенных на самый большой срок. Вводимая информация: Величина вкладов в банке и срок(в месяцах), на который положен каждый вклад. HELP!!!!
C++ Проверить, чередуются ли в массиве четные и нечетные числа. Дан массив ненулевых целых чисел размера n. Проверить, чередуются ли в нем четные и нечетные числа. Если чередуются, то вывести 0, если нет, то вывести порядковый номер первого элемента, нарушающего... http://www.cyberforum.ru/cpp-beginners/thread567863.html
программа на точки и прямые C++
на плоскости заданы мно-ва точек А и мно-во прямых В. Найти две такие различные точки из А чтобы проходящая через них прямая была параллельна наибольшему кол-ву прямых В.
C++ Как лучше организовать программу для работы с файлом
Допустим, есть текстовый файл, включающий в себя порядковый номер и имя: 1. Вася 2. Петя 3. Коля Нам нужно, допустим, редактировать строку №2 и Петю заменить на Ивана. Как лучше это...
C++ Идентификатор сервиса для DDE сервера, при XTYP_DISCONNECT http://www.cyberforum.ru/cpp-beginners/thread567836.html
Всем привет. Есть приложение DDE сервера, мне нужно получить идентификатор или имя сервиса(топика), пот которому произошло обрыв связи DDE канала.Т.е. клиент отрубается, а мне нужно знать по какому...
C++ Ф-я добавления и удаления элемента Здравствуйте! Помогите пожалуйста, у меня есть программа, все отлично работает, но мне нужно реализовать удаление и добавление элемента в оба списка, помогите пожалуйста, а то как-то не понятно, вот... подробнее

Показать сообщение отдельно
Kirill Losev
3 / 3 / 0
Регистрация: 01.10.2011
Сообщений: 249

Многофайловая работа, передача структур и файлов через прототип функции - C++

07.05.2012, 15:27. Просмотров 459. Ответов 0
Метки (Все метки)

Раньше я не пробовал разбивать программу на файлы, но сейчас эта необходимость возникла и, конечно, возникли новые проблемы:
  • проблема с передачей файла, допустим, input в другую функцию. возникает ошибка: "error: ‘fstream’ has not been declared"
  • и передача структур в функцию(еще и работа со списками, поэтому с указателями, как я понял проблема). ошибка: "error: conversion from ‘ItemListOne*’ to non-scalar type ‘ItemListOne’ requested"

Сам проект я вложу в архиве.
А вот фрагменты кода с ошибками, может кому-то и этого будет достаточно:

С файлом ошибка.
В заголовочном файле:
C++
1
void Error(struct ItemListOne, struct ItemListOne, fstream, bool);
В файле исходного кода(функции):
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
#include <iostream>
#include <iomanip>
#include <fstream>
#include "l3functions.h"
using namespace std;
 
void Error(struct ItemListOne *now, struct ItemListOne *current, ifstream &input, bool tester)
{
  if(tester == true)
  {
    if(now->info >= 10000)
    {
        cout << "Ошибка: слишком большое число. Проверьте исходные данные!\n\tДанные введены до места с ошибкой!\n" << endl;
        int tmp;
        while(1)
        {
        input >> tmp;
        if(tmp == 0)
        break;
    }
    break;
    }
  }
  if(tester == false)
  {
    if(current->info >= 10000)
    {
    cout << "Ошибка: слишком большое число. Проверьте исходные данные!\n\tДанные введены до места с ошибкой!\n" << endl;
    int tmp;
    while(1)
    {
        input >> tmp;
        if(tmp == 0)
        break;
    }
    break;
    }
  }
}
В функции main:
C++
1
2
3
.....
Error(now, current, input, tester);
.....
Со структурой ошибка.
В заголовочном файле:
C++
1
void GetItem(struct ItemListOne, struct ItemListOne, fstream, bool);
В файле исходного кода(функции):
C++
1
2
3
4
5
6
7
8
void GetItem(struct ItemListOne *now, struct ItemListOne *current, ifstream &input, bool tester)
{
    if(tester == true)
    input >> now->info;
    
    if(tester == false)
    input >> current->info;
}
В функции main:
C++
1
2
3
.....
GetItem(now, current, input, tester);
.....
Примерно так получается.
Заранее спасибо за помощь!
0
Вложения
Тип файла: zip Работа.zip (26.7 Кб, 8 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru