• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

astrix

ajuda para trabalho

11 mensagens neste tópico

ola a todos gostaria q me dessem uma ajuda para tentar fazer este trabalho q tenho para fazer em c++ mas tou com graves problemas em resolver isto.aqui deixo o problema e aguardo respostas vossas:1-identifique e apresente no ecra o protocolo em uso(http,ftp,etc.)  ;2-identifique e apresente no ecra o dominio do url.ex:www.portugal-a-programar.org/-neste caso o dominio é portugal-a-programar.org  3-faça uma verificaçao simples,sintactica,do URL,informando o utilizador da validade do URL(correcto ou incorrecto.precisava mesmo da vossa ajuda para tentar resolver estes problemas aguardo respostas se quizerem mandar mail-pedrosousaxxx@sapo.pt :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

entao pessoal ninguem me da uma pequena ajuda,va la por favor ajudem.me a compreender isto  :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

em primeiro, parece-me que o problema está incompleto, e para o resolver precisaríamos de "inventar" algumas coisas que não são aqui ditas.

em segundo, não estás à espera que te resolvam o problema, pois não?

então começa a fazer alguma coisa e quando tiveres uma dúvida concreta coloca-a aqui.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Parece-me que tens de apresentar uma duvida mais concreta, e não apresentar simplesmente trabalhos para fazer.

Além disso os problemas parecem-me algo estranhos!!

Ex: no 1º, protocolos porque? Estás a receber pedidos de algum browser na tua aplicação? Que entrada de dados é essa?

Sinceramente não percebo que queres fazer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

#include <stdio.h>

void main()

char url[150],a,b;

printf("Insira o url\n");

scanf ("%s", &url);

a=url[0];

b=url[4];

if (a=='f')

{

printf("O protocolo e FTP\n\n\n");

}

if (a=='r')

{

printf("O protocolo e RTSP\n\n\n");

}

if (a=='h')

{

if (b=='s')

printf("O protocolo e HTTPS\n\n\n");

else

printf("O protocolo e HTTP\n\n\n");

}

amigos e assim nao queria passar a voz q postei para me fazerem,o trabalho simplesmente como ainda so iniciante foi por isso q vos pedi ajuda para eu ter umas noçoes de como fazer.este q estou a postar tem a ver com o primeiro ponto,so q acho q tem if a mais,os outros e q me estao a dar cabo da cabeça vou tentar fazer entao os outros dois tambem e depois posto aqui juntamente com as duvidas,se me quizerem dar umas dicas como melhorar este agradeço...e mais uma vez digo q nao era minha intençao postar para q alguem o fizesse por mim sem qualquer trabalho da minha parte,mas quando nao se sabe tentasse perguntar a quem sabe... :-[

[code=cpp]

[/code]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para já tens que fazer uns testes mais eficazes pois estás apenas a verificar poucas letras da string que o utilizador vai escrever para o protocolo. Por exemplo, se ele escrever hxyp://hehe.pt o teu teste vai dar como um protocolo http válido, o que não é verdade. Por isso podes começar por verificar a substring introduzida pelo utilizador até ao caracter ":" e saber ao certo o protocolo. Quando este teste estiver perfeito passas para as outras questões que não me parecem ser difíceis de resolver.  :biggrin:

Já agora, deves colocar código válido (faltam as chavetas {} no método main, por exemplo) e usar o Geshi para ser mais fácil à comunidade de ler o teu código e de te ajudar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é C++? Parece-me apenas C... não tou certo. Mas pensava que em C++ se usava o cin e cout em vez de printfs e por ai, ou estas funções também existem em C++?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

? estás a usar o basic para programar c? tás a programar num IDE chamado basix ou estás  a usar o IDE do Visual basic para programar em c++?

Nazgulled tudo o que correr em c, corre em c++, o contrário é que já não lol ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é C++? Parece-me apenas C... não tou certo. Mas pensava que em C++ se usava o cin e cout em vez de printfs e por ai, ou estas funções também existem em C++?

Existem, nada te obriga a usar as streams de C++. De facto, salvo raras excepções um compilador de c++ aceita qualquer código C válido.

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

Quanto à duvida, não te vou dar a solução, mas posso-te dizer que fazer o parsing com if-else's é em geral muito mauzinho. Em particular, o teu problema pode ser resolvido apenas chamando o scanf, a ideia é em vez de leres tudo ate um \n (como acontece com %s), deves escrever uma expressão regular para te apanhar o texto e separá-lo logo em tokens, assim ficavas com uma string com tudo até ao primeiro ':' ou seja, o protocolo.

Noutra string ficavas com o domínio (suponho que seja tudo até à primeira '/' que queres.

E por último outra string com o resto do URL.

Quanto à verificação sintática do URL, o scanf retorna o número de tokens matched portanto se não retornar 3 (assumindo que a tua regexp está correcta) é pq o URL introduzido está mal formatado.

"man scanf" é o que tu precisas, ou entao google kk coisa como scanf

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Existem, nada te obriga a usar as streams de C++. De facto, salvo raras excepções um compilador de c++ aceita qualquer código C válido.

Isto é verdade se estivermos a usar código C com o standard C89. Se usarmos código C com standard C99 isto pode não ser verdade uma vez que no standard C99 o C traz funcionalidades incompatíveis com o C++. É necessário portanto saber quando programamos em C99 se não estamos a usar funções, bibliotecas, tipos de dados ou macros próprios do C99 que depois gerem erros ao compilar em C++. Mas, regra geral, esta questão não se coloca.  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora