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

Файлы и функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ from C# to C++ http://www.cyberforum.ru/cpp-beginners/thread788086.html
Собственно сабж. Есть код на шарпе, хотелось бы перевести его на плюсы, но своих мозгов не хватает (или опыта?). using System; using System.Collections.Generic; using System.Linq; using...
C++ Для чего нужен шаблон <typename T> Здравствуйте. template <typename T> T CLAMP(const T& value, const T& low, const T& high) { return (value < low) ? low : ((value > high) ? high : value); } Из книги я понял,что это... http://www.cyberforum.ru/cpp-beginners/thread788026.html
Базовая графика в С++ C++
Всем доброго времени суток, уважаемые товарищи заслуженные программисты! С++ изучаю самостоятельно, как и программирование вообще, потому, столкнувшись с вопросом, не имею возможности обратиться...
C++ Осуществите в классе перегрузку метода proizved() c различным количеством параметров
Осуществите в классе перегрузку метода proizved() c различным количеством параметров так, что если параметров два, они перемножаются, если параметров 3, то первые два аргумента перемножается, а...
C++ как мне определить правильно параметры процедуры, чтобы с меняло свое значение http://www.cyberforum.ru/cpp-beginners/thread787938.html
void strfun(int a, int b, int c) { c = a + b; } int main() { int a=5, b=6, c=0; strfun(a, b, c); cout << c << endl;
C++ Эмулятор Нормальных Алгорифмов Маркова У меня тема курсовой - эмулятор нормальных алгорифмов Маркова. Я понял, как это все реализуется, но вот как написать на C++ - понятия не имею. Нужно написать такую прогу, чтобы можно было свои... подробнее

Показать сообщение отдельно
maddoxx
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 24
17.02.2013, 12:31  [ТС]
Да спасибо большое, именно это мне и нужно было
Вот только еще вопрос есть что и для чего нужно вот это:
C++
1
2
#ifndef     input_cpp
#define     input_cpp
и в каждом файле так. Это вроде бы макросы какие то?

Добавлено через 18 минут
Вот что у меня получилось:
source.cpp
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
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include "train.h"
#include "sort.cpp"
 
#define size 2
#define buf 256
#define dSize 10
#define NULL 0
 
extern void input(train *mas);
extern void output(train *mas);
extern void sort(train *mas);
 
void main()
{ 
    static train *mas;
    mas = new train [size]; 
    if (mas != NULL)
    {
        input(mas);
        sort(mas);
        output(mas);
    }
    else
        printf("\nMenory error!\n");
    _getch();
}
 
void input(train *mas)
{
    register int i,j;
    printf("\nInput information\n");
    for(i=0; i<size; i++)
    {
        fflush(stdin);
        printf("\n\nInput name for element [%d]: ",i+1);    //Считываем название поезда до нажатия Enter или до конца буфера (256 символов)
        for(j=0; j<buf; j++)
        {
            char tmp;
            scanf("%c",&tmp);
            if (tmp == '\n')
            {
                mas[i].name[j] = '*';
                j=buf;
            }
            else
                mas[i].name[j] = tmp;
        }
 
        fflush(stdin);
        printf("Input number for element [%d]: ",i+1);      //Считываем номер поезда
        scanf("%d",&mas[i].number);
 
        fflush(stdin);
        printf("Input date for element [%d] (format xx.xx.xxxx): ",i+1);    //Считываем дату отправления (10 символов с разделителем '.')
        for(j=0; j<dSize; j++)
            scanf("%c",&mas[i].date[j]);
    }
}
 
void output(train *mas)
{
    register int i,j;
    system("cls");
    printf("\nOutput information\n");
    for(i=0; i<size; i++)
    {
        printf("\n\nElement [%d]",i+1);         //Какой номер елемента выводим
        printf("\nName: ");                     //Выводим имя
        for(j=0; j<buf; j++)
        {
            if (mas[i].name[j] == '*')          //До первого искуственно образованного символа конца строки
                j = buf;
            else
                printf("%c",mas[i].name[j]);
        }
        printf("\nNumber: %d",mas[i].number);   //Выводим номер
        printf("\nDate: ");                     
        for(j=0; j<dSize; j++)
            printf("%c",mas[i].date[j]);            //Выводим дату
    }
}
train.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef     train_h
#define     train_h
 
#define size 2
#define buf 256
#define dSize 10
 
struct train
{
    char name[buf];
    int  number;
    char date[dSize];
}; 
 
#endif  // train_h
sort.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef     sort_cpp
#define     sort_cpp
 
#include "train.h"
#include <stdio.h>
 
#define size 2
 
void sort(train *mas)
{
    register int i,j;
    for(i=0; i<size-1; i++)
        for(j=i+1; j<size; j++)
            if (mas[i].name[0] > mas[j].name[0])
            {
                fflush(stdin);
                train swap = mas[i];
                mas[i] = mas[j];
                mas[j] = swap;
            }
}
 
#endif  // sort_cpp
И вот такие ошибки:
1. error LNK2005: "void __cdecl sort(struct train *)" (?sort@@YAXPAUtrain@@@Z) уже определен в sort.obj C:\Documents and Settings\Admin\Рабочий стол\rampage\rampage\source.obj
2. error LNK1169: обнаружен многократно определенный символ - один или более C:\Documents and Settings\Admin\Рабочий стол\rampage\Debug\rampage.exe 1

Я тут прочитал что нельзя заголовочный файл включать куда любо более одного раза. Может быть ошибки из за этого?

Добавлено через 12 минут
Все спасибо, исправил тем что создал отдельный заголовочный файл для функции в котором вот такой код
C++
1
2
3
4
5
6
#ifndef     sort_h
#define     sort_h
 
extern void sort(train *mas);
 
#endif  // sort_h
и подключал уже его к головному модулю
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru