我是C++的新手,正在为一个班级工作.我们获得了一个.txt文件,必须从中读取信息,并将其存储在链表中,然后将其打印给用户.经过几个小时的尝试操作我们给出的例子,再过几个小时尝试从头开始编写代码,我与两者的关系都变得最接近.
该文件名为payroll.txt,在这种格式中大约有30行:
Clark Kent 55000 2500 0.07
Lois Lane 65000 1000 0.06
Tony Stark 70000 1500 0.05
我们的教授非常重视我们的代码,所以我希望它有所帮助.这是我的代码:
#include <cstdlib>
#include <stdio.h>
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
#define MAX_STR 100
/* Structure Definition */
typedef struct employeeType Employ;
struct employeeType {
char first[MAX_STR]; /* first name */
char last[MAX_STR]; /* last name */
int salary; /* salary */
int bonus; /* bonus */
double deduc; /* percent deduction */
Employ *next;
};
/* operations on the …Run Code Online (Sandbox Code Playgroud) 我知道它总是首先执行main()函数,然后函数调用将程序指向其他函数.如果有什么功能被称为*之前*的主要()函数?什么时候会被执行?
我有一个程序(我从互联网上下载),并在main()之前有函数调用.
现在我不知道它们是什么,如果只在main()中执行(以及在main中调用的函数).
这是该计划的片段:
static void set_level_indices (VideoParameters *p_Vid);
static void chroma_mc_setup (VideoParameters *p_Vid);
static void init_img (VideoParameters *p_Vid);
static void init_encoder (VideoParameters *p_Vid, InputParameters *p_Inp);
static int init_global_buffers (VideoParameters *p_Vid, InputParameters *p_Inp);
static void free_global_buffers (VideoParameters *p_Vid, InputParameters *p_Inp);
static void free_img (VideoParameters *p_Vid, InputParameters *p_Inp);
static void free_params (InputParameters *p_Inp);
static void encode_sequence (VideoParameters *p_Vid, InputParameters *p_Inp);
*(SOME FUNCTION DECLARATIONS OMITTED)*
int main(int argc, char **argv)
{
init_time();
#if MEMORY_DEBUG …Run Code Online (Sandbox Code Playgroud) 我在Stephen G. Kochan的"Programming in C"一书中学习了Arrays.尽管很长时间试图找到语法错误,但我已经达到了我对输出感到困惑的程度.
这是我的代码:
#include <stdio.h>
int main (void)
{
int values[10];
int index;
values[0] = 197;
values[2] = -100;
values[5] = 350;
values[3] = values[0] + values[5];
values[9] =
values[5] / 10;
--values[2];
for ( index = 0; index < 10; ++index )
printf("values[%i] = %i\n", index, values[index]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
根据书中输出应该如何显示:
values[0] = 197
values[1] = 0
values[2] = -101
values[3] = 547
values[4] = 0
values[5] = 350
values[6] = 0
values[7] = 0
values[8] …Run Code Online (Sandbox Code Playgroud) char**r; r =(char**)malloc(10);
上面的分配是否足够?我不需要为char循环分配for循环吗?任何可以解释哪一个是正确的?
也许是一个糟糕的话题,但考虑到以下代码,我是否free(player->name)也需要呢?
#include <stdio.h>
struct Player
{
char *name;
int level;
};
int main()
{
struct Player *player;
player->name = malloc(sizeof(player->name)*256);
player->name = "John";
printf(player->name);
free(player);
printf("\n\n\n");
system("PAUSE");
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我对编程很陌生.
我只想输入Dave,那么它应该显示"祝你有个美好的一天"
所以我用这种方式写它:
{
char str[100];
printf("\nwhat is your name?\n");
scanf("%s",str);
if (str="Dave")
{
printf("\nhave a nice day\n");
}
}
Run Code Online (Sandbox Code Playgroud)
最终,它没有显示任何内容.它出什么问题了?
我想得到最长字的字母数.如果我输入像"你好我"这样的东西,我会得到5分,但如果我写一些更长的东西,比如"英雄联盟",我会得到6而不是7.为什么?
#include <stdio.h>
int longest_word(const char string[]){
int i;
int max;
int cont;
i=0;
while(string[i]!='\0'){
for(cont=0;string[i]!=' '&& string[i]!='\0';i++)
cont++;
if (cont>max)
max=cont;
++i;
}
return max;
}
int main(void){
char f[100]; #maybe this is the problem?
int i;
printf("input a string: ");
scanf("%s",f);
i=longest_word(f);
printf("%d",i);
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我搜索了如何使用Expat库解析 XML 文件,但发现对初学者没有任何用处。
我想要的只是从配置文件中读取三个数字 6、7 和 8。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<board_height> 6 </board_height>
<board_width> 7 </board_width>
<maximum_highscores> 8 </maximum_highscores>
</Configuration>
Run Code Online (Sandbox Code Playgroud) 我有一个函数的签名:
void* cloneInt(const void* i);
Run Code Online (Sandbox Code Playgroud)
这int代表哈希函数的关键.我需要有这个克隆函数,因为它在我的API中用于散列表的泛型实现(此函数是int实现的一部分,此函数将作为指向我的泛型实现将使用的函数的指针转发) .但我有一个问题的理解:你怎么克隆一个int?我需要返回一个指针,该指针指向相同的值int,但内存中的位置不同.这让我非常困惑.
我对这段代码有几个问题(我不知道它是做什么的,它来自考试)。当数组像这样传递时,这意味着什么:nums[]?什么nums + 1意思?如果nums是一个数组,那么给它加1是什么意思?
int f(int nums[], int n){
if(n > 1) {
if(nums[0] < nums[1]) {
return 1 + f(nums + 1, n - 1);
}
else {
return f(nums + 1, n - 1);
}
}
else return 0;
}
Run Code Online (Sandbox Code Playgroud)