标签: codeblocks

如何运行多个源文件???需要帮助(C++ CODEBLOCKS)

我在一个项目的同一组源下有两个不同的.cpp文件(链表).我尝试运行一个名为"customer"的链接列表文件,但它只运行另一个名为"video"的文件.如何运行"客户"链表文件?

我的customer.cpp文件处于活动状态,但它仍在运行"视频"链接列表文件的程序.

基本上我试图带两个单独的客户列表和另一个单独的视频列表.

但是,当我尝试在customer.cpp选项卡下执行程序时,我认为应该运行该程序但运行video.cpp文件...我在这里遗漏了什么?

   #include <iostream>
    using namespace std;

    struct video
    {
      chartitle[40],star1[20],star2[20],star3[20],star4[20],prod[20],dir[20],proco[40];
     int copy;
     video *next;
     };
        video *first = NULL, *current = NULL;
      int optn = 0;
Run Code Online (Sandbox Code Playgroud)

^这是我的视频列表video.cpp文件的节点结构

      #include <iostream>
      using namespace std;

       struct customer
      {
       char f_name[20],l_name[20];
        int acc_num;
       customer *next;
        };
        customer *start = NULL, *pointer = NULL;
         int option = 0;
Run Code Online (Sandbox Code Playgroud)

^这是我的客户链表的节点结构.customer.cpp文件.这些文件在同一个项目下的两个单独的源文件中.

       int main(void)
        {
       first = NULL;
        current = NULL;
        do
       {
        display();
        cout << endl;
        cout << "Choose an option: " << endl; …
Run Code Online (Sandbox Code Playgroud)

c++ project codeblocks

1
推荐指数
1
解决办法
1万
查看次数

C++:如何从CodeBlocks中的文本文件中读取输入

当我从控制台运行时,我执行以下操作:

./a.out < Input.txt
Run Code Online (Sandbox Code Playgroud)

如何在调试时在CodeBlock中执行相同的操作?

c++ codeblocks

1
推荐指数
1
解决办法
2万
查看次数

C++ - 排序算法没有看到我的重载"<"运算符用于用户定义的类型.

好吧,我有一个用户定义的类型命名fraction,它代表普通分数与分子和分母.这是代码:

class Fraction
{
private:
  int numerator;
  int denominator;

public:
  Fraction(int numer,int denom)
    :numerator(numer),denominator(denom){}

  int get_denom(){return denominator;}
  int get_numer(){return numerator;}
};
Run Code Online (Sandbox Code Playgroud)

如您所见,它在头文件中完全实现.

所以我想要做的就是使用排序算法对分数进行排序.这是重载"<"运算符的代码(注意:它与Fraction类放在同一个文件中,但在类之外):

bool operator<(Fraction& first,Fraction& second)
{
  if(first.get_denom() == second.get_denom())
  {
    return first.get_numer()<second.get_numer()?true:false;
  }
  int first_num=first.get_denom();
  int second_num=second.get_denom();
  int lcm=(first_num*second_num)/gcd(first_num,second_num);
  int first_new_numerator=(lcm/first_num)*first.get_numer();
  int second_new_numerator=(lcm/second_num)*second.get_numer();

  return first_new_numerator<second_new_numerator?true:false;
}
Run Code Online (Sandbox Code Playgroud)

它的作用是检查分母是否相等,如果它们是测试分子的值.如果它们不相等,则使用最小公倍数和gcd来均衡它们.

当我想在main(编译时错误)中使用排序算法时,真正的问题就开始了.这是主要的代码:

Fraction parse_fraction(string& input)
{

  stringstream fraction_string(input);
  int numer;
  fraction_string>>numer;
  char seperator;
  fraction_string>>seperator;
  int denom;
  fraction_string>>denom;

  return Fraction(numer,denom);
}


int main()
{
  vector<Fraction> fractions;
  string input;
  while(cin>>input)
  {
    if(input=="|") …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm codeblocks

1
推荐指数
1
解决办法
1861
查看次数

SDL插件库未正确链接

我试图将SDL_mixer,SDL_ttf和SDL_image链接到我的项目,但由于某种原因,在编译我的代码时会弹出这些错误.我包含的头文件取决于它上面的库.我按此顺序链接到我的库:

MinGW32 OpenGL32 SDLmain SDL SDL_image SDL_ttf SDL_mixer

#include <map>
#include <string>
#include <sstream>
#include <fstream>
#include <iostream>
#include <GL/gl.h>
#include <SDL/SDL.h>
#include <SDL/SDL_opengl.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_mixer.h>
#include <SDL/SDL_ttf.h>

using namespace std;

#include "include_file.h"
#include "structure.h"
#include "player.h"
#include "healthclass.h"
#include "items.h"
#include "loadfiles.h"
#include "init_game.h"
#include "missions.h"
Run Code Online (Sandbox Code Playgroud)

那么错误:

obj\Release\main.o:main.cpp:(.text+0x16e): undefined reference to `Mix_LoadMUS'
obj\Release\main.o:main.cpp:(.text+0x197): undefined reference to `Mix_LoadWAV_RW'
obj\Release\main.o:main.cpp:(.text+0x1c0): undefined reference to `Mix_LoadWAV_RW'
obj\Release\main.o:main.cpp:(.text+0x1e9): undefined reference to `Mix_LoadWAV_RW'
obj\Release\main.o:main.cpp:(.text+0x7cd): undefined reference to `IMG_Load'
obj\Release\main.o:main.cpp:(.text+0x996): undefined reference to `TTF_RenderUTF8_Shaded' …
Run Code Online (Sandbox Code Playgroud)

c++ sdl mingw codeblocks linker-errors

1
推荐指数
1
解决办法
1932
查看次数

编译代码块中的线程程序时出错

我的线程程序是:

#include<iostream>
#include<thread>
using namespace std;

void t()
{
    cout<<"from thread\n";
}

int main()
{
     thread i(&t);
     cout <<"from main\n";
     i.join();
}
Run Code Online (Sandbox Code Playgroud)

但它在代码块中显示以下错误:

1)'thread ' was not declared in this scope
2)expected ';' before 'i'
3)'i' was not declared in this scope 
Run Code Online (Sandbox Code Playgroud)

我该如何解决?我正在使用Windows和代码块12.11

c++ codeblocks

1
推荐指数
1
解决办法
3437
查看次数

无法将dll库导入CodeBlocks链接器

我正在尝试使用libcurl作为使用CodeBlocks IDE的简单应用程序.在Codeblocks IDE中,单击Build Options ==> Linker Settings ==> Link Libraries ==>"Add"后,文件浏览器只允许我在*.a,*.so,*.lib和*之间进行选择. dyl文件.为什么不允许我选择*.dll文件?我为libcurl下载了Windows的二进制包,它们都提供了.dll文件.这就是它的样子:

在此输入图像描述

==== ==== UPDATE

  1. 嗨,我现在已经下载了lib curl的以下zip文件,其中包括CURL源,DLL文件和.lib文件.它可以在这里找到:http://www.confusedbycode.com/curl/curl-7.34.0-win64.zip

    但是,我仍然有能力编译我的源代码的问题.

  2. 以下是我的源代码:

包括

#include <iostream>
#include <stdio.h>
#include "curl/curl.h"
using namespace std;

int main()
{
    CURL *curl;
    CURLcode res;

    curl = curl_easy_init();
    if(curl) {
        curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
        /* example.com is redirected, so we tell libcurl to follow redirection */
        curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);

        /* Perform the request, res will get the return code */
        res = curl_easy_perform(curl);

        /* Check for errors …
Run Code Online (Sandbox Code Playgroud)

c++ dll linker codeblocks

1
推荐指数
1
解决办法
2万
查看次数

为什么我的代码在代码块中构建时运行得更快?

我在Codeblocks中用C++创建了一个小型库(大约600行),我正在使用OMP和O3优化来构建它.当我尝试使用具有完全相同选项的Makefile(-fopenmp -O3)通过终端构建相同的代码时,它运行速度慢了3倍.我需要在各种机器上构建它,所以我需要通过终端而不是通过Codeblocks来完成这个过程.为什么会这样?如果你有兴趣,这是我的Makefile:

CC=g++ 
CFLAGS= 
LDFLAGS= -fopenmp -O3 -std=c++11 
SOURCES=main.cpp CNNFunctions.cpp     
OBJECTS=$(SOURCES:.cpp=.o) EXECUTABLE=cnn

all: $(SOURCES) $(EXECUTABLE) 

$(EXECUTABLE): $(OBJECTS) 
    $(CC) $(LDFLAGS) $(OBJECTS) -o $@

.cpp.o: 
    $(CC) $(CFLAGS) $< -o $@
Run Code Online (Sandbox Code Playgroud)

c++ linux makefile g++ codeblocks

1
推荐指数
2
解决办法
359
查看次数

"如果"语句没有正确执行c ++

我对ifc ++中的语句有一个小问题.以下是代码片段:

string answer;
cin >> answer;

if (answer == "stay in bed")
{
   cout << "You lay there, motionless. Silent.";
}
else if (answer == "go to the bathroom")
{
   cout << "You get up and walk across the hall to the bathroom.";
}
else if (answer == "go downstairs")
{
   cout << "You get up and walk down the stairs to the kitchen.";
}
else
{
   cout << "That is not a valid answer...";
}
Run Code Online (Sandbox Code Playgroud)

当我输入任何值时,我从 …

c++ if-statement codeblocks

1
推荐指数
1
解决办法
155
查看次数

我在数字前输入"0"时出错

当我想0在数字之前输入时我遇到问题,但是当我只输入数字时一切正常.

#include <iostream>
#include <stdio.h>

int main()
{
    int input, output;

    printf("Enter number : ");
    scanf("%i",&input);

    output = input % 7;
    printf("%i", output);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

例如 :

  • 当我输入时8,输出是1.但是当我输入时08,输出是0
  • 当我输入时100,输出是2.但是当我输入时0100,输出是1

我知道只是0在数字更快之前不要输入,但我想知道是否可以0在没有错误的数字之前键入.

我在Windows 10 x64上使用Code :: Blocks 16.01(MinGW).

c++ codeblocks

1
推荐指数
1
解决办法
72
查看次数

为什么同一编译器的不同版本给出不同的结果?

我试图计算n 谐波数。这是我程序的主要代码段:

#include<cstdio>

int main(){
    int T; scanf("%d", &T);

    for (int C = 1; C <= T; C++){
        int n; scanf("%d", &n);
        long double H = 1;

        for (int i = 2; i <= n; i++)
            H += (1.0/i);

        printf("%.8lf\n", H);
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我在机器上运行该程序时(在Code :: Blocks IDE中,编译器gcc 5.1内),一切似乎都很好。

输入:

10
1
2
3
4
5
6
7
8
9
10
Run Code Online (Sandbox Code Playgroud)

输出:

1.000000
1.500000
1.833333
2.083333
2.283333
2.450000
2.592857
2.717857
2.828968
2.928968
Run Code Online (Sandbox Code Playgroud)

但是,当我在在线编辑器中 …

c++ floating-point stdout codeblocks

1
推荐指数
1
解决办法
103
查看次数