Colocar Resposta 
 
Avaliação do Tópico:
  • 2 votos - 5 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Linguagem C - Dicas e ajuda para iniciantes
17-07-2011, 19:07
Mensagem: #31
RE: Linguagem C - Dicas e ajuda para iniciantes
Convem postares tambem o erro que te da
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
17-07-2011, 22:36
Mensagem: #32
RE: Linguagem C - Dicas e ajuda para iniciantes
(17-07-2011 17:11)helder fortunato Escreveu:  
(24-08-2010 21:57)Rui C. Escreveu:  Obrigado Wink


o programa que eu queria fazer era + ou - isto,mas eatá a dár erro


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int duplo_light_flex,duplo_digital,triplo_10m,triplo_10m_digital;
int a,b,c,d,e;
a=80;
b=90;
c=100;
d=110;
e=125;
printf("80%%,90%%,100%%,110%%,125%% digita a tua percentagem%d\n");
scanf("%d",&a,&b,&c,&d,&e);


if (a)
duplo_light_flex=2;
duplo_digital=5;
triplo_10m=7
triplo_10m_digital=9;

printf(" digite quantos duplo_light_flex%d\n");
scanf("%d",&duplo_light_flex);
printf("digite quantos duplo_digital%d\n");
scanf("%d",&duplo_digital);
printf("digite quantos triplo_10m%d\n");
scanf("%d",&triplo_10m);
printf("digite quantos triplo_10M_digital%d\n");
scanf("%d",triplo_10m_gigital);
soma=duplo_light_flex+duplo_digital+triplo_10m+triplo_10m_gigital;
printf("resultado%d" ,soma);


(...)

Código corrigido, isto pode ser bastante simplificado, pois tem blocos que são repetidos! Mas teste e dê o seu feedback Smile

Código:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int duplo_light_flex,duplo_digital,triplo_10m,triplo_10m_digital;
    int a,b,c,d,e;
    a=80;
    b=90;
    c=100;
    d=110;
    e=125;
    //printf("80%%,90%%,100%%,110%%,125%%  digita a tua percentagem%d\n");
    //scanf("%d",&a,&b,&c,&d,&e);
    printf("80% \n90% \n100% \n110% \n125% \ndigita a tua percentagem:\n");
    int opcao=a; //coloque o respectivo numero sem '%'
    scanf("%d", &opcao);

    int soma=0;
    
    if (opcao == a)
    {
        duplo_light_flex=2;
        duplo_digital=5;
        triplo_10m=7;
        triplo_10m_digital=9;

        printf(" digite quantos duplo_light_flex\n");
        scanf("%d",&duplo_light_flex);
        printf("digite quantos duplo_digital\n");
        scanf("%d",&duplo_digital);
        printf("digite quantos triplo_10m\n");
        scanf("%d",&triplo_10m);
        printf("digite quantos triplo_10M_digital\n");
        scanf("%d",&triplo_10m_digital);
        soma=duplo_light_flex+duplo_digital+triplo_10m+triplo_10m_digital;
        printf("resultado: %d\n" ,soma);
    }

    if (opcao == b)
    {
        duplo_light_flex=4;
        duplo_digital=7;
        triplo_10m=9;
        triplo_10m_digital=11;

        printf(" digite quantos duplo_light_flex\n");
        scanf("%d",&duplo_light_flex);
        printf("digite quantos duplo_digital\n");
        scanf("%d",&duplo_digital);
        printf("digite quantos triplo_10m\n");
        scanf("%d",&triplo_10m);
        printf("digite quantos triplo_10M_digital\n");
        scanf("%d",&triplo_10m_digital);
        soma=duplo_light_flex+duplo_digital+triplo_10m+triplo_10m_digital;
        printf("resultado: %d\n" ,soma);
    }

    if (opcao == c)
    {
        duplo_light_flex=8;
        duplo_digital=12;
        triplo_10m=15;
        triplo_10m_digital=18;


        printf(" digite quantos duplo_light_flex\n");
        scanf("%d",&duplo_light_flex);
        printf("digite quantos duplo_digital\n");
        scanf("%d",&duplo_digital);
        printf("digite quantos triplo_10m\n");
        scanf("%d",&triplo_10m);
        printf("digite quantos triplo_10M_digital\n");
        scanf("%d",&triplo_10m_digital);
        soma=duplo_light_flex+duplo_digital+triplo_10m+triplo_10m_digital;
        printf("resultado: %d\n" ,soma);
    }

    if (opcao == d)
    {
        duplo_light_flex=10;
        duplo_digital=14;
        triplo_10m=18;
        triplo_10m_digital=22;


        printf(" digite quantos duplo_light_flex\n");
        scanf("%d",&duplo_light_flex);
        printf("digite quantos duplo_digital\n");
        scanf("%d",&duplo_digital);
        printf("digite quantos triplo_10m\n");
        scanf("%d",&triplo_10m);
        printf("digite quantos triplo_10M_digital\n");
        scanf("%d",&triplo_10m_digital);
        soma=duplo_light_flex+duplo_digital+triplo_10m+triplo_10m_digital;
        printf("resultado: %d\n" ,soma);
    }

    if (opcao == e)
    {
        duplo_light_flex=12;
        duplo_digital=16;
        triplo_10m=20;
        triplo_10m_digital=26;


        printf(" digite quantos duplo_light_flex\n");
        scanf("%d",&duplo_light_flex);
        printf("digite quantos duplo_digital\n");
        scanf("%d",&duplo_digital);
        printf("digite quantos triplo_10m\n");
        scanf("%d",&triplo_10m);
        printf("digite quantos triplo_10M_digital\n");
        scanf("%d",&triplo_10m_digital);
        soma=duplo_light_flex+duplo_digital+triplo_10m+triplo_10m_digital;
        printf("resultado: %d\n" ,soma);
    }

    system("PAUSE");    
    return 0;
}

wolfytuga
Para o que der e vier...
emachines E520 | Intel Celeron 2.0GHz | 32/64bit | RAM 2GB | HD 160GB | Intel Mobile 4 Express, 64MB → 1GB
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
18-07-2011, 14:39 (Esta mensagem foi modificada pela última vez a: 18-07-2011 14:43 por helder fortunato.)
Mensagem: #33
RE: Linguagem C - Dicas e ajuda para iniciantes
ok obrigado,vou esperimentar assim,pensso que com essas correçoes vai ficar bom
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
18-07-2011, 15:41
Mensagem: #34
RE: Linguagem C - Dicas e ajuda para iniciantes
boas amigo,já estive a esperimentar o programa e já nao dá erro fincou bem melhor (funciona) mas só nao está a dár o resultado que eu esperava...

se esperimentares o codigo ele vai me dar a soma dos contratos que eu fiz,mas eu queria que ele somasse era os pontos,
tipo se eu escolher a opçao 100% e escolher 2 contr. de cada tipo 2-duplo_light_flex, 2-duplo_digital etc, o programa vaime dar o resultado de 8 mas se somasse os pontos ele deveria dar o resultado de 106 mas funciona quase bem
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
18-07-2011, 15:45 (Esta mensagem foi modificada pela última vez a: 18-07-2011 16:05 por wolfytuga.)
Mensagem: #35
RE: Linguagem C - Dicas e ajuda para iniciantes
(18-07-2011 14:39)helder fortunato Escreveu:  ok obrigado,vou esperimentar assim,pensso que com essas correçoes vai ficar bom

Em alternativa tem este pequeno substituto, este faz uso do switch case:

Código:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int duplo_light_flex,duplo_digital,triplo_10m,triplo_10m_digital;
    enum{a=80,b=90,c=100,d=110,e=125};
    
    printf("80%% \n90%% \n100%% \n110%% \n125%% \ndigita a tua percentagem:\n");
    
    int opcao=a; //coloque o respectivo numero sem '%'
    scanf("%d", &opcao);
    
    switch (opcao)
    {
        case a: duplo_light_flex=2;
                duplo_digital=5;
                triplo_10m=7;
                triplo_10m_digital=9;
                break;
                
        case b: duplo_light_flex=4;
                duplo_digital=7;
                triplo_10m=9;
                triplo_10m_digital=11;
                break;
                
        case c: duplo_light_flex=8;
                duplo_digital=12;
                triplo_10m=15;
                triplo_10m_digital=18;
                break;
                
        case d: duplo_light_flex=10;
                duplo_digital=14;
                triplo_10m=18;
                triplo_10m_digital=22;
                break;
                
        case e: duplo_light_flex=12;
                duplo_digital=16;
                triplo_10m=20;
                triplo_10m_digital=26;
                break;
                
        default:     printf("\nEssa opcao nao esta disponivel!\n\n");
                    exit(0);
                    break;
    }
    
    int soma=0;
    
    printf(" digite quantos duplo_light_flex\n");
    scanf("%d",&duplo_light_flex);
    printf("digite quantos duplo_digital\n");
    scanf("%d",&duplo_digital);
    printf("digite quantos triplo_10m\n");
    scanf("%d",&triplo_10m);
    printf("digite quantos triplo_10M_digital\n");
    scanf("%d",&triplo_10m_digital);
    soma=duplo_light_flex+duplo_digital+triplo_10m+triplo_10m_digital;
    printf("resultado: %d\n" ,soma);
    
    system("PAUSE");    
    return 0;
}

@off topic: Para que é que está a introduzir valores iniciais, se ao pedir ao utilizador irá reescrever esses mesmos valores? Unsure Ainda se houvesse um pedido ao utilizador se quer usar os valores padrão ou se quer introduzir uns novos, isso assim, já era compreensível!!! Neutral
(18-07-2011 15:41)helder fortunato Escreveu:  boas amigo,já estive a esperimentar o programa e já nao dá erro fincou bem melhor (funciona) mas só nao está a dár o resultado que eu esperava...

se esperimentares o codigo ele vai me dar a soma dos contratos que eu fiz,mas eu queria que ele somasse era os pontos,
tipo se eu escolher a opçao 100% e escolher 2 contr. de cada tipo 2-duplo_light_flex, 2-duplo_digital etc, o programa vaime dar o resultado de 8 mas se somasse os pontos ele deveria dar o resultado de 106 mas funciona quase bem

ah, eu me perguntava porque estava a guardar o resultado em variáveis com resultados armazenados... afinal aqueles valores são constantes e o utilizador apenas insere o peso que cada constante vai ter, é isso?

ou seja, isto (para 100%):
Código:
duplo_light_flex=8;
duplo_digital=12;
triplo_10m=15;
triplo_10m_digital=18;

printf("digite quantos duplo_light_flex\n");
scanf("%d",&peso_duplo_light_flex);
printf("digite quantos duplo_digital\n");
scanf("%d",&peso_duplo_digital);
printf("digite quantos triplo_10m\n");
scanf("%d",&peso_triplo_10m);
printf("digite quantos triplo_10M_digital\n");
scanf("%d",&peso_triplo_10m_digital);

soma = (peso_duplo_light_flex*duplo_light_flex) + (peso_duplo_digital*duplo_digital) + (peso_triplo_10m*triplo_10m) + (peso_triplo_10m_digital*triplo_10m_digital);
printf("resultado: %d\n" ,soma);

Assim, desta forma, supondo que o utilizador insere 2 em cada campo, fica o seguinte em soma:
soma = (2*8) + (2*12) + (2*15) + (2*18);

É isto?
Pode ver se este código já corresponde ao que quer?

Código:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int duplo_light_flex,duplo_digital,triplo_10m,triplo_10m_digital;
    enum{a=80,b=90,c=100,d=110,e=125};
    
    printf("80%% \n90%% \n100%% \n110%% \n125%% \ndigita a tua percentagem:\n");
    
    int opcao=a; //coloque o respectivo numero sem '%'
    scanf("%d", &opcao);
    
    switch (opcao)
    {
        case a: duplo_light_flex=2;
                duplo_digital=5;
                triplo_10m=7;
                triplo_10m_digital=9;
                break;
                
        case b: duplo_light_flex=4;
                duplo_digital=7;
                triplo_10m=9;
                triplo_10m_digital=11;
                break;
                
        case c: duplo_light_flex=8;
                duplo_digital=12;
                triplo_10m=15;
                triplo_10m_digital=18;
                break;
                
        case d: duplo_light_flex=10;
                duplo_digital=14;
                triplo_10m=18;
                triplo_10m_digital=22;
                break;
                
        case e: duplo_light_flex=12;
                duplo_digital=16;
                triplo_10m=20;
                triplo_10m_digital=26;
                break;
                
        default:     printf("\nEssa opcao nao esta disponivel!\n\n");
                    exit(0);
                    break;
    }
    
    int soma=0;
    
    int peso_duplo_light_flex,peso_duplo_digital,peso_triplo_10m,peso_triplo_10m_digital​;
    
    printf("digite quantos duplo_light_flex\n");
    scanf("%d",&peso_duplo_light_flex);
    printf("digite quantos duplo_digital\n");
    scanf("%d",&peso_duplo_digital);
    printf("digite quantos triplo_10m\n");
    scanf("%d",&peso_triplo_10m);
    printf("digite quantos triplo_10M_digital\n");
    scanf("%d",&peso_triplo_10m_digital);
    
    soma = (peso_duplo_light_flex*duplo_light_flex) + (peso_duplo_digital*duplo_digital) + (peso_triplo_10m*triplo_10m) + (peso_triplo_10m_digital*triplo_10m_digital);
    printf("resultado: %d\n" ,soma);
    
    system("PAUSE");    
    return 0;
}

wolfytuga
Para o que der e vier...
emachines E520 | Intel Celeron 2.0GHz | 32/64bit | RAM 2GB | HD 160GB | Intel Mobile 4 Express, 64MB → 1GB
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
18-07-2011, 19:23
Mensagem: #36
RE: Linguagem C - Dicas e ajuda para iniciantes
este ultimo modelo que fiseste funciona muito bem mesmo como eu queria"obrigado"


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int duplo_light_flex,duplo_digital,triplo_10m,triplo_10m_digital;
enum{a=80,b=90,c=100,d=110,e=125};

printf("80%% \n90%% \n100%% \n110%% \n125%% \ndigita a tua percentagem:\n");

int opcao=a; //coloque o respectivo numero sem '%'
scanf("%d", &opcao);

switch (opcao)
{
case a: duplo_light_flex=2;
duplo_digital=5;
triplo_10m=7;
triplo_10m_digital=9;
break;

case b: duplo_light_flex=4;
duplo_digital=7;
triplo_10m=9;
triplo_10m_digital=11;
break;

case c: duplo_light_flex=8;
duplo_digital=12;
triplo_10m=15;
triplo_10m_digital=18;
break;

case d: duplo_light_flex=10;
duplo_digital=14;
triplo_10m=18;
triplo_10m_digital=22;
break;

case e: duplo_light_flex=12;
duplo_digital=16;
triplo_10m=20;
triplo_10m_digital=26;
break;

default: printf("\nEssa opcao nao esta disponivel!\n\n");
exit(0);
break;
}

int soma=0;

int peso_duplo_light_flex,peso_duplo_digital,peso_triplo_10m,peso_triplo_10m_digital​;

printf("digite quantos duplo_light_flex\n");
scanf("%d",&peso_duplo_light_flex);
printf("digite quantos duplo_digital\n");
scanf("%d",&peso_duplo_digital);
printf("digite quantos triplo_10m\n");
scanf("%d",&peso_triplo_10m);
printf("digite quantos triplo_10M_digital\n");
scanf("%d",&peso_triplo_10m_digital);

soma = (peso_duplo_light_flex*duplo_light_flex) + (peso_duplo_digital*duplo_digital) + (peso_triplo_10m*triplo_10m) + (peso_triplo_10m_digital*triplo_10m_digital);
printf("resultado: %d\n" ,soma);

system("PAUSE");
return 0;
}
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
18-07-2011, 21:11
Mensagem: #37
RE: Linguagem C - Dicas e ajuda para iniciantes
De nada Smile

Percebeu onde estavam os erros e como corrigi-los? Isto exige mais treino, quanto mais treinar, melhor fica!

wolfytuga
Para o que der e vier...
emachines E520 | Intel Celeron 2.0GHz | 32/64bit | RAM 2GB | HD 160GB | Intel Mobile 4 Express, 64MB → 1GB
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
18-07-2011, 23:03
Mensagem: #38
RE: Linguagem C - Dicas e ajuda para iniciantes
sim percebi e aprendi,eu ainda só estudo a linguagem c á 6 ou 7 meses para o tempo que é nao estou mal,mas ainda estou verde no c,tambem aprendi html as tags listas e tabelas,mas prefiro linguagem para software au inves da linguagem para web,
este codigo que fiseste em c vai ser uma boa ferramenta para o meu trabalho,obrigado amigo,vou continuar a estudar mais o c...
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
20-07-2011, 18:21
Mensagem: #39
RE: Linguagem C - Dicas e ajuda para iniciantes
@helder fortunado para dizer a verdade acho que ja devias estar mais avançado em C com 6/7 meses de trabalho com ele. Mas é a tua 1º linguagem de programaçao? que livro ou tutorial estas a usar?
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
29-07-2011, 14:21
Mensagem: #40
RE: Linguagem C - Dicas e ajuda para iniciantes
boas mkman,estive de férias eis a minha ausencia,sim é verdade que já poderia estar + avanssado mas esses 6 ou 7 meses tenho estudado só nos tenpos livres que as veses nao são muitos,eu para estudar linguagem c tenho usado varios tutorias e postagens de inicialização á linguagem c e tambem algumas vidio aulas,antes de começar a estudar linguagem c tambem aprendi html,tens alguma sujestão
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)