Destinado para mostrar códigos gerados em aulas de C#, Cobol, Java e Php. Desenvolvimento de cursos on-line de linguagens de programação.
quarta-feira, 23 de maio de 2012
Tela para relembrar a senha através de e-mail
Tela de Logon em Asp.Net e C#(sharp)
Inicialmente, criamos uma tabela no banco de dados conforme o script em MySql abaixo.
Após esta tabela ser criada, passamos então a criação da tela em asp.net, o nome da tela : logon.asp.
Coloque também o código em C#(Sharp) logon.asp.cs
Valeu pessoal grande abraço.
terça-feira, 22 de maio de 2012
Fazendo um Crud usando C# e Asp.Net
sexta-feira, 18 de maio de 2012
Formulario para cadastro de Artigo ou Nóticias
Estou mais uma vez disponibilizando um formulário em C#(Sharp) para cadastramento de Artigos ou Noticias em um formulário Web.
Espero que gostem e utilizem ele.
Abraço e até o próximo post.
Não esqueçam também deste código que deve ter o mesmo nome, porém coma extensão aspx.cs.
segunda-feira, 14 de maio de 2012
Tela de cadastro de clientes com list box
Neste artigo mostrarei como fazer uma tela(protótipo) para cadastramento de clientes e seleção de assuntos de interesse do cliente. É apenas uma demonstração do nosso curso de C# onde demonstramos a manipulação de ListBox em um WebForm.
Acompanhe o código abaixo e veja como ficou.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
.style2
{
width: 96px;
height: 34px;
}
.style3
{
height: 34px;
}
.style4
{
width: 123px;
}
.style5
{
width: 157px;
text-align: center;
}
.style6
{
text-align: center;
}
.style7
{
text-align: left;
}
</style>
</head>
<form id="form1" runat="server">
<table align="center">
<tr>
<td class="style6" colspan="2">
Cadastro de Clientes</td>
</tr>
<tr>
<td class="style6">
</td>
<td>
</td>
</tr>
<tr>
<td class="style7">
<asp:Label ID="Label1" runat="server" Text="Nome"></asp:Label>
</td>
<td>
<asp:TextBox ID="nome" runat="server" Columns="50" Font-Size="Medium"
Height="28px" MaxLength="50" Width="431px"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style7">
<asp:Label ID="Label2" runat="server" Text="Endereço"></asp:Label>
</td>
<td>
<asp:TextBox ID="endereco" runat="server" Columns="50" Font-Size="Medium"
Height="28px" MaxLength="50" Width="431px"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style7">
<asp:Label ID="Label3" runat="server" Text="Telefone"></asp:Label>
</td>
<td>
<asp:TextBox ID="telefone" runat="server" Columns="14" Font-Size="Medium"
MaxLength="14"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style7">
<asp:Label ID="Label4" runat="server" Text="Bairro"></asp:Label>
</td>
<td>
<asp:TextBox ID="Bairro" runat="server" Columns="30" Font-Size="Medium"
Height="22px" MaxLength="30" Width="261px"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style7">
<asp:Label ID="Label5" runat="server" Text="Cidade"></asp:Label>
</td>
<td>
<asp:TextBox ID="cidade" runat="server" Columns="30" Font-Size="Medium"
Height="22px" MaxLength="30" Width="261px"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style7">
<asp:Label ID="Label6" runat="server" Text="Estado"></asp:Label>
</td>
<td>
<asp:DropDownList ID="estado" runat="server">
<asp:ListItem Value="AC">Acre</asp:ListItem>
<asp:ListItem Value="AL">Alagoas</asp:ListItem>
<asp:ListItem Value="AP">Amapá</asp:ListItem>
<asp:ListItem Value="AM">Amazonas</asp:ListItem>
<asp:ListItem Value="BA">Bahia</asp:ListItem>
<asp:ListItem Value="CE">Ceará</asp:ListItem>
<asp:ListItem Value="DF">Distrito Federal</asp:ListItem>
<asp:ListItem Value="ES">Espirito Santo</asp:ListItem>
<asp:ListItem Selected="True" Value="GO">Goiás</asp:ListItem>
<asp:ListItem Value="MA">Maranhão</asp:ListItem>
<asp:ListItem Value="MT">Mato Grosso </asp:ListItem>
<asp:ListItem Value="MS">Mato Groso do Sul</asp:ListItem>
<asp:ListItem Value="MG">Minas Gerais</asp:ListItem>
<asp:ListItem Value="PA">Pará</asp:ListItem>
<asp:ListItem Value="PB">Paraíba</asp:ListItem>
<asp:ListItem Value="PR">Paraná</asp:ListItem>
<asp:ListItem Value="PE">Pernambuco</asp:ListItem>
<asp:ListItem Value="PI">Piauí</asp:ListItem>
<asp:ListItem Value="RJ">Rio de Janeiro</asp:ListItem>
<asp:ListItem Value="RN">Rio Grande do Norte</asp:ListItem>
<asp:ListItem Value="RS">Rio Grande do Sul</asp:ListItem>
<asp:ListItem Value="RO">Rondônia</asp:ListItem>
<asp:ListItem Value="RR">Roraíma</asp:ListItem>
<asp:ListItem Value="SP">São Paulo</asp:ListItem>
<asp:ListItem Value="SC">Santa Catarina</asp:ListItem>
<asp:ListItem Value="SE">Sergipe </asp:ListItem>
<asp:ListItem Value="TO">Tocantins</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td class="style7">
<asp:Label ID="Label7" runat="server" Text="CPF"></asp:Label>
</td>
<td>
<asp:TextBox ID="cpf" runat="server" Columns="14" MaxLength="14"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style6">
</td>
<td>
<table style="width:100%;">
<tr>
<td class="style4" style="text-align: center">
<asp:Label ID="Label9" runat="server" Text="Assuntos"></asp:Label>
</td>
<td class="style5">
<asp:Label ID="Label11" runat="server" Width="20px"></asp:Label>
</td>
<td style="text-align: center">
<asp:Label ID="Label10" runat="server" Text="Prediletos"/>
</td>
</tr>
<tr>
<td class="style4" rowspan="4">
<asp:ListBox id="assuntos" runat="server" Height="116px" Width="121px">
<asp:ListItem Value="inf">Informatica</asp:ListItem>
<asp:ListItem Value="Aut">Automóvel</asp:ListItem>
<asp:ListItem Value="Cul">Cultura</asp:ListItem>
<asp:ListItem Value="Cui">Culinaria</asp:ListItem>
<asp:ListItem Value="Tre">Treinamento</asp:ListItem>
<asp:ListItem Value="Fin">Finanças</asp:ListItem>
<asp:ListItem Value="Rel">Religião </asp:ListItem>
<asp:ListItem Value="Pol">Política</asp:ListItem>
</asp:ListBox>
</td>
<td class="style5">
<asp:Button ID="tudoL" runat="server" Text="<<" onclick="tudoL_Click"
ToolTip="Limpar todos os assuntos prediletos e voltar para assuntos" />
</td>
<td rowspan="4">
<asp:ListBox ID="prediletos" runat="server" Height="119px" Width="132px"
SelectionMode="Multiple">
</asp:ListBox>
</td>
</tr>
<tr>
<td class="style5">
<asp:Button ID="tudoR" runat="server" Text=">>" onclick="tudoR_Click" />
</td>
</tr>
<tr>
<td class="style5">
<asp:Button ID="RtoL" runat="server" Text=" < " onclick="RtoL_Click" />
</td>
</tr>
<tr>
<td class="style5">
<asp:Button ID="LtoR" runat="server" onclick="LtoR_click" Text=" > " />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="style2">
</td>
<td class="style3">
<asp:Button ID="Button1" runat="server" onclick="limparCampos" Text="Limpar" />
<asp:Label ID="Label8" runat="server" Height="17px" Width="304px">
</asp:Label>
<asp:Button ID="Salvar" runat="server" Text="Salvar" />
</td>
</tr>
</table>
</form>
<script language="C#" runat="server">
</script>
</html>
agora no arquivo Default.aspx.cs coloque.
Espero que tenham gostado deste código e desafio você a fazer o restante do código. Abraço a todos.
Jorge Albernaz Martins.'.
quinta-feira, 1 de março de 2012
Cadastro de notas de alunos usando Matriz Bi dimensional - JAVA
package Aula05;
import javax.swing.JOptionPane;
public class CalculaMediaAlunoBiDimensional {
public static void main(String[] args) {
String[] nome=new String[10];
double[][] notas=new double[10][5];
//faz se a entrada de dados
for (int i = 0; i < 3; i++) {
nome[i]=JOptionPane.showInputDialog("Nome ");
notas[i][0]=Double.parseDouble(JOptionPane.showInputDialog("Nota 1 "));
notas[i][1]=Double.parseDouble(JOptionPane.showInputDialog("Nota 2 "));
notas[i][2]=Double.parseDouble(JOptionPane.showInputDialog("Nota 3 "));
notas[i][3]=Double.parseDouble(JOptionPane.showInputDialog("Nota 4 "));
notas[i][4]=(notas[i][0]+notas[i][1]+notas[i][2]+notas[i][3])/4;
}
for (int i = 0; i < 3; i++) {
System.out.println("Nome : "+nome[i]);
System.out.println("Nota 1 "+notas[i][0]);
System.out.println("Nota 2 "+notas[i][1]);
System.out.println("Nota 3 "+notas[i][2]);
System.out.println("Nota 4 "+notas[i][3]);
System.out.println("Media "+notas[i][4]);
}
}
}
quarta-feira, 29 de fevereiro de 2012
Trabalhando com variaveis homogeneas bi dimensionais.
terça-feira, 28 de fevereiro de 2012
Exercicio em sala de aula
terça-feira, 21 de fevereiro de 2012
Como ganhar dinheiro com programas de computador?
Explorando Nichos de Mercado no Desenvolvimento de Programas de Computador
Quando falamos em desenvolvimento de software, é comum pensar em aplicações voltadas para o comércio. Sem dúvida, esse é um nicho lucrativo, mas também altamente competitivo. Grandes empresas, como SAP, TOTVS, MICROSIGA e SANKHYA, já dominam o mercado corporativo de soluções para grandes e médias empresas. Portanto, para um desenvolvedor ou empreendedor iniciante, competir nesse terreno pode ser desafiador. Mas, como sempre digo aos meus alunos: o segredo para ganhar dinheiro não é fazer o que a maioria faz, mas fazer algo único, bem feito e com qualidade.
Escolha Bem Seus Clientes e Documente Seus Projetos
Antes de iniciar qualquer projeto, selecione bem seus clientes. Uma boa referência pode se transformar em uma grande dor de cabeça se as expectativas não estiverem claras desde o início. Comece com pequenos trabalhos, garantindo constância e produtividade. Mais importante ainda, documente cada etapa do processo. Durante o desenvolvimento, é comum que clientes solicitem alterações ou novas funcionalidades que podem comprometer prazos e custos. Ter tudo documentado facilita justificar mudanças de escopo, prazos adicionais e ajustes de valor.
Além disso, demonstre como o sistema que você está desenvolvendo pode trazer ganhos financeiros ao cliente. Infelizmente, muitos empresários ainda priorizam investimentos visíveis, como veículos de luxo, em vez de soluções tecnológicas que podem gerar lucros significativos no médio e longo prazo.
Linguagem de Programação: Eficiência e Domínio São Cruciais
A escolha da linguagem de programação pode fazer toda a diferença. Linguagens eficientes e que você domina são essenciais para garantir produtividade e qualidade. Se você for atuar como pessoa jurídica, opte por linguagens com ampla mão de obra disponível no mercado, como Java ou Python. Já como pessoa física, uma boa estratégia pode ser focar em linguagens menos exploradas, mas ainda requisitadas, como COBOL, que, devido à base instalada de sistemas legados, ainda oferece excelentes oportunidades.
Java e COBOL, juntos, podem ser um diferencial competitivo. Muitas grandes empresas estão migrando seus sistemas em COBOL para ambientes Web usando Java, o que cria uma demanda crescente por profissionais com essa combinação de habilidades.
Aplicativos Mobile: Oportunidades no Crescimento da Mobilidade
Outro nicho promissor é o desenvolvimento de aplicativos para dispositivos móveis. Com o crescimento do Android, que se consolidou como um dos sistemas operacionais mais utilizados, há inúmeras histórias de desenvolvedores que lucraram com apps simples, vendidos por valores acessíveis e com alta taxa de downloads.
Os usuários de smartphones trocam de dispositivos com frequência e buscam cada vez mais soluções que facilitem o dia a dia. Aplicativos que ajudam na gestão financeira, como lembretes de contas a pagar e a receber, ou que otimizam deslocamentos, como sistemas de rotas alternativas com integração a GPS e câmeras de trânsito, são exemplos de produtos com grande potencial de mercado.
Identifique Necessidades do Século 21
O mundo da programação está cheio de oportunidades, muitas delas ainda inexploradas. Para se destacar, é essencial buscar capacitação contínua, identificar necessidades humanas contemporâneas e pensar além do óbvio. Como diz Alvin Toffler em A Terceira Onda, o mercado de trabalho está mudando radicalmente, e a capacidade de inovar será um diferencial crucial.
Invista em criatividade, planejamento e na construção de soluções tecnológicas que realmente façam a diferença na vida das pessoas. Lembre-se: as portas do mercado de tecnologia estão abertas para aqueles que conseguem enxergar além.
quarta-feira, 15 de fevereiro de 2012
Um calculadora com bugs, mas boa de aprender C#
Como Criar uma Calculadora em C# Semelhante à do Windows: Tutorial Completo
Se você está aprendendo C# e deseja criar algo prático e funcional, desenvolver uma calculadora semelhante à do Windows é um excelente exercício. Neste tutorial, mostrarei um exemplo funcional de uma calculadora com interface gráfica, utilizando o WPF (Windows Presentation Foundation). Este projeto é perfeito para quem quer aprimorar habilidades em desenvolvimento de aplicações desktop.
O Código
Abaixo estão as implementações para os arquivos necessários:
1. MainWindow.xaml
Este é o arquivo de layout, responsável pela interface da calculadora. Incluímos botões para números, operações básicas e outras funcionalidades, como raiz quadrada e inversão de sinal.
<Window x:Class="Calculadora.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Calculadora" Height="404" Width="426" Background="#FFEBE5E5" WindowStyle="ThreeDBorderWindow">
<Grid Width="358">
<Button Content="7" Height="28" HorizontalAlignment="Left" Margin="91,127,0,0" Name="sete" VerticalAlignment="Top" Width="37" Click="sete_Click" />
<TextBox Height="53" HorizontalAlignment="Right" Margin="0,34,54,0" Name="display" VerticalAlignment="Top" Width="213" FontFamily="Arial" FontSize="28" HorizontalContentAlignment="Right" />
<!-- Botões para números, operações e funcionalidades -->
</Grid>
</Window>
2. MainWindow.xaml.cs
Aqui está a lógica por trás da calculadora. Cada botão chama um método que realiza a operação correspondente. Por exemplo, ao clicar no botão "7", o número é exibido no display.
using System;
using System.Windows;
namespace Calculadora
{
public partial class MainWindow : Window
{
double acumula = 0;
string operacao = "";
public MainWindow()
{
InitializeComponent();
}
private void sete_Click(object sender, RoutedEventArgs e)
{
display.Text += "7";
}
private void soma_Click(object sender, RoutedEventArgs e)
{
acumula += double.Parse(display.Text);
display.Text = "";
operacao = "+";
}
private void igual_Click(object sender, RoutedEventArgs e)
{
if (operacao == "+")
{
acumula += double.Parse(display.Text);
display.Text = acumula.ToString();
}
}
// Outros métodos...
}
}
terça-feira, 14 de fevereiro de 2012
Listagem de Produtos em C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Arrayprodutos
{
class Program
{
static void Main(string[] args)
{
string[,] produto = new string[10, 2];
double[,] estoque = new double[10, 2];
for (int i = 0; i < 10; i++)
{
Console.Write("Nome ....: ");
produto[i, 0] = Console.ReadLine();
Console.Write("Unidade..: ");
produto[i, 1] = Console.ReadLine();
Console.Write("Pr. Unit.: ");
estoque[i, 0] = double.Parse(Console.ReadLine());
Console.Write("Qtd Estoq: ");
estoque[i, 1] = double.Parse(Console.ReadLine());
}
for (int i = 0; i < 10; i++)
{
Console.Write("Nome ....: "+produto[i, 0]);
Console.Write("Total Est. : "+(estoque[i, 0]*estoque[i, 1]));
}
}
}
}
Correção exercicio de C# para calculo das médias.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace estudantes
{
class medias
{
static void Main(string[] args)
{
string[] nome = new string[10];
double[,] notas = new double[10, 5];
string[] colunas = new string[6]
{"\nnome","nota-1","nota-2","nota-3","nota-4","média" };
for (int i = 0; i < 10; i++)
{
Console.Write(colunas[0]);
nome[i] = Console.ReadLine();
for (int k = 0; k < 4; k++)
{
Console.Write(colunas[k + 1]);
notas[i, k] = double.Parse(Console.ReadLine());
notas[i, 4] += notas[i, k] / 4;
}
}
for (int i = 0; i < 10; i++)
{
Console.WriteLine(colunas[0]+nome[i]);
for (int k = 0; k < 5; k++)
{
Console.WriteLine(colunas[k + 1] + notas[i, k]);
}
if (notas[i, 4] >= 7) {
Console.WriteLine("Situação : Aprovado");
}
else if (notas[i, 4] >= 5 && notas[i, 4] < 7)
{
Console.WriteLine("Situação : Prova final");
}
else {
Console.WriteLine("Situação : Reprovado");
}
}
}
}
}
Demonstração de Array bi dimensional
using System;
Console.WriteLine(" ");
segunda-feira, 13 de fevereiro de 2012
Calculo das raizes da equação do 2º Grau em C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Matematica
{
class Program
{
static void Main(string[] args)
{
double a, b, c, d, x1, x2;
Console.WriteLine("Equação 2º Grau");
Console.Write(" Valor de a : ");
a = double.Parse(Console.ReadLine());
Console.Write(" Valor de b : ");
b = double.Parse(Console.ReadLine());
Console.Write(" Valor de c : ");
c = double.Parse(Console.ReadLine());
Console.WriteLine(a + "x² + " + b + "x + " + c + "=0");
d = b * b - 4 * a * c;
if (d > 0) {
Console.WriteLine("Existem duas raizes reais");
x1 = (-b + Math.Sqrt(d)) / (2 * a);
x2 = (-b - Math.Sqrt(d)) / (2 * a);
Console.WriteLine("x'= " + x1);
Console.WriteLine("x''= " + x2);
}
else if (d == 0)
{
Console.WriteLine("Existem duas raizes reais e iguais.");
x1 = -b / (a * 2);
Console.WriteLine("x'=x''= " + x1);
}
else {
Console.WriteLine("Nao existem raizes reais");
}
Console.ReadKey();
}
}
}
terça-feira, 7 de fevereiro de 2012
Programar é um exercício de paciência e disciplina.
quinta-feira, 2 de fevereiro de 2012
COBOL? Nao morreu!
Você pode que trabalha na área ou esta entrando agora pode se perguntar, quem usa cobol para desenvolver, talvez pequenas e medias empresa não usem por serem muito novas em relação a idade do cobol mas empresas que sobreviveram aos últimos cinquenta anos, certamente adotou, adota ou mantém sistemas em COBOL. Os bancos e grandes corporações se utilizam destes sistemas. Talvez não esteja ao seu alcance se você estiver pensando em morar na sua cidade e trabalhar, mas estiver sintonizado com o mercado e tiver disponibilidade poderá ver essa tendência. Os dinossauros(nos programadores de quase 60 anos) estão se retirando e ainda há muitos sistemas por ai para dar manutenção ou desenvolver. Pense! Ganha dinheiro na área de informatica quem faz algo diferente da maioria.
quarta-feira, 1 de fevereiro de 2012
Listagem de clientes na tela com opção de editar.
identification division.
program-id. listaClientes.
author. jorgefox.
environment division.
configuration section.
input-output section.
file-control.
select clientes assign to "clientes.dat"
organization is indexed
access mode is dynamic
record key is codigo
alternate key is nome with duplicates
file status is fs-clientes.
data division.
file section.
fd clientes.
01 registro-clientes.
02 codigo pic 9999.
02 nome pic x(50).
02 data-nas.
03 dia-nas pic 99.
03 mes-nas pic 99.
03 ano-nas pic 9999.
02 telefone pic x(30).
02 endereco pic x(50).
02 numero pic 9(6).
02 complemento pic x(30).
02 bairro pic x(30).
02 cidade pic x(30).
02 cep pic x(8).
02 estado pic AA.
02 email pic x(50).
working-storage section.
01 fs-clientes.
02 fs-clientes-1 pic 9.
02 fs-clientes-2 pic 9.
02 fs-cliente-r redefines fs-clientes-2 pic 99 comp-x.
77 opcao pic x value spaces.
77 codigop pic 9999 values zeros.
77 linha pic 9999 value 0902.
procedure division.
abertura.
open input clientes
if fs-clientes unequal zero then
display erase
display "Erro ao abrir clientes.dat" at 1010 fs-clientes
accept opcao
close clientes
exit program
else
display "deu certo"
accept opcao
end-if
.
inicio.
display erase
display "Listagem de clientes" at 0330
display "+------+----------------------------------------------
-"----------------+-------+" at 0601
display "|codigo| Nome Cliente
-" |Dt Nasc|" at 0701
display "+------+----------------------------------------------
-"----------------+-------+" at 0801
move " " to nome
start clientes key is not less nome
if fs-clientes=00 then
perform imprime
display "Digite o codigo desejado [....]" at 2201
accept codigop at 2227
call "aplicacao" using codigop
exit program
else
display "deu erro " fs-clientes
accept opcao
end-if
close clientes
exit program
.
imprime.
read clientes next
perform until fs-clientes<>00
display codigo at linha
add 8 to linha
display nome at linha
add 61 to linha
display dia-nas at linha "/"
add 3 to linha
display mes-nas at linha "/"
add 3 to linha
display ano-nas at linha
subtract 76 from linha giving linha
add 101 to linha
read clientes next
end-perform
.
Como controlar erros de leitura e gravação em cobol
Para ajudar nessa questão vou postar um link de pagina que o ajudará a determinar qual o problema com a file status.
http://supportline.microfocus.com/documentation/books/sx20books/fhscod.htm#s001
Caso ocorra um erro busque nesta tabela os erros e suas causas.
[]s a todos
Programa de menu - cobol
identification division.
program-id. menu.
author. jorgefox.
data division.
working-storage section.
77 wopcao pic 9 value zero.
screen section.
01 menu-principal.
02 blank screen.
02 line 1 col 1 value "***************************************
-"************************************".
02 line 2 col 21 value "Sistema de compra e venda Mercadorias"
-.
02 line 3 col 1 value "***************************************
-"************************************".
02 line 4 col 33 value "Menu Principal".
02 line 7 col 10 value "[1] Cadastro Mercadoria".
02 line 8 col 10 value "[2] Cadastro Cliente".
02 line 9 col 10 value "[3] Cadastro Vendedor/Comprador".
02 line 10 col 10 value "[4] Listagem de Mercadoria".
02 line 11 col 10 value "[5] Listagem de Cliente".
02 line 12 col 10 value "[6] Sair sistema".
02 line 15 col 10 "Digite a opção desejada[.]".
02 opcao line 15 col 34 pic 9 using wopcao auto.
procedure division.
inicio.
display menu-principal
accept menu-principal
evaluate wopcao
when 1
call "cadmercadoria" using wopcao
go to inicio
when 2
call "aplicacao"
go to inicio
when 6
stop run
when other
go to inicio
end-evaluate.
Tela de Cadastro de Clientes - Cobol
identification division.
program-id. aplic.
author. jorgefox.
environment division.
configuration section.
input-output section.
file-control.
select clientes assign to "clientes.dat"
organization is indexed
access mode is dynamic
record key is codigo
alternate key is nome with duplicates
file status is fs-clientes.
data division.
file section.
fd clientes.
01 registro-clientes.
02 codigo pic 9999.
02 nome pic x(50).
02 data-nas.
03 dia-nas pic 99.
03 mes-nas pic 99.
03 ano-nas pic 9999.
02 telefone pic x(30).
02 endereco pic x(50).
02 numero pic 9(6).
02 complemento pic x(30).
02 bairro pic x(30).
02 cidade pic x(30).
02 cep pic x(8).
02 estado pic AA.
02 email pic x(50).
01 reg-cliente.
02 wcodigo pic 9999 values zero.
02 wnome pic x(50) values spaces.
02 wdata-nas.
03 wdia-nas pic 99 values zero.
03 wmes-nas pic 99 values zero.
03 wano-nas pic 9999 values zero.
02 wtelefone pic x(30) value spaces.
02 wendereco pic x(50) value spaces.
02 wnumero pic 9(6) value zero.
02 wcomplemento pic x(30) value spaces.
02 wbairro pic x(30) value spaces.
02 wcidade pic x(30) value spaces.
02 wcep pic x(8) value spaces.
02 westado pic AA value spaces.
02 wemail pic x(50) value spaces.
working-storage section.
01 fs-clientes.
02 fs-clientes-1 pic 9.
02 fs-clientes-2 pic 9.
02 fs-cliente-r redefines fs-clientes-2 pic 99 comp-x.
77 opcao pic x value spaces.
procedure division.
abertura.
open i-o clientes.
inicio.
display erase
perform tela
if opcao="S" or opcao="s" then
perform grava-dados
perform limpa-campos
go to inicio
else
go to inicio
end-if
.
tela.
display "Cadastro de cliente" at 0430
display "Codigo : " at 0605
display "Nome : " at 0705
display "Data Nascimento : / /" at 0805
display "Endereco : " at 0905
display "Telelefone : " at 1005
display "Numero : " at 1105
display "Complemento : " at 1205
display "Bairro : " at 1305
display "Cidade : " at 1405
display "C.E.P : " at 1505
display "Estado : " at 1605
display "E-mail : " at 1705
accept wcodigo at 0625
if wcodigo = 9999 then
close clientes
exit program
end-if
accept wnome at 0725
accept wdia-nas at 0825
accept wmes-nas at 0828
accept wano-nas at 0831
accept wendereco at 0925
accept wtelefone at 1025
accept wnumero at 1125
accept wcomplemento at 1225
accept wbairro at 1325
accept wcidade at 1425
accept wcep at 1525
accept westado at 1625
accept wemail at 1725
display "Dados corretos [S/N] [.]" at 1905
accept opcao at 1927
.
limpa-campos.
move spaces to reg-cliente.
grava-dados.
move reg-cliente to registro-clientes
write registro-clientes.
segunda-feira, 30 de janeiro de 2012
Menu principal em COBOL
identification division.
program-id. menu.
author. jorgefox.
data division.
working-storage section.
*77 opcao pic 9 value zero.
77 wopcao pic 9 value zero.
screen section.
01 menu-principal.
02 blank screen.
02 line 1 col 1 value "***************************************
-"************************************".
02 line 2 col 21 value "Sistema de compra e venda Mercadorias"
-.
02 line 3 col 1 value "***************************************
-"************************************".
02 line 4 col 33 value "Menu Principal".
02 line 7 col 10 value "[1] Cadastro Mercadoria".
02 line 8 col 10 value "[2] Cadastro Cliente".
02 line 9 col 10 value "[3] Cadastro Vendedor/Comprador".
02 line 10 col 10 value "[4] Listagem de Mercadoria".
02 line 11 col 10 value "[5] Listagem de Cliente".
02 line 12 col 10 value "[6] Sair sistema".
02 line 15 col 10 "Digite a opção desejada[.]".
02 opcao line 15 col 10 pic 9 using wopcao auto.
procedure division.
inicio.
display menu-principal
accept menu-principal
evaluate wopcao
when 1
call "cadmercadoria" using wopcao
go to inicio
when 2
call "cadcliente" using wopcao
when 6
stop run
when other
go to inicio
end-evaluate.