Jump to content
Fórum Script Brasil
  • 0

Problema simples em C


mperusso
 Share

Question

8 answers to this question

Recommended Posts

  • 0

resultado = (a+b)/2;

( e ) da prioridade a a+b, si tiver (((1+2)+3)+4) sempre tem prioridade o que estiver mais adentro, ou seja que se resolveria 1+2, depois 3+3 e por ultimo 6 + 4. 

Edited by vangodp
Link to comment
Share on other sites

  • 0

valeu pela ajuda, agr tenho um novo problema, Se eu digito numero quebrado na nota A pula direto pro resultado sem fazer a nota b e se eu boto resultado quebrado na nota B da resultado errado. Ignore as variveis que não to utlizando, vou usar elas dps pra incluir presença

 

int main(){
float a,b,m,aa,am;


        setlocale(LC_ALL,"portuguese");
    printf("Digite nota prova A:\n");
    scanf("%f", &a);
    printf("Digite nota prova B:\n");
    scanf("%f", &b);

    if(a+b>=12){
    m = (a+b)/ 2;
    printf("Aprovado com média= %f",m);}
    else {
    m= (a + b)/2;
    printf("reprovado com média= %f",m);}

 return 0;
}

 

 

Edited by mperusso
Link to comment
Share on other sites

  • 0

você ta se explicando fatal, não entendo nada. Quando tiver un scanf e for ler um float %f você deve por com ponto, tipo 1.2, por virgula ta errado, C não aceita virgula a menos que seja um string. 
Sobre o %, se o que você quer é imprimir ele no printf use %% duas vezes, pois um só % é considerado o operador modulo que extrae o resto de uma divisão, tipo 5%3 = 2, o 2 é o resultado que você obtêm de usar o operador modulo.
para limitar a um int de no maximo 999 acho que você pode usar scanf("%3d", &numero); mas não sei si da certo isso. en todo caso você pode fazer um laço while que repete a entrada de dados por enquanto que o numero introduzido seja maior de 999. Algo como:

int n = 0;
while(n>999){
printf("Un numero menor que 999\n");
scanf("%d", &n);
}

 

Link to comment
Share on other sites

  • 0
21 horas atrás, mperusso disse:

valeu pela ajuda, agr tenho um novo problema, Se eu digito numero quebrado na nota A pula direto pro resultado sem fazer a nota b e se eu boto resultado quebrado na nota B da resultado errado. Ignore as variveis que não to utlizando, vou usar elas dps pra incluir presença

 

int main(){
float a,b,m,aa,am;


        setlocale(LC_ALL,"portuguese");
    printf("Digite nota prova A:\n");
        scanf("%f", &a);
    printf("Digite nota prova B:\n");
        scanf("%f", &b);
            m = (a+b)/ 2;

    if(m>=6){
    
    printf("Aprovado com média= %.2f");}
    else {
    
    printf("reprovado com média= %.2f");}

 return 0;
}

// cloca assim porque no else não precisa colocar porque ele já e falso se não der o resultado para aprovado logo sera reprovado,no if (m>=12) vai da errado porque tem q ser >=6 para da certo porque 6 e a media para passar,  espero ter ajudado. vlws

// ass. Felipe=prog++;

 

 

Edited by Felipe=progr++
Achei o erro
Link to comment
Share on other sites

  • 0
Em 3/31/2016 at 16:00, mperusso disse:

Consegui já, se botar virgula funciona mas se botar tipo 6.75 não.. qual o comando para proibir de botar ponto? e como faço pra limitar o resultado para por exemplo 3 caracteres ? e porcentagem sair com o %?

http://www.cprogressivo.net/2012/11/A-funcao-printf-Caracteres-Especais.html  :D

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

int main ()

{

//utilize a barra invertida e enfatize o caractere digitando duas vezes.

printf ("imprimindo o \%%");

return 0;

}

 

Em 3/31/2016 at 19:08, vangodp disse:

Quando tiver un scanf e for ler um float %f você deve por com ponto, tipo 1.2, por virgula ta errado, C não aceita virgula a menos que seja um string. 

Quando se usa setlocale (LC_ALL, "Portuguese"), a localidade do computador é mudada para ptbr, por isso a sintaxe dos números reais muda para vírgula 2,2 e não 2.2. Mas isso nem é tão problemático assim.

Link to comment
Share on other sites

  • 0

Eai pessoal, sou novo aqui no forum e também na linguagem em C.

estou no 2 semestre do curso de SI, e foi passado uma lista de problemas para ser resolvido cujo enuncioado é esse :

---------------------------------------------------------------------------------------------------------------------------

Desenvolva um programa em C que leia dois vetores A e B com 10 elementos cada. Crie
um vetor C, que é a junção dos dois outros vetores. Desta forma, C deverá ter o dobro de
elementos de A e B. Ao final mostrar os dados do vetor C.

-----------------------------------------------------------------------------------------------------------------------------

o que não estou entendendo e: como o vetor C terá o dobro de elementos do A e do B????

segue a linha de codigo:

-----------------------------------------------------------------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
main()
{
    int A[10],B[10],C[10];
    int i;
    
        printf("******************************************\n");
        printf("Digite os numeros abaixo na posicao A e B.\n");
        printf("******************************************\n");
        
    for(i=0;i<10;i++)
    {
        
        printf("\nInsira dez valores inteiros na posicao A:  \n");
        scanf("%d",&A);
       
    }
    for(i=0;i<10;i++)
    {
        printf("\nInsira dez valores inteiros na posicao B:  \n");
        scanf("%d",&B);
        
    }
    
    for(i=0;i<10;i++)
    {
    
    C= A + B;


    printf("\nO vetor C e : %d",C);
    
    }
    return 0;
}

--------------------------------------------------------------------------------------------------------------------------

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...