Jump to content


eduardow

Member Since 12/05/2007
Offline Last Active 16/05/2007, 11:40
-----

Topics I've Started

Linguagem C

12/05/2007, 02:09

Esse codigo funciona em turbo C mas não funciona em dev c++ porque onde esta o error

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

#define MAX 50

//declara‡Æo das variaveis globais
struct computador
{
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 computador Tabela[ MAX ]; /* cria um vetor de MAX 50 ("registros") struct Computador, */


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


void Inicializa();
unsigned int RecebeMenu();
void incluicpu();
void apagacpu();
void exibecpu();

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

struct computador cpu;
unsigned int i, tmp;
char opcao;

clrscr();
textcolor(YELLOW);

Inicializa(); // inicio da tabela
for(;;) {
opcao = RecebeMenu();
switch( opcao ) {
case 1: incluicpu();
break;
case 2: apagacpu();
break;
case 3: exibecpu();
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 computador ----
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 ESC COMPUTER SYSTEM -----------------\n\n");
textcolor ( WHITE );
cprintf(" \n\n\n---------------------------- CADASTRO DE COMPUTADOR --------------------------\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 Computador. \n");
cprintf("\n ( 3 )"); printf(" Exibe o Computador cadastrados. \n");
cprintf("\n ( 4 )"); printf(" Sair do programa. \n");
do {


textcolor (GREEN); // 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 incluicpu()
{ char ch;
struct computador cpu;
unsigned int i; //i indice da proxima posicao

i = 0;
do {
clrscr();
textcolor(LIGHTGREEN + BLINK); // texto luminoso e piscante
cprintf("\n\n=========================== CADASTRO DE COMPUTADOR =============================");
while ( Tabela[i].cod != 0 )
i++;
textcolor (WHITE);
cprintf("\n\n\n------------------------- INFORME OS DADOS DO COMPUTADOR: -----------------------\n");
textcolor (LIGHTCYAN);
cprintf("\nNumero de Ordem: "); scanf("%u", &cpu.cod );
fflush( NULL );
cprintf("\n\nComputador: "); gets( cpu.nome );
fflush( NULL );
cprintf("\n\nFabricante: "); gets( cpu.fabricante );
fflush( NULL );
cprintf("\n\nSituacao: ");
textcolor(LIGHTGREEN); // texto luminoso
cprintf(" NOVO OU USADO ?: "); gets( cpu.sit );
textcolor (LIGHTCYAN); //texto luminoso
fflush( NULL );
cprintf("\n\nCor ?: "); gets( cpu.cor );
fflush( NULL );
cprintf("\n\nPreco Unitario: ");
scanf("%f", &cpu.precounitario );
Tabela[ i ] = cpu ;
NumRegs++ ;
cprintf("\n\n\n\nDeseja incluir um novo Computador ? (S/N)?");
ch = toupper(getch());
} while ( ch != 'N');
clrscr();
}//Incluir Dados

void exibecpu()
{
unsigned int t;
clrscr();
textcolor(WHITE);
cprintf("========================= COMPUTADOR 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 Computador : %u",Tabela[t].cod );
printf("\n\n Nome do Computador: %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 Computador = %u", NumRegs );//informa a quntidade total
printf("\n\n*Pressione alguma tecla para retornar ao menu! ");
getch();
clrscr(); //limpa
}//exibeDados

//-------------------------------------------------------------------------
void apagacpu()
{
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.

IPB Skin By Virteq