Me ajudem com esse código para funcionar em DEV C

13/05/2007

1

// ========== Inclusao dos arquivos do cabecalho ===================
#include <stdio.h>
include <stdlib.h>
include <string.h>
include <conio.h>

define MAX 50

//declara‡Æo das variaveis globais
struct computadores
{
unsigned int cod; // codig do produto
char nome[25],fabricante[20];
float precounitario; // variaveis do tipo float para pre‡o
char sit[30],cor[15]; // situacao: novo; usado e sua cor
};
struct computadoresTabela[ MAX ]; /* cria um vetor de MAX 50 (´registros´) struct computadores, */


unsigned int NumRegs; // quantidade de computadores cadastrados na tabela, a cada momento


void Inicializa();
unsigned int RecebeMenu();
void incluimicro();
void apagamicro();
void exibemicro();

/* ------------------------ Funcao principal do programa ------------------------------ */
void main()
{

struct computadores comp;
unsigned int i, tmp;
char opcao;

clrscr();
textcolor(YELLOW);

Inicializa(); // inicio da tabela
for(;;) {
opcao = RecebeMenu();
switch( opcao ) {
case 1: inclumicro();
break;
case 2: apagamicro();
break;
case 3: exibemicro();
break;
case 4: clrscr();
textcolor(WHITE);
cprintf(´\n\n\n\n\nObrigado por visitar nosso Sistema\n\n\n\ntecle algo para sair!´);
getch();
clrscr();
exit(0);//termina o programa, retornando 0 como codigo de erro
}
}

}//fecha o main

//---- Inicializa a tabela de computadores ----
void Inicializa()
{
int t;
NumRegs = 0;
for( t=0; t<MAX; t++)
Tabela[t].cod = 0;
}//Inicio

// Exibe o menu para o usuario
unsigned int RecebeMenu()
{unsigned int c;

clrscr();
textcolor(CYAN + BLINK);
cprintf(´\n\n\n------------------- BEM VINDO A lOCADORA ESMMR MICRO COMPUTER -----------------\n\n´);
textcolor ( RED );
cprintf(´ \n\n\n---------------------------- CADASTRO DE COMPUTADORES --------------------------\n\n´);
printf(´\n\n\n=================================== MENU ===================================== \n\n´);
cprintf(´\n ( 1 )´); printf(´ Inclui novo computador. \n´);
cprintf(´\n ( 2 )´); printf(´ Apaga um item de computadores. \n´);
cprintf(´\n ( 3 )´); printf(´ Exibe os computadores cadastrados. \n´);
cprintf(´\n ( 4 )´); printf(´ Sair do programa. \n´);
do {


textcolor (BLUE); // cor para o texto
cprintf(´\n\n\n ì Entre com sua escolha: ´);
scanf(´¬u´, &c );
} while( c <= 0 || c > 4 );
return( c );
}//Recebe o Menu dos dados

//---------------------------------------------------
void incluimicro()
{ char ch;
struct computadores comp;
unsigned int i;//i indice da proxima posicao

i = 0;
do {
clrscr();
textcolor(LIGHTBLUE + BLINK); // texto luminoso e piscante
cprintf(´\n\n=========================== CADASTRO DE COMPUTADORES =============================´);
while ( Tabela[i].cod != 0 )
i++;
textcolor (RED);
cprintf(´\n\n\n------------------------- INFORME OS DADOS DOS COMPUTADORES: -----------------------\n´);
textcolor (LIGHTCYAN);
cprintf(´\nNumero de Ordem: ´);scanf(´¬u´, &comp.cod );
fflush( NULL );
cprintf(´\n\ncomputadores: ´); gets( comp.nome );
fflush( NULL );
cprintf(´\n\nFabricante: ´); gets( comp.fabricante );
fflush( NULL );
cprintf(´\n\nSituacao: ´);
textcolor(LIGHTBLUE); // texto luminoso
cprintf(´ NOVO OU USADO ?: ´); gets( comp.sit );
textcolor (LIGHTCYAN); //texto luminoso
fflush( NULL );
cprintf(´\n\nCor ?: ´); gets( comp.cor );
fflush( NULL );
cprintf(´\n\nPreco Unitario: ´);
scanf(´¬f´, &comp.precounitario );
Tabela[ i ] = comp ;
NumRegs++ ;
cprintf(´\n\n\n\nDeseja incluir um novo computador ? (S/N)?´);
ch = toupper(getch());
} while ( ch != ´N´);
clrscr();
}//Incluir Dados

void exibemicro()
{
unsigned int t;
clrscr();
textcolor(RED);
cprintf(´========================= COMPUTADORES CADASTRADOS NA TABELA =====================\n´ );
for(t=0; t < MAX; t++ ) {
if( Tabela[t].cod != 0 ) {
textcolor(YELLOW);
printf(´\n\n---------------------------------------------´);
printf(´\n\n Registro n?= ¬u ´, t+1 );
printf(´\n\n Numero de Ordem do computadores : ¬u´,Tabela[t].cod );
printf(´\n\n Nome do computadores: ¬s´, Tabela[t].nome );
printf(´\n\n Fabricante : ¬s´, Tabela[t].fabricante );
printf(´\n\n Situacao: ¬s´, Tabela[t].sit );
printf(´\n\n Cor: ¬s´,Tabela[t].cor );
printf(´\n\n Pre‡o Unitario: ¬f ´, Tabela[t].precounitario );
printf(´\n\n---------------------------------------------´);
}
}
cprintf(´\n\nTotal de computadores = ¬u´, NumRegs );//informa a quntidade total
printf(´\n\n*Pressione alguma tecla para retornar ao menu! ´);
getch();
clrscr(); //limpa
}//exibeDados

//-------------------------------------------------------------------------
void apagamicro()
{
unsigned int pos;

clrscr();
textcolor(YELLOW); //Cor do Cabe‡alho
cprintf(´****************************** EXCLUIR COMPUTADOR ****************************´);
printf(´\n\n\nInforme o Numero de Ordem do computador a ser excluido: ´);
scanf(´¬u´, &pos );
if( Tabela[pos-1].cod == 0 ) {
cprintf(´Este registro ja esta vazio´);
return;
}
Tabela[pos-1].cod = 0;
NumRegs--;
cprintf(´\n\n\nRegistro na entrada excluido!´ );
printf(´\n\n\n\n Numero atual de registros na tabela: ¬u\n´, NumRegs );// atualiza o registro
printf(´\n\n\n\n\nPressione alguma tecla para retornar ao menu! ´);
getch();


}//Fim do Programa.


Responder

Posts

14/09/2007

Zanchetta

Meu caro eu fiz algumas alterações como não conheço muito bem a sintaxe do c, pois programo em c++, verifiquei algumas coisas desconhecidas e coloquei em //(comentario) agora esta pelo menos executando...
qualquer coisa me mande um e-mail


thiagozanchetta@yahoo.it


aqui segue o código(ta meio bagunçado mexer no codigo dos outros é terrivel)


#include <stdio.h>
include <stdlib.h>
include <string.h>
include <conio.h>

define MAX 50
struct computadores
{
unsigned int cod; // codig do produto
char nome[25],fabricante[20];
float precounitario; // variaveis do tipo float para pre‡o
char sit[30],cor[15]; // situacao: novo; usado e sua cor
};
struct computadores Tabela[ MAX ]; /* cria um vetor de MAX 50 (´registros´) struct computadores, */
unsigned int NumRegs; // quantidade de computadores cadastrados na tabela, a cada momento

//---- Inicializa a tabela de computadores ----
void Inicializa()
{
int t, NumRegs ;
NumRegs = 0;
for( t=0; t<MAX; t++);
Tabela[t].cod = 0;
}//Inicio

// Exibe o menu para o usuario
unsigned int RecebeMenu()
{ unsigned int c;

//clrscr();
//textcolor(CYAN + BLINK);
printf(´\n\n\n------------------- BEM VINDO A lOCADORA ESMMR MICRO COMPUTER -----------------\n\n´);
//textcolor ( RED );
printf(´ \n\n\n---------------------------- CADASTRO DE COMPUTADORES --------------------------\n\n´);
printf(´\n\n\n=================================== MENU ===================================== \n\n´);
printf(´\n ( 1 )´); printf(´ Inclui novo computador. \n´);
printf(´\n ( 2 )´); printf(´ Apaga um item de computadores. \n´);
printf(´\n ( 3 )´); printf(´ Exibe os computadores cadastrados. \n´);
printf(´\n ( 4 )´); printf(´ Sair do programa. \n´);
do {


//textcolor (BLUE); // cor para o texto
printf(´\n\n\n ì Entre com sua escolha: ´);
scanf(´¬u´, &c );
} while( c <= 0 || c > 4 );
return( c );
}//Recebe o Menu dos dados

//---------------------------------------------------
void incluimicro()
{ char ch;
struct computadores comp;
unsigned int i; //i indice da proxima posicao

i = 0;
do {
//clrscr();
//textcolor(LIGHTBLUE + BLINK); // texto luminoso e piscante
printf(´\n\n=========================== CADASTRO DE COMPUTADORES =============================´);
while ( Tabela[i].cod != 0 )
i++;
//textcolor (RED);
printf(´\n\n\n------------------------- INFORME OS DADOS DOS COMPUTADORES: -----------------------\n´);
//textcolor (LIGHTCYAN);
printf(´\nNumero de Ordem: ´); scanf(´¬u´, &comp.cod );
fflush( NULL );
printf(´\n\ncomputadores: ´); gets( comp.nome );
fflush( NULL );
printf(´\n\nFabricante: ´); gets( comp.fabricante );
fflush( NULL );
printf(´\n\nSituacao: ´);
//textcolor(LIGHTBLUE); // texto luminoso
printf(´ NOVO OU USADO ?: ´); gets( comp.sit );
//textcolor (LIGHTCYAN); //texto luminoso
fflush( NULL );
printf(´\n\nCor ?: ´); gets( comp.cor );
fflush( NULL );
printf(´\n\nPreco Unitario: ´);
scanf(´¬f´, &comp.precounitario );
Tabela[ i ] = comp ;
NumRegs++ ;
printf(´\n\n\n\nDeseja incluir um novo computador ? (S/N)?´);
//ch = toupper(getch());
} while ( ch != ´N´);
//clrscr();
}//Incluir Dados

void exibemicro()
{
unsigned int t;
//clrscr();
//textcolor(RED);
printf(´========================= COMPUTADORES CADASTRADOS NA TABELA =====================\n´ );
for(t=0; t < MAX; t++ ) {
if( Tabela[t].cod != 0 ) {
//textcolor(YELLOW);
printf(´\n\n---------------------------------------------´);
printf(´\n\n Registro n?= ¬u ´, t+1 );
printf(´\n\n Numero de Ordem do computadores : ¬u´,Tabela[t].cod );
printf(´\n\n Nome do computadores: ¬s´, Tabela[t].nome );
printf(´\n\n Fabricante : ¬s´, Tabela[t].fabricante );
printf(´\n\n Situacao: ¬s´, Tabela[t].sit );
printf(´\n\n Cor: ¬s´,Tabela[t].cor );
printf(´\n\n Pre‡o Unitario: ¬f ´, Tabela[t].precounitario );
printf(´\n\n---------------------------------------------´);
}
}
printf(´\n\nTotal de computadores = ¬u´, NumRegs );//informa a quntidade total
printf(´\n\n*Pressione alguma tecla para retornar ao menu! ´);
getch();
//clrscr(); //limpa
}//exibeDados

//-------------------------------------------------------------------------
void apagamicro()
{
unsigned int pos;

//clrscr();
//textcolor(YELLOW); //Cor do Cabe‡alho
printf(´****************************** EXCLUIR COMPUTADOR ****************************´);
printf(´\n\n\nInforme o Numero de Ordem do computador a ser excluido: ´);
scanf(´¬u´, &pos );
if( Tabela[pos-1].cod == 0 ) {
printf(´Este registro ja esta vazio´);
return;
}
Tabela[pos-1].cod = 0;
NumRegs--;
printf(´\n\n\nRegistro na entrada excluido!´ );
printf(´\n\n\n\n Numero atual de registros na tabela: ¬u\n´, NumRegs );// atualiza o registro
printf(´\n\n\n\n\nPressione alguma tecla para retornar ao menu! ´);
getch();


}//Fim do Programa.


//declara‡Æo das variaveis globais




void Inicializa();
unsigned int RecebeMenu();
void incluimicro();
void apagamicro();
void exibemicro();

/* ------------------------ Funcao principal do programa ------------------------------ */
int main()
{

struct computadores comp;
unsigned int i, tmp;
char opcao;

//clrscr();
//textcolor(YELLOW);

Inicializa(); // inicio da tabela
opcao = RecebeMenu();
switch( opcao ) {
case 1: incluimicro();
break;
case 2: apagamicro();
break;
case 3: exibemicro();
break;
case 4: //clrscr();
//textcolor(WHITE);
printf(´\n\n\n\n\nObrigado por visitar nosso Sistema\n\n\n\ntecle algo para sair!´);
getch();
//clrscr();
exit(0); //termina o programa, retornando 0 como codigo de erro
}
}

//fecha o main


Responder

14/09/2007

Zanchetta

outro detalhe o seu fflush esta com problemas....quase mudei tudo para c++ mas não sabia o seu conhecimento nesta linguaguem!!!


Responder