Ir ao conteúdo

C estou com erro na linha 60, o erro esta explicado em linha de comentários


Ir à solução Resolvido por Flávio Pedroza,

Posts recomendados

Postado
//estou com erro na linha 60, sempre que executo ela, aparece Servidores ativas = Qual servidor?
//estou tentando fazer com que apareça, Servidores Ativados = (variavel ativ)



#include<stdio.h>
int resp, opc, dhcp, ftp, iot, opcdesa, ip, gate, dns, sn, ativ;
char nome[200], senha[200];
//João Luiz de Oliveira
main(){

    printf("Quer criar um servidor? 1-sim/2-não\n");
    scanf("%d",&resp);
    while((resp<1) && (resp>2)){
        printf("Responda com 1-sim/2-não\n");
        scanf("%d",&resp);
    }

    while(resp ==1 ){
        printf("Qual servidor?\n");

        printf("1-DHCP\n2-FTP\n3-IoT\n4-ver servidores ativados\n5-desativar um servidor\n");
            scanf("%d",&opc);

        while((opc<1) || (opc>5)){
        printf("Responda com: \n1-DHCP\n2-FTP\n3-IoT\n4-ver servidores ativados\n5-desativar um servidor\n");
            scanf("%d",&opc);
        }

        if(opc == 1){
            dhcp++;
              printf("IP\n");
                        scanf("%d",&ip);
                            printf("gateway\n");
                                scanf("%d",&gate);
                                      printf(" DNS\n");
                                          scanf("%d",&dns);

                            printf("-----servidor dhcp ativado-----\n\n");

        }
        if(opc == 2){
            ftp++;
                printf("IP\n");
                    scanf("%d", &ip);
                        printf("gateway\n");
                            scanf("%d", &gate);
                                printf("DNS\n");
                                    scanf("%d", &dns);
                                    printf("Servidor Ftp ativado \n\n");
                                    
                                    ativ = ativ + 1;
        }
        if(opc == 3){
            iot++;
                printf("IP\n");
                    scanf("%d", &ip);
                        printf("gateway\n");
                            scanf("%d", &gate);
                                printf("DNS\n");
                                    scanf("%d", &dns);
                                    printf("Servidor Iot ativado \n\n");
        }
        if(opc == 4){
60          printf("Servidores ativados =", ativ);    
        }
   }
   }

 

  • Curtir 1
Postado

Acho que sabe o que não tem na linha 60, como @Flávio Pedroza disse há pouco...

 

Habilitou os avisos do compilador? Meu compilador mostra para essa linha

 

        if (opc == 4) { printf("Servidores ativados =", ativ); }

 

warning C4474: 'printf' : too many arguments passed for format string
or-serv.c(72): note: placeholders and their parameters
    expect 0 variadic arguments, but 1 were provided

 

Isso porque o compilador não sabe se você colocou um parâmetro a mais, o ativ, ou um especificador a menos, %d ou algo compatível com um int, e então avisa sobre as duas coisas.

 

Sobre seu programa

  • main() retorna um int. Declare assim.
  • evite declarar mais de uma variável por linha. É grátis e vai facilitar sua vida e a de quem vier a ler seu programa
  • evite programas interativos e menus. Use arquivos. É muito mais simples de programar e usar. Você pode manter listas dos servidores em arquivos texto. 
  • TESTE sempre o retorno de scanf(). Seu programa não tem sentido se não conseguir ler um endereço IP por exemplo.

Sobre o alinhamento

 

Veja seu programa sem os erros e alinhado de um modo comum:

 

// estou com erro na linha 60, sempre que executo ela, aparece
// Servidores ativas = Qual servidor? estou tentando fazer com que
// apareça, Servidores Ativados = (variavel ativ)

#include <stdio.h>
int  resp, opc, dhcp, ftp, iot, opcdesa, ip, gate, dns, sn, ativ;
char nome[200], senha[200];
// João Luiz de Oliveira
int main(void)
{
    printf("Quer criar um servidor? 1-sim/2-não\n");
    scanf("%d", &resp);
    while ((resp < 1) && (resp > 2))
    {
        printf("Responda com 1-sim/2-não\n");
        scanf("%d", &resp);
    }

    while (resp == 1)
    {
        printf("Qual servidor?\n");

        printf(
            "1-DHCP\n2-FTP\n3-IoT\n4-ver servidores "
            "ativados\n5-desativar um servidor\n");
        scanf("%d", &opc);

        while ((opc < 1) || (opc > 5))
        {
            printf(
                "Responda com: \n1-DHCP\n2-FTP\n3-IoT\n4-ver "
                "servidores ativados\n5-desativar um servidor\n");
            scanf("%d", &opc);
        }

        if (opc == 1)
        {
            dhcp++;
            printf("IP\n");
            scanf("%d", &ip);
            printf("gateway\n");
            scanf("%d", &gate);
            printf(" DNS\n");
            scanf("%d", &dns);

            printf("-----servidor dhcp ativado-----\n\n");
        }
        if (opc == 2)
        {
            ftp++;
            printf("IP\n");
            scanf("%d", &ip);
            printf("gateway\n");
            scanf("%d", &gate);
            printf("DNS\n");
            scanf("%d", &dns);
            printf("Servidor Ftp ativado \n\n");

            ativ = ativ + 1;
        }
        if (opc == 3)
        {
            iot++;
            printf("IP\n");
            scanf("%d", &ip);
            printf("gateway\n");
            scanf("%d", &gate);
            printf("DNS\n");
            scanf("%d", &dns);
            printf("Servidor Iot ativado \n\n");
        }
        if (opc == 4) { printf("Servidores ativados = %d\n", ativ); }
    }
}

 

 

  • Curtir 1

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!