TransWikia.com

Como ter um intervalo de ciclo, até n e até

Stack Overflow em Português Asked by Bruno Bacelar on November 27, 2021

Numa função de validação que se passar aos testes todos retornará 1, e se entrar numa das condições irá dar return a 0.

Quero fazer um ciclo até a quebra de linha, por isso estou a usar o o intervalo:

for(int i=0;dados[4][i]!='n';i++){
    if(!isdigit(dados[4][i])){
         return 0;
    }
 }

O ficheiro já foi divido e guardado numa matriz dados[4][20], sendo as linhas do gênero

 4 ; Visitante ; 3 ; 0 ; 3 n
 4 ; Visitante ; 3 ; 0 ; 3 n
 4 ; Visitante ; 3 ; 0 ; 3 

No entanto, na ultima linha do ficheiro, já não existe quebra de linha mas sim um , logo não nos vai permitir validar a ultima linha

2 Answers

Assim é bem melhor:

for (int i = 0; dados[4][i] != 'n' && dados[4][i] != ''; i++) if (!isdigit(dados[4][i])) return 0;

Coloquei no GitHub para referência futura.

Answered by Maniero on November 27, 2021

Já consegui resolver o problema adicionando uma condição dentro do for:

 for(int i=0;dados[4][i]!='n';i++){
    if(dados[4][i]==''){
        break;
    }
    if(!isdigit(dados[4][i])){
         return 0;
    }
 }

Answered by Bruno Bacelar on November 27, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP