quarta-feira, 9 de junho de 2010

Programinha Calculador...

Farei aqui um Programinha que efetua as Operacoes Matematicas basicas na Linguagem C usando apenas os Operadores basicos Adicao e Subtracao...
... Melhorarei o codigo se for possivel...
----------
- Variaveis
...Usaremos Variaveis do tipo Ponto Flutuante porque alem de a Divisao requerir esse tipo de Variavel o usuario pode precisar efetuar as outras operacoes com esse tipo de Variavel alem de termos maior precisao e usarmos menos variaveis no Programa...
... A operacao de Resto da Divisao requer que as Variaveis de sua operacao sejam do tipo Inteiro

a - Representa a Adicao
s - Representa a Subtracao
d - Representa a Divisao
m - Representa a Multiplicao
r - Representa o Resto da Divisao
x - E' um dos valores de entrada do usuario
y - E' um dos valores de entrada do usuario
----------
- Subtracao...
s - Recebe o valor da Subtracao
y - Recebe o primeiro numero da Subtracao
z - Recebe o segundo numero da Subtracao

Primeiro lemos os numeros do usuario...
scanf ("%f %f".&x, &y);

Calculemos...
s=x-y;

Por fim exibimos o resultado
printf ("O Resultado dessa Subtracao eh %f".s);
----------
- Adicao...
a - Recebe o valor da Adicao
y - Recebe o primeiro numero da Adicao
z - Recebe o segundo numero da Adicao

Primeiro lemos os numeros do usuario...
scanf ("%f %f".&x, &y);

Calculemos...
a=y+z;

Por fim exibimos o resultado
printf ("%f".a);

Foi quase a mesma coisa...
----------
- Divisao...
A Divisao possue seu Resultado e seu Resto por isso a coisa comeca a compicar aqui...
d - Recebe o valor do Calculo
r - Recebe o Resto da Divisao
y - Recebe o primeiro numero da Divisao
z - Recebe o segundo numero da Divisao

Primeiro lemos os numeros do usuario...
scanf ("%f %f".&x, &y);

Calculemos...
d=x/y;
r=x%y;
Por fim exibimos o resultado
printf ("O resultado dessa divisao eh %f e seu resto eh %f".d, r);
----------
- Multiplicacao
A Multiplicacao e' uma Adicao sucessiva por isso a coisa complica mais aqui por isso precisamos de um Laco...

Primeiro lemos os numeros do usuario...
scanf ("%f %f".&x, &y);

Usando o Simbolo "*" da Multiplicacao na Linguagem C temo...
m=x*y;

Usando apenas o Operador Adicao "+" temos...
... Precisei usar de "1" `a "Y" porque o Blogger nao aceitou de "0" `a "

for (i=1; i=y; i++)
m=m+x;

Por fim exibimos o resultado
printf ("%f",m);

terça-feira, 8 de junho de 2010

Aviso...

O Material que eu peguei para estudar a Linguagem C estava com erros por isso o Codigo que eu fiz ficou daquele geito...

quarta-feira, 2 de junho de 2010

Meu Trabalho...

Estou escrevendo um Programa em Pascal para gerir uma Locadora De Veiculos para apresentar como Trabalho na Universidade e estou colocando ele aqui para voces verem...
... Bem... Eu parei ai nesse Programa e acabei esquecendo de colocar o texto aqui antes de viajar...
... Basicamente se houver algum problema ele esta' na Sintax de Manipulacao de Arquivos e alguma coisa boa na qual eu me passei...
... Como nao domino Arquivos e preciso de discanso nao procurarei corrigir a parte de Arquivos agora...
... Talvez eu coloque a parte que ficou por ultimo...
... Tomara que gostem...

----------

program Locadora;

type registroclientes = record
         codigo: string;
         nome: string;
     end;
     registroveiculos = record
         codigo: string;
         nome: string;
         tipo: string;
     end;
     registromovimentacoes = record
         codigolocacao: string;
         cofigocliente: string;
         nomecliente: string;
         codigoveiculo: string;
         nomeveiculo: string:
         tipoveiculo: string:
         datasaida: string;
         dataentrada: string:
     end;

procedure cadastroclientes(var x: integer);
var c,i,p: integer;
begin
    i:=1;
    p:=x;
    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Cadastro De Clientes°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
    writeln('Digite o numero da opcao da tarefa que voce deseja executar');
    writeln('1 - Inclusao De Cliente');
    writeln('2 - Alteracao De Dados');
    writeln('3 - Consultar Dados');
    writeln('4 - Excluir Cliente');
    writeln('0 - Menu Principal');
    writeln();
    write('Sua opcao eh ');
    readln(p);
    writeln();
    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');

    if p=1 then
        begin
            repeat
                if (vetorclientes[i].codigo = '') then
                    begin
                        assign(vetorclientes[i],'CLIENTES.BIN');
                        writeln('Digite o codigo do cliente novo');
                        readln(vetorclientes[i].codigo);
                        writeln('Digite o nome do cliente novo');
                        readln(vetorclientes[i].nome);
                        write(vetorclientes[i]);
                        close(vetorclientes[i]);
                        writeln();
                        writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                    end;
                i:=i+1;
            until (vetorclientes[i].codigo = '') or (i=11);
            if (i=11) then
                begin
                    writeln('Nao existe vaga para adicionar cliente');
                    writeln();
                    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                end;
        end;
    if p=2 then
        begin
            writeln('Digite o codigo do cliente que deseja efetuar a mudanca')
            readln(c);
            repeat
                if (vetorclientes[i].codigo = c) then
                    begin
                        assign(vetorclientes[i],'CLIENTES.BIN');
                        rewrite(vetorclientes[i]);
                        writeln('Digite o codigo do cliente');
                        readln(vetorclientes[i].codigo);
                        writeln('Digite o nome do cliente');
                        readln(vetorcliente[i].nome);
                        write(vetorclientes[i]);
                        close(vetorclientes[i]);
                        writeln();
                        writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                    end;
                i:=i+1;
            until (vetorclientes[i].codigo = c);
            if (i=11) then
                begin
                    writeln('Nao existe cliente com esse codigo');
                    writeln();
                    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                end;
        end;
    if p=3 then
        begin
            writeln('Digite o codigo dos dados que voce deseja consultat');
            readln(c);
            repeat
                if (vetorclientes[i].codigo = c) then
                    begin
                        assign(vetorclientess[i],'CLIENTES.BIN');
                        write('Codigo do cliente - ');
                        writeln(vetorclientes[i].codigo);
                        write('Nome do veiculo - ');
                        writeln(vetorclientes[i].nome);
                        close(vetorclientes[i]);
                        writeln();
                        writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                    end;
                i:=i+1;
            until (vetorclientes[i].codigo = c);
            if (i=11) then
                begin
                    writeln('Nao existe cliente com esse codigo');
                    writeln();
                    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                end;
        end;
        if p=4 then
        begin
            writeln('Digite o codigo dos dados que voce deseja excluir');
            readln(c);
            repeat
                if (vetorclientes[i].codigo = c) then
                    begin
                        assign(vetorclientes[i],'CLIENTES.BIN');
                        writeln('Tecle ENTER para apagar o codigo');
                        rewriteln(vetorclientes[i].codigo);
                        writeln('Tecle ENTER para apagar o nome');
                        rewriteln(vetorclientes[i].nome);
                        close(vetorclientes[i]);
                        writeln();
                        writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                    end;
                i:=i+1;
            until (vetorclientes[i].codigo = c);
            if (i=11) then
                begin
                    writeln('Nao existe cliente com esse codigo');
                    writeln();
                    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                end;
        end;
end;

procedure cadastroveiculos(var x: integer);
var c,i,p: integer;
begin
    i:=1;
    p:=x;
    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Cadastro De Veiculos°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
    writeln('Digite o numero da opcao da tarefa que voce deseja executar');
    writeln('1 - Inclusao De Veiculo');
    writeln('2 - Alteracao De Dados');
    writeln('3 - Consultar Dados');
    writeln('4 - Excluir Veiculo');
    writeln('0 - Menu Principal');
    writeln();
    write('Sua opcao eh ');
    readln(p);
    writeln();
    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');

    if p=1 then
        begin
            repeat
                if (vetorveiculos[i].codigo = '') then
                    begin
                        assign(vetorveiculos[i],'VEICULOS.BIN');
                        writeln('Digite o codigo do veiculo novo');
                        readln(vetorveiculos[i].codigo);
                        writeln('Digite o nome do veiculo novo');
                        readln(vetorveiculos[i].nome);
                        writeln('Digite o tipo do veiculo novo');
                        readln(vetorveiculos[i].tipo);
                        write(vetorveiculos[i]);
                        close(vetorveiculos[i]);
                        writeln();
                        writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                    end;
                i:=i+1;
            until (vetorveiculos[i].codigo = '') or (i=11);
            if (i=11) then
                begin
                    writeln('Nao existe vaga para adicionar veiculo');
                    writeln();
                    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                end;
        end;
    if p=2 then
        begin
            writeln('Digite o codigo do veiculo que deseja efetuar a mudanca')
            readln(c);
            repeat
                if (vetorclientes[i].codigo = c) then
                    begin
                        assign(vetorveiculos[i],'VEICULOS.BIN');
                        rewrite(vetorveiculos[i]);
                        writeln('Digite o codigo do veiculo');
                        readln(vetorveiculos[i].codigo);
                        writeln('Digite o nome do veiculo');
                        readln(vetorveiculos[i].nome);
                        writeln('Digite o tipo do veiculo novo');
                        readln(vetorveiculos[i].tipo);
                        write(vetorveiculos[i]);
                        close(vetorveiculos[i]);
                        writeln();
                        writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                    end;
                i:=i+1;
            until (vetorveiculos[i].codigo = c);
            if (i=11) then
                begin
                    writeln('Nao existe veiculo com esse codigo');
                    writeln();
                    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                end;
        end;
    if p=3 then
        begin
            writeln('Digite o codigo dos dados que voce deseja consultat');
            readln(c);
            repeat
                if (vetorveiculos[i].codigo = c) then
                    begin
                        assign(vetorveiculos[i],'VEICULOS.BIN');
                        write('Codigo do veiculo - ');
                        writeln(vetorveiculos[i].codigo);
                        write('Nome do veiculo - ');
                        writeln(vetorveiculos[i].nome);
                        write('Tipo do veiculo - ');
                        writeln(vetorveiculos[i].tipo);
                        close(vetorveiculos[i]);
                        writeln();
                        writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                    end;
                i:=i+1;
            until (vetorveiculos[i].codigo = c);
            if (i=11) then
                begin
                    writeln('Nao existe veiculo com esse codigo');
                    writeln();
                    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                end;
        end;
        if p=3 then
        begin
            writeln('Digite o codigo dos dados que voce deseja excluir');
            readln(c);
            repeat
                if (vetorveiculos[i].codigo = c) then
                    begin
                        assign(vetorveiculos[i],'VEICULOS.BIN');
                        writeln('Tecle ENTER para apagar o codigo');
                        rewriteln(vetorveiculos[i].codigo);
                        writeln('Tecle ENTER para apagar o nome');
                        rewriteln(vetorveiculos[i].nome);
                        writeln('Tecle ENTER para apagar o tipo');
                        rewriteln(vetorveiculos[i].tipo);
                        close(vetorveiculos[i])
                        writeln();
                        writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');;
                    end;;
                i:=i+1;
            until (vetorveiculos[i].codigo = c);
            if (i=11) then
                begin
                    writeln('Nao existe veiculo com esse codigo');
                    writeln();
                    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                end;
        end;
end;

procedure movimentacao(var x: integer);
var c,i,p: integer;
begin
    p:=x;
    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Movimentacao°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
    writeln('Digite o numero da opcao da tarefa que voce deseja executar');
    writeln('1 - Locar');
    writeln('2 - Data de devolucao');
    writeln('0 - Menu Principal');
    writeln();
    write('Sua opcao eh ');
    readln(p);
    writeln();
    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');

    if p=1 then
        begin
            repeat
                if (vetormovimentacoes[i].codigolocacao = '') then
                    begin
                        assign(vetormovimentacoes[i],'LOCACOES.BIN');
                        write('Codigo da locacao - ');
                        writeln(vetorveiculos[i].codigolocacao);
                        write('Codigo do cliente - ');
                        writeln(vetorveiculos[i].cofigocliente);
                        write('Nome do cliente - ');
                        writeln(vetorveiculos[i].nomecliente);
                        write('Codigo do veiculo - ');
                        writeln(vetorveiculos[i].codigoveiculo);
                        write('Nome do veiculo - ');
                        writeln(vetorveiculos[i].nomeveiculo);
                        write('Tipo do veiculo - ');
                        writeln(vetorveiculos[i].tipoveiculo);
                        write('Data de saida - ');
                        writeln(vetorveiculos[i].datasaida);
                        write('Data de entrada - ');
                        writeln(vetorveiculos[i].dataentrada);
                        write(vetormovimentacoes[i]);
                        close(vetormovimentacoes[i]);
                        writeln();
                        writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                    end;
                i:=i+1;
            until (vetormovimentacoes[i].codigolocacao = '') or (i=11);
            if (i=11) then
                begin
                    writeln('Nao existe veiculo disponivel');
                    writeln();
                    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                end;
        end;
    if p=2 then
        begin
            repeat
                if (vetormovimentacoes[i].codigolocacao = c) then
                    begin
                        assign(vetormovimentacoes[i],'LOCACOES.BIN');
                        writeln('Digite o codigo da locacao');
                        readln(vetorveiculos[i].codigolocacao);
                        writeln('Digite o codigo do cliente');
                        readln(vetorveiculos[i].cofigocliente);
                        writeln('Digite o nome do cliente');
                        readln(vetorveiculos[i].nomecliente);
                        writeln('Digite o codigo do veiculo');
                        readln(vetorveiculos[i].codigoveiculo);
                        writeln('Digite o nome do veiculo');
                        readln(vetorveiculos[i].nomeveiculo);
                        writeln('Digite o tipo do veiculo');
                        readln(vetorveiculos[i].tipoveiculo);
                        writeln('Digite a data de saida');
                        readln(vetorveiculos[i].datasaida);
                        writeln('Digite a data de entrada');
                        readln(vetorveiculos[i].dataentrada);
                        write(vetormovimentacoes[i]);
                        close(vetormovimentacoes[i]);
                        writeln();
                        writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                    end;
                i:=i+1;
            until (vetormovimentacoes[i].codigolocacao = '') or (i=11);
            if (i=11) then
                begin
                    writeln('Nao existe vaga para locacao');
                    writeln();
                    writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
                end;
        end;
end;

var a: integer;
    vetorclientes: array [1..10] of file of registroclientes;
    vetorveiculos: array [1..10] of file of registroveiculos;
    vetormovimentacoes: array [1..10] of file of registromovimentacoes;

begin
    a:=1;
    while (a=1) or (a=2) or (a=3) do
    begin
        write('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
        write('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Locadora De Veiculos°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
        writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');
        writeln('Digite o numero da opcao da tarefa que voce deseja executar');
        writeln();
        writeln('1 - Cadastro De Clientes');
        writeln('2 - Cadastro De Veiculos');
        writeln('3 - Movimentacoes');
        writeln('Ou tecle qualquer outro digito para sair desse programa');
        writeln();
        write('Sua opcao eh ');
        readln(a);
        writeln();
        writeln('°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°');

        case a of
            1: cadastroclientes(a);
            2: cadastroveiculos(a);
            3: movimentacao(a);
        end;
    end;
end.