
paulo1205
(usa Ubuntu)
Enviado em 14/10/2015 - 04:10h
Trioshima escreveu:
Ola galera, preciso muito que alguem me tire uma duvida
Em c++, num arquivo contendo isso aqui por exemplo: 1a rodada 09/05 Sab 18:30 Palmeiras 2 x 2 Atletico-MG
Como eu faço pra ler do arquivo só os times e os gols marcados por eles?
Separando por espaços (por exemplo, com
strtok()) você conseguiria isolar os cinco primeiros campos (e.g. "1a", "rodada", "09/05", "Sab" e "18:30"). A partir do nome do time, isso não seria mais possível porque o nome do time pode conter espaços (e.g. "São Paulo", "Rio Branco", "Sampaio Correia" etc.), mas você pode imaginar que os algarismos funcionarão como indicadores de onde o nome acabou ou a partir de onde vai começar.
Você também pode usar expressões regulares (C++11) para pegar os campos todos da linha de uma vez. Aliás, dá para fazer numa passada só até com
scanf().
Ainda dá para fazer com um tipo de tentativa e erro, em que, após consumir os cinco primeiros campos, você vai lendo palavra a palavra como string e testando se essa string é formada só por algarismos. Se for, então o nome do time está completo, e o valor lido é parte do placar; se não, então existe um espaço no nome do time, e o pedaço lido vem após esse espaço.