![]() |
ajuda à resoluçao de exercicio em C - Versão de Impressão +- Forum Pplware (http://forum.pplware.com) +-- Fórum: Mais Tech (/forumdisplay.php?fid=11) +--- Fórum: Programação e Web (/forumdisplay.php?fid=16) +--- Tópico: ajuda à resoluçao de exercicio em C (/showthread.php?tid=5360) |
ajuda à resoluçao de exercicio em C - stb_airlines - 17-03-2010 21:06 Sou ainda muitissimo "verde" no universo da programação, nesse sentido precisava da vossa ajuda para tentar resolver um exercício em C no qual estou a ter bastantes dificuldades, apesar de estudar bastante. foi-me dado o seguinte exercicio: Os livros são identificados pelo número ISBN (International Standard Book Number), por exemplo: 0-393-16945-2. O primeiro número designa a língua em que o livro foi escrito (por exemplo, 0 – inglês, 2 – português, …). O segundo número designa a editora (393 refere-se à W. W. Norton), o terceiro é um número dado pela editora que identifica o livro (sempre 5 números e começa sempre por 1) e o quarto é um “check digit” destinado a comprovar a validade do número. Construa um programa em C que dado um ISBN separe os seus diferentes números, por exemplo: Insira o ISBN: 0-393-16945-2 Editora: 393 Código: 16945 É necessário implementar o seguinte menu com as seguintes opções: 1 – Obter Referencia da Editora 2 – Obter Referencia do Código 0 – Sair O menu deverá aparecer enquanto o utilizador não inserir a opção 0 (Sair). a minha dificuldade está principalmente em conseguir separar o numero e atribuir o mesmo às referentes opções, contudo, e não querendo abusar da vossa ajuda, se tiverem alguma dica para ajudar a resolver o exercicio, agradecia imenso. grande abraço RE: ajuda à resoluçao de exercicio em C - aucrun - 18-03-2010 02:43 Epá, se fosse em C# terias o Método Split, que te permite dividir uma String por caracteres, ou seja, farias o Split pelo símbolo "-". Se ISBN for uma constante melhor ainda ... Se as línguas fossem constante e não pudessem ser alteradas podias criar um enumerador, senão podes ter num ficheiro editável, bem como as editoras. Por exemplo: Tendo em consideração que ISBN é uma constante, tens de apanhar o valor "0-393-16945-2" numa variável (string) e depois fazes o Split por "-", que te devolve uma Array de strings de 4 dimensões: String 1 = "0" String 2 = "393 String 3= "16945" String 4 = "2" A partir daí tens a informação toda ... para trabalhar com as Línguas e editoras (estejam elas em Enumerador, Ficheiro, Base de Dados, whatever) Mas isto seria em C# ... em C nem sei se existem estes comandos sequer .. RE: ajuda à resoluçao de exercicio em C - zee - 18-03-2010 12:50 boas. tens de trabalhar com índices. tens o isbn guardado num char string[13] (exemplo). declaras uma variável do tipo int (int i, por ex). se quiseres escrever para o ecra o numero do isbn "393" fazes: for(i=2;i<5;i++) { printf("%s",string[i]); } espero ter ajudado. qualquer erro avisa ![]() RE: ajuda à resoluçao de exercicio em C - stb_airlines - 18-03-2010 21:04 mt obrigado, vou tentar isso, em breve publico se funcionou. abraço RE: ajuda à resoluçao de exercicio em C - zee - 19-03-2010 13:11 logo que possa posto um pequeno exercício para veres melhor como funciona. Cumprimentos RE: ajuda à resoluçao de exercicio em C - stb_airlines - 19-03-2010 16:08 tou comm alguma duvidas, mandei te uma PM para me esclareceres uma parte. espero k nao te importes ![]() mt obrigado, fico a aguardar ![]() abraço RE: ajuda à resoluçao de exercicio em C - stb_airlines - 21-03-2010 18:37 mesmo com a dica que o zee me deu, ainda nao consegui resolver isso. de tanto pesquisar e tentar, axo k me estou a confundir ainda mais. será que alguem me pode ajudar com algum exemplo, ou algo assim? RE: ajuda à resoluçao de exercicio em C - crazyman - 22-03-2010 14:12 calma moço... Posta o que já tens feito para ver onde esta o erro... Este exercicio é simples... Fazes o menu e duas funções uma void editora e outra void codigo. Dentro do menu, na opção 1 fazes a chamada da editora e na opção 2 fazes a chamada da funçao codigo. Depois basta fazeres a validação do menu para q apresente sempre o mesmo menu quando for digitado um numero diferente de 1 ou 2. as funções sao praticamente iguais: void editora (int string []) { int i; for(i=2;i<5;i++) { printf("%s",string[i]); } } Isto é sem testar, é provavel que de erro... publica o teu codigo que logo a noite ja te coloco ai mais alguma ajuda... RE: ajuda à resoluçao de exercicio em C - sLUGo - 15-04-2010 10:39 Já tá resolvido isto? RE: ajuda à resoluçao de exercicio em C - WebDevXtream - 15-04-2010 11:45 Olá, Experimenta qualquer coisa deste género: Código: int main(){ Pesquisei na net várias opções e ajustei as mesmas a uma possível solução. Se estiver tudo correcto e sem erros no fim ficas com um array de inteiros (valores) com os valores indexados, desta forma (usando o teu exemplo): valores[0] = 0 valores[1] = 393 valores[2] = 16945 valores[3] = 2 Espero ter-te ajudado. Um abraço, |