Ir ao conteúdo

Posts recomendados

Postado

queria saber o que está errado e como substituo o for por while nesse programa (posso somente trabalhar com while nesse projeto) (também preciso substituir o if por algum que caiba mais espaços dos digitos)

 

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

main(void){

int a, b;

printf("\n Insira um numero inteiro, menor ou igual a 20: ");
scanf("%d", &a);
printf("\n Digite 1 para somar os impares ou 2 para multiplicar os pares até o numero indicado: ");
scanf("%d", &b);
{
    if (b=1);
}

int i=a;

int soma=0;

for(i=0 ; i<=a ; i++)

{
if(i%2!=0)

soma=soma+i;

}

printf("\n O valor da soma dos impares e:\%d", soma);
}

{
    if (b=2);
}
{

int i=a;

int multiplicacao=2;
while (a!=20){
        if(a%2==0){
                multiplicacao *= a;
        }
        ++a;
}
print("multiplicacao dos numeros pares: %i", multiplicação);
system ("pause>null");
return 0;
}
 

Postado

Segue a dica

#include <stdio.h>
#include <iostream>

int main() {
    int length = 5;
    int i = 0;
    printf("Feels the magic =X \n\n");

    for(int i = 0; i < length; i++){
        printf("for[%d]\n",i);
    }

    printf("\n************\n\n");

    while(i < length){
        printf("while[%d]\n",i);
        i++;
    }

    printf("\n");
    system("PAUSE");
    return 0;
}

-main é uma função, por default uma função retorna algo tirando o caso do void, eu colocaria um int tipo: int main () { ...

-tem um print sem f no fim

-system ("pause>null"); -> system("PAUSE");

-onde tem aquele %i coloca um %d

-esse if ta meio diferentão  -> if (b=1); // não vai dar erro mas não faz sentido

- tem uns { } no meio do código que parecem meio sem propósito

- int i=a; -> da ultima vez que você declara o i você nunca mais usa ele

- printf("\n Insira um numero inteiro, menor ou igual a 20: "); -> -1 é menor que 20

- (também preciso substituir o if por algum que caiba mais espaços dos digitos) -> Como assim

  • Curtir 1
Postado

está dando erro nos parenteses o que pode ser?

 

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

main(){

int a, b;

printf("\n Insira um numero inteiro, positivo, menor ou igual a 20: ");
scanf("%d", &a);
printf("\n Digite 1 para somar os impares ou 2 para multiplicar os pares até o numero indicado: ");
scanf("%d", &b);
{
    if (b=1);
}

int i=a;

int soma=0;

for(i=0 ; i<=a ; i++)

{
if(i%2!=0)

soma=soma+i;

}

printf("\n O valor da soma dos impares e:\%d", soma);
}
{
    if (b=2);
}
{

int i=a;

int multiplicacao=2;
while (a!=20){
        if(a%2==0){
                multiplicacao *= a;
        }
        ++a;
}
printf("multiplicacao dos numeros pares: %d", multiplicacao);
system ("pause");
return 0;
}
 

adicionado 7 minutos depois

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

main(){

int a, b;

printf("\n Insira um numero inteiro, positivo, menor ou igual a 20: ");
scanf("%d", &a);
printf("\n Digite 1 para somar os impares ou 2 para multiplicar os pares até o numero indicado: ");
scanf("%d", &b);
{
    if (b=1);
}

int i=a;

int soma=0;

for(i=0 ; i<=a ; i++)

{
if(i%2!=0)

soma=soma+i;

}

printf("\n O valor da soma dos impares e:\%d", soma);
}
{
    if (b=2);
}
{

int i=a;

int multiplicacao=2;
while (a!=20){
        if(a%2==0){
                multiplicacao *= a;
        }
        ++a;
}
printf("multiplicacao dos numeros pares: %d", multiplicacao);
{
    if (b>=3);
    {
        printf("\n Opcao invalida");
            }
}

{
    if (a>20);
    {
        printf ("\n Opcao invalida");
    }
}
{
    if (a<0);
    {
        printf ("\n Opcao invalida");
    }
}
{
    if (b<=0);
    {
        printf ("\n Opcao invalida");
    }
}
system ("pause");
return 0;
}

adicionado 8 minutos depois

@Plástico Bolha

  • Amei 1
Postado

@volpatoc     para postar seu código é melhor usar o botão   <>  que está lá na barra de ferramentas da janela de responder, pois sem ele o código fica faltando alguns caracteres .

         para comparações precisa usar dois sinais de igualdade, e você está usando apenas hum , e  essas chaves ali antes e depois dos if's não são assim , e  está dando erro não é no parenteses e sim nas chaves onde não precisa delas , então seu código com algumas modificações ficaria assim :

#include <stdio.h>
#include <stdlib.h>
int main(){
    int a,b,i,soma=0,multiplicacao;
    printf("\n Insira um numero inteiro, positivo, menor ou igual a 20: ");
    scanf("%d",&a);
    printf("\n Digite 1 para somar os impares \n Digite 2 para multiplicar os pares ate o numero indicado: ");
    scanf("%d",&b);
    if((b > 0 && b < 3) &&(a>=0 && a<=20) ){
        if(b==1){
            i=a;/* essa linha aqui não serve para nada */
            soma=0;/* essa linha aqui não serve para nada */
            for(i=0 ; i<=a ; i++){
                if(i%2!=0)
                    soma+=i;
            }
            printf("\n O valor da soma dos impares eh : %d\n\n",soma);
        }
        if(b==2){
            i=a;/* essa linha aqui não serve para nada */
            multiplicacao=2;
            while (a!=20){
                if(a%2==0){
                    multiplicacao *= a;
                }
                a++;
            }
            printf("multiplicacao dos numeros pares: %d\n\n",multiplicacao);
        }
    }
    else
        printf("\n Opcao invalida\n\n");
    system("pause");
    return 0;
}

 

Postado

@volpatoc    dentro do for existe um while , veja aqui no comando for 

i<=a 

isso significa enquanto i for menor ou igual  a , ou seja um while

então você inicializa a variável de controle com o valor zero e coloca assim

i=0;
while(i<=a){

    i++;
}

e incrementa a variável i  também como no for para que ela sirva ao propósito e saia do loop

então esse while seria assim :

i=0;
while(i<=a){
    if(i%2!=0)
        soma+=i;
    i++;
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!