Bem-vindo: Sáb, 23 de Novembro 2024, 12:05 Pesquisa avançada

Progama em C

Area de suporte geral. Aqui poderá fazer as questões que quiser relativas ao Ubuntu que não se enquadrem em nenhuma das outras secções do Fórum!

Progama em C

Mensagempor killybessa » Qua, 10 de Dezembro 2014, 2:10

Boa noite, preciso de ajuda num exercício proposto em C que estou com algumas dificuldades em faze-lo :conf: se alguém me conseguir ajudar como fazê-lo agradeço. Este exercício:

As legendas seguintes apresentam um excerto de ficheiro no formato .srt (subrip subtitle)que armazenam as legendas de filmes.
A segunda linha de cada legenda identifica o
tempo inicial e final da respectiva legenda no
formato hh:mm:ss,xxx onde xxx indica o
número de milisegundos.
Neste exercício pretende-se que realizem as
seguintes funções:

Código: Selecionar todos
time_add(char t1[], char t2[], char tsoma[])

que dadas as strings t1 e t2 contendo tempos no formato .srt coloca soma desses tempos
na string tsoma que se assume ter dimensão suficiente (pelo menos 12 caracteres úteis)

Código: Selecionar todos
time_sub(char t1[], char t2[], char tdiff[])

que dadas as strings t1 e t2 que contêm tempos no formato .srt coloque na string
tdiff o resultado da subtracção de t2 a t1. Assume-se que tdiff tem a dimensão
suficiente (pelo menos 12 caracteres úteis).


Legendas:
Código: Selecionar todos

1
00:00:55,000 --> 00:01:02,600
O PADRINHO II
 
2
00:01:26,600 --> 00:01:29,000
O padrinho nasceu com o nome
de Vito Andolini...

killybessa
 
Mensagens: 2
Registrado em: 10 Dezembro, 2014

Re: Progama em C

Mensagempor Luis Cardoso » Sex, 12 de Dezembro 2014, 0:58

A primeira questão que tenho é: Qual a sua dúvida em concreto?
E a segunda: Até onde é que já chegou? Ou melhor, o que é que já fez para tentar resolver o problema proposto?
ImagemImagem
«Escolhe um trabalho de que gostes, e não terás que trabalhar um só dia na tua vida» - Confúcio
Avatar do usuário
Luis Cardoso
Redator
 
Mensagens: 10455
Registrado em: 26 Maio, 2011
Localização: Portugal

Re: Progama em C

Mensagempor killybessa » Sáb, 13 de Dezembro 2014, 2:42

Boa noite,

já tive a fazer as contas para conversões dos tempos agora sabe o código para converter char para inteiro? Não estou a conseguir.

killybessa
 
Mensagens: 2
Registrado em: 10 Dezembro, 2014

Re: Progama em C

Mensagempor Luis Cardoso » Sáb, 13 de Dezembro 2014, 12:39

killybessa (13-12-2014, 1:42) escreveu:Boa noite,

já tive a fazer as contas para conversões dos tempos agora sabe o código para converter char para inteiro? Não estou a conseguir.

Bom dia,

Para converter um número de caractere para inteiro, pode fazer da seguinte forma:

Código: Selecionar todos
#include <stdio.h>

/**
 *  Partindo do princípio de que sabe o valor de '0' na tabela ASCII, que é 48, converte
 *  um dígito de caractere em inteiro.
 */
int char2int(char c) {
    return (int ) (- 48); // Converte tendo em conta que o '0' tem como valor inteiro 48
}

/**
 *  Caso algo de errado se passe com os valores inseridos e o caractere '0' não esteja de
 *  acordo com os valores presentes na tabela ASCII, então faz-se a conversão usando
 *  directamente o valor de '0' como valor base no cálculo da diferença.
 */
int char2int2(char c) {
    return (int ) (- '0'); // Converte apenas tendo por base o '0' (seja ele qual for)
}

/**
 *  Esta parte é apenas para demonstrar a utilização das funções criadas anteriormente.
 *  Mostra o valor inicial, seguido das duas conversões.
 */
int main(void ) {
    char teste = '9';
    printf("\n%c => %d => %d\n\n", teste, char2int(teste), char2int2(teste));
    return 0;
}


E ao compilar e executar o programa, terá isto na saída:
luis@linux:~$ gcc -o main main.c
luis@linux:~$ ./main

9 => 9 => 9

luis@linux:~$ _


Alguma dúvida relativamente ao que apresentei?
ImagemImagem
«Escolhe um trabalho de que gostes, e não terás que trabalhar um só dia na tua vida» - Confúcio
Avatar do usuário
Luis Cardoso
Redator
 
Mensagens: 10455
Registrado em: 26 Maio, 2011
Localização: Portugal


Voltar para Questões gerais

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 33 visitantes