我在一个项目的同一组源下有两个不同的.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) 当我从控制台运行时,我执行以下操作:
./a.out < Input.txt
Run Code Online (Sandbox Code Playgroud)
如何在调试时在CodeBlock中执行相同的操作?
好吧,我有一个用户定义的类型命名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) 我试图将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) 我的线程程序是:
#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
我正在尝试使用libcurl作为使用CodeBlocks IDE的简单应用程序.在Codeblocks IDE中,单击Build Options ==> Linker Settings ==> Link Libraries ==>"Add"后,文件浏览器只允许我在*.a,*.so,*.lib和*之间进行选择. dyl文件.为什么不允许我选择*.dll文件?我为libcurl下载了Windows的二进制包,它们都提供了.dll文件.这就是它的样子:

==== ==== UPDATE
嗨,我现在已经下载了lib curl的以下zip文件,其中包括CURL源,DLL文件和.lib文件.它可以在这里找到:http://www.confusedbycode.com/curl/curl-7.34.0-win64.zip
但是,我仍然有能力编译我的源代码的问题.
以下是我的源代码:
#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) 我在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) 我对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)
当我输入任何值时,我从 …
当我想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,输出是0100,输出是2.但是当我输入时0100,输出是1我知道只是0在数字更快之前不要输入,但我想知道是否可以0在没有错误的数字之前键入.
我在Windows 10 x64上使用Code :: Blocks 16.01(MinGW).
我试图计算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)
但是,当我在在线编辑器中 …