- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有下一个代码,但是当从 cmd 编译时出现 mingw 错误。
ultimo->siguiente = producto
for(producto=primer; producto != NULL ;producto = producto->siguiente)
siguiente = este->siguiente;
warning assignment from incompatible pointer 在这三行中显示警告。
有什么问题?我包含了代码库,string.h,stdlib.h
typedef struct Producto
{
int codigo_producto;
char descripcion[20];
float precio_unitario;
struct producto *siguiente;
} t_producto;
float aplicar_iva(float precio_base);
void eliminar_todo(t_producto*);
void emitir_saludo(void);
void imprimir_producto(t_producto);
t_producto* leer_producto(void);
int main()
{
t_producto *primer, *ultimo, *producto;
primer = NULL;
ultimo = NULL;
char decision;
int i, cantidad;
float total;
cantidad =0;
total = 0.0;
emitir_saludo();
while(1) //while infinito
{
do
{
printf("\nHay %d productos en el carrito. ¿Quiere pasar otro producto? [s/n]: ",cantidad);
decision = getchar();
while(getchar()==EOF);
}while(decision != 's' && decision != 'S' && decision != 'n' && decision != 'N');
if(decision=='n' || decision == 'N')
{
break;
}
producto = leer_producto();
if(primer == NULL) //si no hay ningun elemento
{
primer= producto;
}
if(ultimo != NULL) //si hay elemntos se le dice al ultimo que ya no es el ultimo
{
ultimo->siguiente = producto;
}
ultimo = producto;
cantidad++;
}
puts("\nPRODUCTOS:\n");
for(producto=primer; producto != NULL ;producto = producto->siguiente)
{
imprimir_producto(*producto);
total += producto ->precio_unitario;
}
printf("\nTotal deproductos: %d\n\n",cantidad);
printf("Precio total sin IVA: %.2f\n",total);
printf("Precio total con IVA: %.2f\n",aplicar_iva(total));
printf("\nBuenos dias.\n");
eliminar_todo(primer);
return 0;
}
float aplicar_iva(float precio_base)
{
return precio_base * 1.21;
}
void emitir_saludo(void)
{
printf("\n* * * * * * * * * * * * * * * * * *");
printf("\n* * PROGRAMA SUPERMERCADO * *\n");
printf("* * La calidad es lo primero * *\n");
printf("* * * * * * * * * * * * * * * * * *\n");
}
void imprimir_producto(t_producto t)
{
printf("%d %s %f\n",t.codigo_producto,t.descripcion,t.precio_unitario);
}
t_producto* leer_producto(void)
{
t_producto *p;
p = (t_producto*)malloc(sizeof(t_producto));
char entrada[80];
printf("\nCodigo producto: ");
fgets(entrada,10,stdin);
if(entrada[strlen(entrada)-1] == '\n')
{
entrada[strlen(entrada)-1] = '\0';
}
p->codigo_producto = (int) strtol(entrada,NULL,10);
printf("Descripcion: ");
fgets(p->descripcion,20,stdin);
if(p->descripcion[strlen(p->descripcion)-1] == '\n')
{
p->descripcion[strlen(p->descripcion)-1] = '\0';
}
printf("Precio: " );
fgets(entrada,10,stdin);
if(entrada[strlen(entrada)-1] == '\n')
{
entrada[strlen(entrada)-1] = '\0';
}
p->precio_unitario = strtof(entrada,NULL);
p->siguiente = NULL;
return p;
}
void eliminar_todo(t_producto* producto)
{
t_producto *este, *siguiente;
este =producto;
while(este!=NULL)
{
siguiente = este->siguiente;
este->siguiente = NULL;
free(este);
este=siguiente;
}
}
提前致谢!
最佳答案
从 struct Producto *
struct producto *
的指针类型不兼容
typedef struct producto
{
int codigo_producto;
char descripcion[20];
float precio_unitario;
struct producto *siguiente;
} t_producto;
注意小写的 producto
而不是 Producto
。
关于c - 从cmd通过mingw编译报错,codeblocks可以编译执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42171744/
在我的代码块的文件选项卡中,我看不到文件。文件资源管理器仅显示目录树。 要加载 .cpp 文件,我需要进入我的工作区目录,然后我可以选择在 C::B 中打开它。该文件已加载到 IDE 中,但我无法在文
CodeBlocks 是否有任何快捷方式来格式化代码? 我在谷歌上没有找到任何提示。 我发现只有“格式使用AStyle”,但它只提供鼠标右键...... 最佳答案 默认情况下可能不是,但您应该能够在那
代码块中是否有“重命名文件”选项,而不是通过资源管理器重命名它?我尝试右键单击该选项卡,但似乎没有选项卡。 最佳答案 确保您要重命名的文件未在代码块中打开。在“项目”->“工作区”下,右键单击该文件以
我很难用 Code::Blocks 设置 SDL2 我尝试了一些在谷歌上找到的教程,我也尝试通过在这个网站上搜索来解决问题,但是我没有解决它,每次我在编译一个简单的程序时遇到错误 所以我希望有人好心给
我想自学 SDL,但在第一次尝试时遇到了非常不愉快的问题。我做了一些研究,发现我首先需要让 CodeBlocks 知道库所在的位置。首先,我有 64 字节的操作系统。 就在我读的时候,我把东西放进去:
我安装了 codeblocks,然后编写了代码,但是当我按下构建键时,codeblocks IDE 停止工作。 然后程序关闭。 我该怎么办? 最佳答案 有任何构建消息吗? 我想也许你应该检查你的编译器
我想在代码块中设置默认模板代码。如何在每次打开新项目或空文件时出现的代码块中设置默认代码。 最佳答案 通常创建一个新项目并使用您想要的代码对其进行自定义,然后转到File > 将项目另存为模板。现在,
最好的代码块快捷方式是什么?还有什么方法可以直接缩进我们所有的代码?此外,我们如何在代码块中的事件选项卡中移动? 最佳答案 ] 2 从 添加你想要的快捷方式设置->编辑器->键盘快捷键->插件->源代
谢谢。 因此,当我使用 C 语言将一些代码写入代码块并运行它时,假设代码没有错误,它运行良好。除非我删除可执行文件和目标文件,否则代码的后续修改和运行只会产生我第一次运行代码时的结果。换句话说,它不会
#include #include int main(void) { double a, b, c, root1, root2; printf("Input the coefficient a
我在识别我机器上的 GLFW 库的代码块 10.05 时遇到了一些困难。当我创建一个空项目并复制粘贴此 GLFW 教程中的代码时 >> http://content.gpwiki.org/index.
我已将代码块的背景更改为深色和光标颜色,我也正在从 Settings->Editor->margins and carets 更改.. 但是光标的颜色在一段时间后变回黑色(主要是在'['']'自动完成
我已经开始使用C :: B并发现了一个令人讨厌的问题:我通常在工作区中有许多打开的项目,每当我关闭C :: B时,下次启动时,我都会在“项目”选项卡中丢失所有项目。因此,每次我必须从File->Rec
Closed. This question is off-topic。它当前不接受答案。
#include #include #include int main() { char string; printf("Hello\n"); printf("What w
我定义了以下结构: typedef struct { int num_albaran; char cod_vendedor[5]; char cod_cliente[5];
我尝试运行并浏览我在网上可以找到的所有内容来解决该问题,但它不起作用。到目前为止我已经完成了: 使用 mingw 设置下载了 Codeblocks 13.12(并尝试使用 16.01)。 将graph
主要功能如下: int main (void){ tProyecto proyecto; /*Proyecto a gestionar*/ int opcion; /*
我已经使用 codeblocks 大约 3 个月了,现在它运行得很好。今天我编写了一个简短的程序,当我尝试构建并运行时,IDE 大约需要 1 分钟才能响应(通常需要 5-10 秒)。程序打不开,显示的
我有多个项目,它们一遍又一遍地具有相同的头文件,是否可以创建一个包含所有头文件及其源文件的通用 utils 文件夹? Project files with header files 最佳答案 是的,可
我是一名优秀的程序员,十分优秀!