Problemas na compilação

1. Problemas na compilação

Guilherme José Schneider
gjschneider92

(usa openSUSE)

Enviado em 08/03/2011 - 15:25h

Boa tarde pessoal tudo bem?

Estou com o seguinte problema, instalei o fedora 14, tudo certo e após isso, instalei codeblock, porem nao consigo compilar meus scripts.

#include <stdio.h>

main()

{

int salMinimo, quilowatt, valQuilo, valPago, comDesc;

printf("Digite o valor do salario minimo:");
scanf(salMinimo);

printf("Informe a quantidade de quilowatt gasta:");
scanf(quilowatt);

valQuilo = salMinimo/5;
valPago = valQuilo * quilowatt;
comDesc = valPago - (valPago / 100) * 15;

printf("valQuilo");
printf("valPago");
printf("comDesc");

}


Quando eu tento compila-lo, acontece o seguinte erro:

line 9: syntax error near unexpected token '"Digite o valor do salario minimo:"'

Alguem sabe como resolver?

Desde ja agradeço.




  


2. scanf

Julio Cesar
imasternex

(usa Ubuntu)

Enviado em 08/03/2011 - 15:28h

vc digitou:

printf("Digite o valor do salario minimo:");
scanf(salMinimo);

tente assim: scanf("%d", &salMinimo);

e no printf tente assim: printf("valQuilo: %d", valQuilo);




3. Re: Problemas na compilação

Guilherme José Schneider
gjschneider92

(usa openSUSE)

Enviado em 08/03/2011 - 15:34h

Amigo fiz as alterações que falou, ficou assim:

#include <stdio.h>

main()

{

int salMinimo, quilowatt, valQuilo, valPago, comDesc;

printf("Digite o valor do salario minimo:");
scanf("%d",&salMinimo);

printf("Informe a quantidade de quilowatt gasta:");
scanf("%d",&quilowatt);

valQuilo = salMinimo/5;
valPago = valQuilo * quilowatt;
comDesc = valPago - (valPago / 100) * 15;

printf("valQuilo");
printf("valPago");
printf("comDesc");

}

Mas, o erro persiste =(


4. exemplo

Julio Cesar
imasternex

(usa Ubuntu)

Enviado em 08/03/2011 - 15:39h

você precisa observar melhor o código, o printf está errado. Use esse exemplo como base:
#include<stdlib.h>
#include<stdio.h>
int main()
{
int i;
float salario[i];
float media;
float soma=0;
int nFuncionarios;
int acima=0;

printf("Digite a quantidade de funcionarios: \n");
scanf("%d",&nFuncionarios);

printf("Digite salario dos funcionarios: \n");
for( i=0; i < nFuncionarios; i++)
{
scanf("%f",&salario[i]);
soma+=salario[i];
}
media=(soma/nFuncionarios);
for( i=0; i < nFuncionarios; i++)
{
if (salario[i]>media)
acima+=1;
}
printf("Media: %.2f\n",media);
printf("Salarios acima da media: %d\n",acima);
system ("pause");
return 0;
}



5. Re: Problemas na compilação

André
andrezc

(usa Debian)

Enviado em 08/03/2011 - 15:45h

gjschneider92 , sugiro que reveja seus conceitos sobre E/S na linguagem C. Sua dúvida e seus erros são coisas bobas, se pesquisar, e ler um bom texto, você saberá e entenderá o porque do erro.

imasternex,

se for pra ensinar, ensine direito. Pra que você está chamando outro programa (PAUSE)? E o PAUSE é um programa do Windows, no nosso caso (Viva o Linux), realmente é coerente fazer o uso da função system() pra chamar esse programa? De qualquer forma, mesmo no Windows, não é interessante fazer isso. Se o programa roda em um shell ou no DOS, como no caso do Windows, ele deve ser executado através deste.


6. Re: Problemas na compilação

Guilherme José Schneider
gjschneider92

(usa openSUSE)

Enviado em 08/03/2011 - 15:47h

Ainda nao funcionou, nao acho o erro no printf.


7. Problemas na compilação

Julio Cesar
imasternex

(usa Ubuntu)

Enviado em 08/03/2011 - 15:51h

reveja as bibliotecas, o scanf e o printf.

Stdlib.h é um arquivo cabeçalho da biblioteca de propósito geral padrão da liguagem de programação C. Ela possui funções envolvendo alocação de memória, controle de processos, conversões e outras.


8. Re: Problemas na compilação

André
andrezc

(usa Debian)

Enviado em 08/03/2011 - 15:51h

Bom, vamos lá então. Veja como você está fazendo:

printf("valQuilo");
printf("valPago");
printf("comDesc");

Tudo que está dentro dos parênteses pode ser chamado de argumento. No caso, você está recebendo um texto como argumento, tudo que está dentro das aspas é texto. Exceto quando temos um sinal representativo, que é chamado através do %. Por exemplo, o d representa o tipo inteiro.

printf("Minha variavel inteira: %d",varInt);

Leia mais sobre isso. Há várias formas diferentes para tipos diferentes, Exemplo:

%f para ponto flutuante (float);
%d para inteiro, como eu já disse;
%s para string;
%c para caractere

Acho que já falei demais. Agora é com você.



9. Re: Problemas na compilação

André
andrezc

(usa Debian)

Enviado em 08/03/2011 - 15:54h

E outra, no seu código não há porque usar a stdlib.h, desde que não se use a função system(). Para usar as funções de E/S, apenas a biblioteca padrão de E/S da linguagem C, a stdio, já basta.


10. Re: Problemas na compilação

Julio Cesar
imasternex

(usa Ubuntu)

Enviado em 08/03/2011 - 15:56h

andrezc, realmente errei nisso. É que esse exemplo q mandei foi criado para o windows, mas não vai voltar a acontecer.


11. Re: Problemas na compilação

Guilherme José Schneider
gjschneider92

(usa openSUSE)

Enviado em 08/03/2011 - 16:27h

Bem criei um código simples:

#include <stdio.h>

#include <stdlib.h>

int main()

{

prinft("Meu primeiro programa.");

system("PAUSE");

return 0;

}


E acontece a mesma coisa.Alguma ideia?


12. Re: Problemas na compilação

Perfil removido
removido

(usa Nenhuma)

Enviado em 08/03/2011 - 16:30h

opa,
instala esse pacotes e faça um teste

yum install gcc gcc-c++ kernel-devel

vlw!



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts