crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

astra
  опции профиля:
сообщение 8.4.2014, 9:24
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 8
Регистрация: 7.2.2014
Пользователь №: 4050

Спасибо сказали: 0 раз(а)




Репутация:   0  


Приветсвую, нужно срочно решить ошибки:
есть файл:
Раскрывающийся текст

#include <complex.h>
#include <stdio.h>
float alm, als, am, ak, at, al9 = - log ( 0.90 ), al, alpr, arg, an;
float bet,
       con, chi, cal, ch, c,
       dx = 0.001, dx2 = 0.0005, deltx, dn,
       fm, f, f1, f2, fg, fx, dfi, fme, Fmin, Fmax,
       gam, gas, gal,
       ps,  p1, p2, pl, pm,
       sim, sum, sigu, si, siga, sigr,
       test = 0.0000001,
       x = 0.0, x1, x2;
int icase;
int k = 0;
void calculate90();
void calculate95();
void fme1();
void fme2_3();
void fme4_5();
void fme6_7();

void Case1();
void Case2_3();
void Case4_5();
void Case6_7();




файл.cpp
Раскрывающийся текст

#include "calculate.h"
void Case1()
{
    printf( "CASE 1,STATIC REL. WITH SRV\n" );
    printf( "please input static strength alpha\n" );
    scanf( "%f", &alm );
    printf( "please input srv alpha\n" );
    scanf( "%f", &als );
    printf( "please input srv gamma\n" );
    scanf( "%f", &gas );
    printf( "please input Lower strength beta\n" );
    scanf( "%f", &bet );
    printf( "please input load level\n" );
    scanf( "%f", &ak );

    at = ak/gas;

    deltx = 1.0;

    if( bet >= 2.0 ) deltx = 2.0;
    if( ak >= 2.0 ) deltx = 2.0;
    calculate90 ();
}



и еще один файл.сpp
Раскрывающийся текст

#include "calculate.h"
void calculate90()
{
    x = x + dx;
    x1 = x - dx2;
    x2 = x + dx2;
    p1 = exp( - pow( x1/at, als ));
    p2 = exp( - pow( x2/at, als ));
    if( icase == 2 || icase == 3) fme2_3();
    if( icase == 4 || icase == 5) fme4_5();
    if( icase == 6 || icase == 7) fme6_7();
    fme1();
 }
void calculate95()
{
    ps = fm * ( p1 - p2 );
    sum = sum + ps;
    if( x <= deltx ) calculate90 ();
    if( ps > test ) calculate90 ();
    k = k + 1;
 }

void fme1()
{
    float fme = pow( x/bet, alm);
    if( fme > 40.0 )
    {
        fm = 0.0;
        calculate95();
    }
    fm =  exp ( - fme );
    calculate95 ();
}




выдаёт вот такое :
Раскрывающийся текст

debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:5: multiple definition of `alm'
debug/main.o:C:\media\build/../bsrv/main.cpp:7: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:5: multiple definition of `als'
debug/main.o:C:\media\build/../bsrv/main.cpp:7: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:6: multiple definition of `am'
debug/main.o:C:\media\build/../bsrv/main.cpp:7: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:6: multiple definition of `ak'
debug/main.o:C:\media\build/../bsrv/main.cpp:7: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:6: multiple definition of `at'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o:case1.cpp:(.data+0x0): multiple definition of `al9'
debug/main.o:main.cpp:(.data+0x0): first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:7: multiple definition of `al'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:7: multiple definition of `alpr'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:7: multiple definition of `arg'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:8: multiple definition of `an'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:8: multiple definition of `bet'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:8: multiple definition of `con'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:8: multiple definition of `chi'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:8: multiple definition of `cal'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:9: multiple definition of `ch'
debug/main.o:C:\media\build/../bsrv/main.cpp:10: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:9: multiple definition of `c'
debug/main.o:C:\media\build/../bsrv/main.cpp:10: first defined here
debug/case1.o:case1.cpp:(.data+0x4): multiple definition of `dx'
debug/main.o:main.cpp:(.data+0x4): first defined here
debug/case1.o:case1.cpp:(.data+0x8): multiple definition of `dx2'
debug/main.o:main.cpp:(.data+0x8): first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:9: multiple definition of `deltx'
debug/main.o:C:\media\build/../bsrv/main.cpp:10: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:10: multiple definition of `dn'
debug/main.o:C:\media\build/../bsrv/main.cpp:11: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:10: multiple definition of `fm'
debug/main.o:C:\media\build/../bsrv/main.cpp:11: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:10: multiple definition of `f'
debug/main.o:C:\media\build/../bsrv/main.cpp:11: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:10: multiple definition of `f1'
debug/main.o:C:\media\build/../bsrv/main.cpp:12: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:10: multiple definition of `f2'
debug/main.o:C:\media\build/../bsrv/main.cpp:12: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:11: multiple definition of `fg'
debug/main.o:C:\media\build/../bsrv/main.cpp:12: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:11: multiple definition of `fx'
debug/main.o:C:\media\build/../bsrv/main.cpp:13: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:11: multiple definition of `dfi'
debug/main.o:C:\media\build/../bsrv/main.cpp:13: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:12: multiple definition of `fme'
debug/main.o:C:\media\build/../bsrv/main.cpp:13: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:12: multiple definition of `Fmin'
debug/main.o:C:\media\build/../bsrv/main.cpp:14: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:12: multiple definition of `Fmax'
debug/main.o:C:\media\build/../bsrv/main.cpp:14: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:12: multiple definition of `gam'
debug/main.o:C:\media\build/../bsrv/main.cpp:14: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:12: multiple definition of `gas'
debug/main.o:C:\media\build/../bsrv/main.cpp:15: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:13: multiple definition of `gal'
debug/main.o:C:\media\build/../bsrv/main.cpp:15: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:13: multiple definition of `ps'
debug/main.o:C:\media\build/../bsrv/main.cpp:15: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:13: multiple definition of `p1'
debug/main.o:C:\media\build/../bsrv/main.cpp:16: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:14: multiple definition of `p2'
debug/main.o:C:\media\build/../bsrv/main.cpp:16: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:14: multiple definition of `pl'
debug/main.o:C:\media\build/../bsrv/main.cpp:16: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:14: multiple definition of `pm'
debug/main.o:C:\media\build/../bsrv/main.cpp:17: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:14: multiple definition of `sim'
debug/main.o:C:\media\build/../bsrv/main.cpp:17: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:14: multiple definition of `sum'
debug/main.o:C:\media\build/../bsrv/main.cpp:17: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:15: multiple definition of `sigu'
debug/main.o:C:\media\build/../bsrv/main.cpp:19: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:15: multiple definition of `si'
debug/main.o:C:\media\build/../bsrv/main.cpp:19: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:15: multiple definition of `siga'
debug/main.o:C:\media\build/../bsrv/main.cpp:19: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:16: multiple definition of `sigr'
debug/main.o:C:\media\build/../bsrv/main.cpp:19: first defined here
debug/case1.o:case1.cpp:(.data+0xc): multiple definition of `test'
debug/main.o:main.cpp:(.data+0xc): first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:16: multiple definition of `x'
debug/main.o:C:\media\build/../bsrv/main.cpp:19: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:16: multiple definition of `x1'
debug/main.o:C:\media\build/../bsrv/main.cpp:20: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:16: multiple definition of `x2'
debug/main.o:C:\media\build/../bsrv/main.cpp:20: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:16: multiple definition of `icase'
debug/main.o:C:\media\build/../bsrv/main.cpp:20: first defined here
debug/case1.o: In function `Z5Case1v':


Help me... как исправить? что не так делаю... никогда этого не понимал(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Влад
  опции профиля:
сообщение 8.4.2014, 9:47
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 146
Регистрация: 20.3.2009
Из: Санкт-Петербург
Пользователь №: 627

Спасибо сказали: 46 раз(а)




Репутация:   8  


Вот это вот все:
float alm, als, am, ak, at, al9 = - log ( 0.90 ), al, alpr, arg, an;
float bet,
       con, chi, cal, ch, c,
       dx = 0.001, dx2 = 0.0005, deltx, dn,
       fm, f, f1, f2, fg, fx, dfi, fme, Fmin, Fmax,
       gam, gas, gal,
       ps,  p1, p2, pl, pm,
       sim, sum, sigu, si, siga, sigr,
       test = 0.0000001,
       x = 0.0, x1, x2;
int icase;
int k = 0;
перенести в файл *.cpp. А в твоем файле calculate.h приписать к ним волшебное слово extern. И, кстати, не забудь про стражи включения (guards) в файле *.h. Должно получиться примерно так:
#ifndef __CALCULATE_H__
#define __CALCULATE_H__

#include <complex.h>
#include <stdio.h>

extern float alm, als, am, ak, at, al9, al, alpr, arg, an;
extern float bet,
       con, chi, cal, ch, c,
       dx, dx2, deltx, dn,
       fm, f, f1, f2, fg, fx, dfi, fme, Fmin, Fmax,
       gam, gas, gal,
       ps,  p1, p2, pl, pm,
       sim, sum, sigu, si, siga, sigr,
       test,
       x, x1, x2;
extern int icase;
extern int k;

// тут все прочее....
#endif
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 26.6.2025, 15:10