作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
现在我的代码如下所示,
typedef struct veiculo
{
char matricula[8];
int nreixos;
float alturaeixo;
int tag;
int classe;
}veiculo;
typedef struct portagem
{
int nome;
int kilometros;
float preco;
float total_recebido;
struct veiculo carro[100];
}portagem;
(...)
int encontrar_ult_elemento(struct veiculo v[]){
int d;
int i;
for(i=0;i<100;i++){
if (v[i]!= 0)
d++;
else
return d;
}
}
void guardar_veiculo(struct portagem p[] ,struct veiculo v, int d){
int i;
if(v.tag=="1")
encontrar_ult_elemento(p[1].carro[])=n;
p[1].carro[n]=v;
else if(v.tag=="2")
encontrar_ult_elemento(p[1].carro[])=n;
p[2].carro[n]=v;
else if(v.tag=="3")
encontrar_ult_elemento(p[1].carro[])=n;
p[3].carro[n]=v;
else if(v.tag=="4")
encontrar_ult_elemento(p[1].carro[])=n;
p[4].carro[n]=v;
else if(v.tag=="5")
encontrar_ult_elemento(p[1].carro[])=n;
p[5].carro[n]=v;
else if(v.tag=="6")
encontrar_ult_elemento(p[1].carro[])=n;
p[6].carro[n]=v;
else if(v.tag="7")
encontrar_ult_elemento(p[1].carro[])=n;
p[7].carro[n]=v;
else if(v.tag="8")
encontrar_ult_elemento(p[1].carro[])=n;
p[8].carro[n]=v;
else if(v.tag="9")
encontrar_ult_elemento(p[1].carro[])=n;
p[9].carro[n]=v;
else if(v.tag="10")
encontrar_ult_elemento(p[1].carro[])=n;
p[10].carro[n]=v;
}
int main()
{
struct portagem portagem1;
portagem1.nome = 1;
portagem1.kilometros=14;
portagem1.preco=1.00;
portagem1.total_recebido;
struct portagem portagem2;
portagem2.nome = 2;
portagem2.kilometros=15;
portagem2.preco=1.05;
portagem2.total_recebido;
struct portagem portagem3;
portagem3.nome = 3;
portagem3.kilometros=7;
portagem3.preco=1.20;
portagem3.total_recebido;
(...)
struct portagem p[]={portagem1,portagem2,portagem3,portagem4,portagem5,portagem6,portagem7,portagem8,portagem9};
****我还有另一个功能正在进行,要求用户注册车辆、分配相应的标签等...我只是不知道这是不是正确的方法。谢谢你们的帮助! ****
最佳答案
我假设您尝试过这样做:
void guardar_veiculo( portagem p[], veiculo v, int d ){
int n;
// if v.tag is greater or eaual 0 and less 9
// then operate on p[v.tag].
// I assume you meant 0..8 and not 1..10 ( struct portagem p[]= { }; in main )
if ( v.tag >= 0 && v.tag < 9 )
{
// get next free element in p[v.tag].carro
n = encontrar_ult_elemento( p[v.tag].carro );
if ( n >= 0 && n < 100 ) // test if n is in range 0..99
p[v.tag].carro[n] = v; // structure assignment
}
}
您的函数 encontrar_ult_elemento
应始终返回一个值:
int encontrar_ult_elemento( veiculo v[] ){
for( int d=0; d<100; d++ ){
if ( v[d].tag == 0 ) // I assume your criteria is "tag", but I have to guess.
return d;
}
return -1; // no empty element found
}
关于c - 如何将新元素添加到 C 中另一个结构数组内部的数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34598541/
我是一名优秀的程序员,十分优秀!