display an image jpg in a window

someone could help me ... I need to show a picture in a window ... use codeblocks 13 with the windows ... please help me ...
What have you tried so far? This is a help forum, people will not just hand out code typically.
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
Mat im = imread("teste.jpg");
if (im.empty()) {
cout << "Cannot open image!" << endl;
return 1;
}
imshow("Image", im);
waitKey(0);
}
// DONT RUN...
Last edited on
There is a well documented tutorial for OpenCV here:
http://docs.opencv.org/doc/tutorials/introduction/display_image/display_image.html
thanks ... I could show you a picture ... using code within the code block ... the problem now when I try to use the executable outside the ide it causes this error. the application can not be properly initialized 0xc000007b. to learning alone ... help me if possible.
Please post your code. Do not just tell us you have code that gives error x. Error x tells us very little. Code and the error, as well as a good question will allow us to help you.
Last edited on
Use dependency walker and find the required DLLs. they must be shipped with your application.
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
#include <locale.h>
#include <math.h>
#include <ctype.h>
#include <windows.h>
#include <time.h>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;
using namespace std;


struct Cadastro {
char nome[40];
char dataCad[11];
char dataEnt[11];
char prontu[8];
char sexo[2];
char estud[2];
char dataEstud[11];
char dataTraba[11];
char ocupa[20];
char instru[20];
char traba[2];
char vulgo[20];
char nomePai[40];
char nomeMae[40];
char dataPrisaoc[11];
char artigo[40];
float dataPrisaoi;
float dataEstudi;
float dataTrabai;
float senteAproxDD;
int cad;
int pavi;
int cela;
int ativo;
int sentencaDias;
int sentencaMes;
int sentencaAnos;

};
char hoje[10];
float dthj,reg;
//fstream bd;
//bd.open("internos.dat, ios::in | ios::out");



void escrever(char texto[], char cor[], char fundo[], int linhas){
/* INSERIDO NO SMI EM 17/02/2015...
DESENVOLVIDO POR RENAN CAVALIERI
COPYRIGHT: CC BY-SA
*/
int vcor[3]; char* scor[]={cor,fundo};
for (int x=0;x<2;x++){
if(scor[x]=="preto"){vcor[x]=0;}
if(scor[x]=="azul_escuro"){vcor[x]=1;}
if(scor[x]=="verde_escuro"){vcor[x]=2;}
if(scor[x]=="ciano_escuro"){vcor[x]=3;}
if(scor[x]=="vermelho_escuro"){vcor[x]=4;}
if(scor[x]=="magenta_escuro"){vcor[x]=5;}
if(scor[x]=="amarelo_escuro"){vcor[x]=6;}
if(scor[x]=="branco_fosco"){vcor[x]=7;}
if(scor[x]=="cinza"){vcor[x]=8;}
if(scor[x]=="azul"){vcor[x]=9;}
if(scor[x]=="verde"){vcor[x]=10;}
if(scor[x]=="ciano"){vcor[x]=11;}
if(scor[x]=="vermelho"){vcor[x]=12;}
if(scor[x]=="magenta"){vcor[x]=13;}
if(scor[x]=="amarelo"){vcor[x]=14;}
if(scor[x]=="branco"){vcor[x]=15;}
}
vcor[2]=vcor[0]+(vcor[1]*16);
HANDLE hConsole; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), vcor[2]);
cout<<texto;
for(int x=0;x<linhas;x++)
cout<<endl;
}

int foto(char prontu[], char nome[])
{
int f;
char localfoto[8];//="C:\\Users\\Ricardo\\Documents\\";
strcat(localfoto,prontu);
strcat(localfoto,".jpg");
Mat img = imread(localfoto, CV_LOAD_IMAGE_COLOR);
if(img.empty())
return -1;
escrever("\n\nATENCAO!!! FECHE A JANELA DA FOTO PARA RETORNAR AO PROGRAMA !!!!\n","preto","amarelo",0);
cout << "\n\nMOSTRAR FOTO ? (1-nao/2-SIM) ";
cin >> f;
if (f==2){
namedWindow( nome, CV_WINDOW_AUTOSIZE );
imshow(nome, img);
waitKey(0);
destroyWindow(nome);
}
escrever("","branco","preto",0);


return 0;
}

int calcData(int dia, int mes, int ano)
{
int pc,sc,tc,qc,c;

pc=ano-1901;
sc=pc/4;
tc=(mes*4+23)/10;
qc=(mes+12)/15+(4-ano%4)/4*(mes+12)/15;

// DIA-DO-SEalculaCULO = (ANO - 1901) * 365 + (ANO - 1901) DIV 4 + DIA + (MES - 1) *31 - [(MES * 4 + 23) DIV 10]
// * [(MES + 12) DIV 15] + [(4 - ANO MOD 4) DIV 4) * [(MES + 12) DIV 15]

c=pc*365+sc+dia+(mes-1)*31-tc*qc;

return c;

}

int mostra()
{
Cadastro c;
int conta,pausa;
ifstream bd;
bd.open("internos.dat", ifstream::binary); // leitura e escrita
conta=0;

for (conta==0;conta<=reg-1;conta++){
bd.seekg((conta) * sizeof(Cadastro));
bd.read((char *)(&c),sizeof(Cadastro)); // atualizar

if (c.nome!=""){
cout <<"\n\nCadastro: " << c.cad;
cout << "\nNOME: " << c.nome << "\tVULGO: " << c.vulgo << "\tCADASTRADO EM: " << c.dataCad << "\tPRONTUARIO: " << c.prontu << "\tSEXO: " << c.sexo << "\tSITUACAO: ";
if (c.ativo==1)
cout << "ATIVO";
else
cout << "INATIVO";
cout << "\nARTIGO: " << c.artigo << "\tDATA DE ENTRADA NA UNIDADE: " << c.dataEnt;
cout << "\tPAI / MAE: " << c.nomePai << " / " << c.nomeMae << "\tOCUPACAO: " << c.ocupa;
cout << "\nGRAU DE ESCOLARIDADE: " << c.instru << "\tTRABALHAR: " << c.traba << "\tESTUDAR: " << c.estud;
cout << "\nDATA DA PRISAO: " << c.dataPrisaoc << " - " << c.dataPrisaoi << "\t INICIO TRABALHO: " << c.dataTraba << "\t INICIO ESTUDO: " << c.dataEstud;
cout << "\nALOJADO NO PAVILHAO / CELA: " << c.pavi << " / " << c.cela << "\tSENTENCIADO A:" << c.sentencaAnos << " ANO(S) " << c.sentencaMes << " MES(ES) " << c.sentencaDias << " DIA(S)\n";
}
}
system("pause");
bd.close();

}
int mostra2(int ini, int fim)
{
Cadastro c;
int conta,cab,con,pav;
int cc,dd;
ifstream bd;
bd.open("internos.dat", ifstream::binary); // leitura e escrita
con=0;
cab=1;
cc=0;

pav=ini;
for (pav==ini;pav<=fim;pav++){
conta=0;
for (conta==0;conta<=reg-1;conta++){
if (cab==1){
system("cls");
cout << "LISTAGEM GERAL DE INTERNOS DO PAVILHAO " << ini << " AO " << fim << "\n\n";
cout <<"Cad\tNome (VULGO)\t\t\t\tPV/CL\tPRONT\tDT PRISAO\tSENTE\tPRESO\tPR/RE 1/6\tPR/RE 2/5";
cout << "\n=========================================================================================================================\n";
cab=0;
}
bd.seekg((conta) * sizeof(Cadastro));

bd.read((char *)(&c),sizeof(Cadastro)); // atualizar

if (c.pavi==pav){
//cout << c.pavi << ini << pav; system("pause");

if (c.ativo==1){
//pv=pv+1;
dd=38 - strlen(c.nome)-strlen(c.vulgo);
cout << c.cad << "\t" << c.nome << " (" << c.vulgo << setw(dd) << left << ")" << right << setw(2) << c.pavi << "/" << c.cela << "\t" << c.prontu << "\t" << c.dataPrisaoc << "\t" << c.senteAproxDD << "\t" << dthj-c.dataPrisaoi << "\t" << round(c.senteAproxDD/6) << "/" << setw(5) << left << round(c.senteAproxDD/6)-(dthj-c.dataPrisaoi) << "\t" << (c.senteAproxDD/5*2) << "/" << (c.senteAproxDD/5*2)-(dthj-c.dataPrisaoi) << "\n";
cc++;
con++;
if (con%45==0){
system("pause");
cab=1;
}

}


}
// cin.get >> pausa;
//cout << "\n\nConfirma dados para gravacao? (1-SIM // 2-nao): ";

}
//cc=cc+con;
if (cc>=1){
if (pav!=12)
cout << "\n\t\t\tPAVILHAO " << pav << "\t" << cc << " INTERNO(S)\n\n";
else
cout << "\n\t\t\tPAVILHAO " << pav << "\t" << cc << " INTERNA(S)\n\n";

cc=0;
}
//conta=0;
} //while (!bd.fail());
system("pause");

bd.close();
return 0;
}
int validaData(char valid[11]){
int di,dias,me,an,v;
char dd[3],mm[3],aa[5];
v=0;dias=0;di=0;me=0;an=0;
strcpy(dd,"");
strcpy(mm,"");
strcpy(aa,"");
di=atoi(strncat(dd,valid,2));
me=atoi(strncat(mm,valid+3,2));
an=atoi(strncat(aa,valid+6,4));
switch (me){
case 1: case 3: case 5: case 7:case 8: case 10: case 12 : dias=31;
break;
case 4: case 6: case9: case 11 : dias=30;
break;
case 2 : if (an%4==0)dias=29;
else
dias=28;
break;
default: me=0;
}
if ((me!=0) && (di<=dias)&&(an>1900))v=1;
else
{
escrever("\nDATA INVÁLIDA !!!","verde","vermelho",0);
escrever("","branco","preto",0);
v=0;
}
return v;
}

page 1/4
int registra()
{
struct Cadastro c;
char dd[2],mm[2],aa[4];
int vl,rp,d,m,a;
vl=0;
strcpy(c.dataCad,hoje);
system("cls");
cout << "Cadastramento de Internos" << "\n=========================\t" << c.dataCad;

cout << "\n\nCadastro NUMERO: " << reg+1;
cout << "\n\nNome do Interno: ";
cin.getline(c.nome,40);
// cin.ignore(40);
cout << "\nNome do Pai: ";
cin.getline(c.nomePai,40);
//cin.ignore(40);
cout << "Nome da Mae: ";
cin.getline(c.nomeMae,40);
//cin.ignore(40);

cout << "\nVulgo: ";
cin.getline(c.vulgo,20);
// cin.ignore(20);
cout << "\nArtigo: ";
cin.getline(c.artigo,40);
do {
vl=0;

cout << "\nData de entrada na UNIDADE: DD/MM/AAAA : ";
cin.getline(c.dataEnt,11);
vl=validaData(c.dataEnt);

}while (vl!=1);
//cin.ignore(40);

//cout << c.vulgo;
cout << "\nProntuario: ";
cin.getline(c.prontu,8);
//cin.ignore(8);
cout << "\nGrau de Instrucao: ";
cin.getline(c.instru,20);
//cin.ignore(20);
cout << "\nProfissao (especificar): ";
cin.getline(c.ocupa,20);

cout << "Quer Estudar? (S)im ou (N)ao: ";
cin >> c.estud;
//cin.ignore();
cout << "Quer Trabalhar? (S)im ou (N)ao: ";
cin >> c.traba;
//cin.ignore();


cout << "\nSexo (M)asculino ou (F)eminino: ";
cin >> c.sexo;

strcpy(c.dataTraba,"00/00/0000");
cin.ignore();
do {
vl=0;

cout << "\nData da Prisao - DD/MM/AAAA : ";
cin.getline(c.dataPrisaoc,11);
vl=validaData(c.dataPrisaoc);
}while (vl!=1);
strcpy(dd,"");
strcpy(mm,"");
strcpy(aa,"");
d=atoi(strncat(dd,c.dataPrisaoc,2));
m=atoi(strncat(mm,c.dataPrisaoc+3,2));
a=atoi(strncat(aa,c.dataPrisaoc+6,4));
c.dataPrisaoi=calcData(d,m,a);
c.ativo=1;
c.cad=reg+1;
strcpy(c.dataEstud,"00/00/0000");
c.dataEstudi=0;
c.dataTrabai=0;

cout << "\nPavilhao (1 a 11 ou 12-feminino 13-arca 14-enfermaria 15-hospital 16-albergado 17-especial 99-FORAGIDO): ";
cin >> c.pavi;
cout << "Cela (0-nenhuma): ";

cin >> c.cela;
cout << "Sentenciado - ANOS: ";
cin >> c.sentencaAnos;
cout << "Sentenciado - MES(ES): ";
cin >> c.sentencaMes;
cout << "Sentenciado - DIA(S): ";
cin >> c.sentencaDias;
c.senteAproxDD=(c.sentencaAnos*365)+(c.sentencaMes*30)+c.sentencaDias;
cout << "CADASTRO: " << c.cad;
cout << "\n\nNOME: " << c.nome << "\tDATA DO CADASTRO: " << c.dataCad << "\tDATA DA ENTRADA NA UNIDADE: " << c.dataEnt;
cout << "\nVULGO: " << c.vulgo;
cout << "\nARTIGO: " << c.artigo << "\tPROFISSAO: " << c.traba << "\tSEXO: " << c.sexo;
cout << "\nPAI / MAE: " << c.nomePai << " / " << c.nomeMae;
cout << "\nGRAU DE ESCOLARIDADE: " << c.instru << "\tTRABALHAR: " << c.traba << "\tESTUDAR: " << c.estud;
cout << "\nDATA DA PRISAO: " << c.dataPrisaoc << " - " << c.dataPrisaoi << "\t PRONTUARIO: " << c.prontu << "DATA ESTUDO // TRABALHO: ";
cout << c.dataEstud << " // " << c.dataTraba;
cout << "\nFICARA ALOJADO NO PAVILHAO: " << c.pavi << "\tCELA: " << c.cela << "\tSENTENCIADO A:" << c.sentencaAnos << " ANO(S) " << c.sentencaMes << " MES(ES) " << c.sentencaDias << " DIA(S)" << " APROXIMADAMENTE: " << c.senteAproxDD << " DIAS";
cout << "\n\nConfirma dados para gravacao? (1-SIM // 2-nao): ";
cin >> rp;

if (rp==1){
reg++;
ofstream bd;
bd.open("internos.dat", ofstream::binary | ofstream::app); // leitura e escrita
bd.write((char *)(&c),sizeof(Cadastro)); // atualizar
bd.close();
}
return 0;
}



int altera(){

Cadastro c;
char rep[3];
int rp,conta,d,m,a;
char dd[2],mm[2],aa[4];
ifstream bd;
bd.open("internos.dat", ifstream::binary);
conta=0;
float pron;
cout << "\n\nDIGITE NUMERO DE CADASTRO: ";
cin >> pron;
//pron--;
for (conta==0;conta<=reg-1;conta++){
bd.seekg((conta) * sizeof(Cadastro));
bd.read((char *)(&c),sizeof(Cadastro)); // atualizar

if (pron==c.cad){
cout << "1. CADASTRO: " << c.cad;
cout << "\n\n2. NOME: " << c.nome << "\t3. DATA DO CADASTRO: " << c.dataCad;
cout << "\n4. VULGO: " << c.vulgo;
cout << "\n5. ARTIGO: " << c.artigo << "\t6. PROFISSAO: " << c.traba << "\t7. SEXO: " << c.sexo;
cout << "\n8. PAI / MAE: " << c.nomePai << " / " << c.nomeMae;
cout << "\n9. GRAU DE ESCOLARIDADE: " << c.instru << "\t10. TRABALHAR: " << c.traba << "\t11. ESTUDAR: " << c.estud;
cout << "\n12. DATA DA PRISAO: " << c.dataPrisaoc << " - " << c.dataPrisaoi << "\t13. PRONTUARIO: " << c.prontu << "14. DATA ESTUDO // 15. TRABALHO: ";
cout << c.dataEstud << " // " << c.dataTraba;
cout << "\n16. PAVILHAO // CELA: " << c.pavi << " // " << c.cela << "\tDATA DE ENTRADA" << c.dataEnt;
cout << "\n\nDIGITE O NUMERO DO CAMPO OU 99 PARA ALTERAR TODO O REGISTRO: ";
cin >> rp;
//cin.getline(rep,2);
// rp=atoi(rep);
if ((rp==1) || (rp==99)){
cout << "\n\nCadastro: " << c.cad << "\tDIGITE NOVO NUMERO DE CADASTRO: ";
cin >> c.cad;
}

if ((rp==2) || (rp==99)){
cout << "\nNome do Interno: " << c.nome << "\tDIGITE NOVO NOME: ";
cin.ignore();
//cin.get();
cin.getline(c.nome,40);

}
if ((rp==3) || (rp==99)){
if (rp==3) cin.ignore();
cout << "\nData do cadastro: " << c.dataCad << "\tDIGITE NOVA DATA: ";
cin.getline(c.dataCad,11);
}
if ((rp==4) || (rp==99)){
if (rp==4) cin.ignore();
cout << "\nVulgo: " << c.vulgo << "\tDIGITE NOVO NOME: ";
//cin.ignore();
cin.getline(c.vulgo,20);
}
if ((rp==5) || (rp==99)){
if (rp==5) cin.ignore();
cout << "\nArtigo: " << c.artigo << "\tDIGITE NOVO ARTIGO: ";
cin.getline(c.artigo,40);
}
if ((rp==6) || (rp==99)){
if (rp==6) cin.ignore();
cout << "\nProfissao (especificar): " << c.ocupa << "\tDIGITE NOVA PROFISSAO: ";
cin.getline(c.ocupa,20);
}
if ((rp==7) || (rp==99)){
if (rp==7) cin.ignore();

cout << "\nSexo (M)asculino ou (F)eminino: ";
cin >> c.sexo;
}


if ((rp==8) || (rp==99)){
if(rp==8) cin.ignore();
cout << "\nNome do Pai: " << c.nomePai << "\tDIGITE NOVO NOME: ";
//cin.ignore();
//cin.getline(c.nomePai,40);
cin.getline(c.nomePai,40);
cout << "Nome da Mae: " << c.nomeMae << "\tDIGITE NOVO NOME: ";
cin.getline(c.nomeMae,40);
}
if ((rp==11) || (rp==99)){
if(rp==11) cin.ignore();
cout << "Quer Estudar? (S)im ou (N)ao: ";
cin >> c.estud;
}
if ((rp==12) || (rp==99)){
if(rp==12) cin.ignore();
//c.dataPrisaoi=0;
//strcpy(c.dataPrisaoc,"");
//cout << c.dataPrisaoc << " " << c.dataPrisaoi << "\n";
cout << "\nData da Prisao - dia: ";
cin >> dd;
strcpy(c.dataPrisaoc,dd);
strcat(c.dataPrisaoc,"/");
cout << "Data da Prisao - mes: ";
cin >> mm;
strcat(c.dataPrisaoc,mm);
strcat(c.dataPrisaoc,"/");
cout << "Data da Prisao - ano: ";
cin >> aa;
strcat(c.dataPrisaoc,aa);
d=atoi(dd);
m=atoi(mm);
a=atoi(aa);
c.dataPrisaoi=calcData(d,m,a);

}
if ((rp==13) || (rp==99)){
if (rp==13) cin.ignore();
cout << "\nProntuario: " << c.prontu << "\tDIGITE NOVO PRONTUARIO: ";
cin.getline(c.prontu,8);
}
if ((rp==16) || (rp==99)){
if (rp==16) cin.ignore();

cout << "\nPavilhao (1 ao 11 OU 12-feminino 13-arca 14-enfermaria 15-hospital 16-albergado 17-especial 99-FORAGIDO): ";
cin >> c.pavi;
cout << "Cela (0-nenhuma): ";
cin >> c.cela;
}

page 2/4

cin.ignore();
cout << "\n\nCONFIRMA (1-NAO // 2-sim) ? ";
cin.getline(rep,2);
rp=atoi(rep);
if (rp==2){
bd.close();
ofstream bd;
bd.open("internos.dat", ofstream::binary | ofstream::in | ofstream::out);
bd.seekp((conta) * sizeof(Cadastro));
bd.write((char *)(&c),sizeof(Cadastro)); // atualizar
bd.close();
conta=reg+1;
}
system("pause");
}
// system("pause");
}
bd.close();

}
int espelho(){
Cadastro c;
char pront[8];
int f;
int cc=0;
system("cls");
cout << "CONSULTA ESPELHO CADASTRAL DO INTERNO\n\n";
cout << "digite o PRONTUARIO: ";
cin.getline(pront,8);

ifstream bd;
bd.open("internos.dat", ifstream::binary); // leitura e escrita

for (cc=0;cc<=reg-1;cc++){
bd.seekg((cc) * sizeof(Cadastro));
bd.read((char *)(&c),sizeof(Cadastro)); // atualizar

if (!strcmp(c.prontu,pront)){
cout << "\n\nCadastro: " << c.cad << "\tProntuario: " << c.prontu << "\tData do cadastro: " << c.dataCad << "\tSituacao: ";
if (c.ativo==1)
escrever("ATIVO","vermelho","preto",0);
else
escrever("INATIVO","verde","preto",0);
cout << "\n\nInterno: " ;
escrever(c.nome,"amarelo","preto",0);
escrever("\tVulgo: ","magenta","preto",0);
cout << c.vulgo << "\tArtigo: " << c.artigo;
cout << "\tProfissao: " << c.traba << "\tSexo: " << c.sexo << "\tOpcao sexual: ";
cout << "\n\nFiliacao - pai / mae: " << c.nomePai << " / " << c.nomeMae;
cout << "\n\nEscolaridade: " << c.instru << "\tInteresse em trabalhar: " << c.traba << "\tInteresse em Estudar: " << c.estud;
cout << "\n\nTrabalha desde: " << c.dataTraba << "\tLocal: " << "\tEstuda desde: " << c.dataEstud << "\tOutra ocupacao: ";
cout << "\n\nData da prisao: " << c.dataPrisaoc << "\tData da entrada na unidade: " << c.dataEnt;
escrever("\n\nSentenca: ","vermelho","preto",0);
cout << c.sentencaAnos << " Ano(s) " << c.sentencaMes << " Mes(esS) " << c.sentencaDias << " Dia(sS)\tEquivalente a: " << c.senteAproxDD << " Dias - Aproximadamente";
cout << "\n\nDias recluso: " << dthj-c.dataPrisaoi << "\tProgressao 1/6 - Previsto/Pendente: " << round(c.senteAproxDD/6) << "/" << round(c.senteAproxDD/6)-(dthj-c.dataPrisaoi) << "\tProgressao 2/5 - Previsto/Pendente:" << (c.senteAproxDD/5*2) << "/" << (c.senteAproxDD/5*2)-(dthj-c.dataPrisaoi) << "\n";
//cout << c.dataEstud << " // " << c.dataTraba;
escrever("\n\nLocalizacao - Pavilhao/Cela:","vermelho","preto",0);
escrever(" ","verde","preto",0);
cout << c.pavi << "/" << c.cela << "\n\n";
escrever("","branco","preto",0);
f=foto(c.prontu,c.nome);
cc=reg+1;
system("pause");
escrever("","branco","preto",0);
}

}
}

int inativa(){
Cadastro c;
char pront[8];
int rp,f, cc=0;
system("cls");
cout << "INATIVAR / ATIVAR INTERNO\n\n";
cout << "digite o PRONTUARIO: ";
cin.getline(pront,8);

ifstream bd;
bd.open("internos.dat", ifstream::binary); // leitura e escrita

for (cc=0;cc<=reg-1;cc++){
bd.seekg((cc) * sizeof(Cadastro));
bd.read((char *)(&c),sizeof(Cadastro)); // atualizar

if (!strcmp(c.prontu,pront)){
cout << "\n\nCadastro: " << c.cad << "\tProntuario: " << c.prontu << "\tData do cadastro: " << c.dataCad << "\tSituacao: ";
if (c.ativo==1)
escrever("ATIVO","vermelho","preto",0);
else
escrever("INATIVO","verde","preto",0);
cout << "\n\nInterno: " ;
escrever(c.nome,"amarelo","preto",0);
escrever("\tVulgo: ","magenta","preto",0);
cout << c.vulgo << "\tArtigo: " << c.artigo;
cout << "\tProfissao: " << c.traba << "\tSexo: " << c.sexo << "\tOpcao sexual: ";
cout << "\n\nFiliacao - pai / mae: " << c.nomePai << " / " << c.nomeMae;
cout << "\n\nEscolaridade: " << c.instru << "\tInteresse em trabalhar: " << c.traba << "\tInteresse em Estudar: " << c.estud;
cout << "\n\nTrabalha desde: " << c.dataTraba << "\tLocal: " << "\tEstuda desde: " << c.dataEstud << "\tOutra ocupacao: ";
cout << "\n\nData da prisao: " << c.dataPrisaoc << "\tData da entrada na unidade: " << c.dataEnt;
escrever("\n\nSentenca: ","vermelho","preto",0);
cout << c.sentencaAnos << " Ano(s) " << c.sentencaMes << " Mes(esS) " << c.sentencaDias << " Dia(sS)\tEquivalente a: " << c.senteAproxDD << " Dias - Aproximadamente";
cout << "\n\nDias recluso: " << dthj-c.dataPrisaoi << "\tProgressao 1/6 - Previsto/Realizado: " << round(c.senteAproxDD/6) << "/" << round(c.senteAproxDD/6)-(dthj-c.dataPrisaoi) << "\tProgressao 2/5 - Previsto/Realizado:" << (c.senteAproxDD/5*2) << "/" << (c.senteAproxDD/5*2)-(dthj-c.dataPrisaoi) << "\n";
//cout << c.dataEstud << " // " << c.dataTraba;
escrever("\n\nLocalizacao - Pavilhao/Cela:","vermelho","preto",0);
escrever(" ","verde","preto",0);
cout << c.pavi << "/" << c.cela << "\n\n";
escrever(" ","branco","preto",0);
f=foto(c.prontu,c.nome);

if (c.ativo==0){
//cin.ignore();
escrever("\n\nINTERNO JÁ INATIVO !!!","preto","vermelho",1);
cout << "\n\nATIVAR INTERNO ? (1-NAO / 2-sim) ";
cin >> rp;
if (rp==2){
c.ativo=1;
bd.close();
ofstream bd;
bd.open("internos.dat", ofstream::binary | ofstream::in | ofstream::out);
bd.seekp((cc) * sizeof(Cadastro));
bd.write((char *)(&c),sizeof(Cadastro)); // atualizar
bd.close();
escrever(" ","branco","preto",0);

system("pause");

}
}
else {
cout << "\n\nCONFIRMA ? (1-NAO / 2-sim) ";
cin >> rp;
if (rp==2){
c.ativo=0;
bd.close();
ofstream bd;
bd.open("internos.dat", ofstream::binary | ofstream::in | ofstream::out);
bd.seekp((cc) * sizeof(Cadastro));
bd.write((char *)(&c),sizeof(Cadastro)); // atualizar
bd.close();

}
}
cc=reg+1;

}
}
}

page 3/4

int main(){
Cadastro c;
char rp[3];
int rep,per,rpe,ds,ms,as;
char dds[3],mms[3],aas[5];
char d[3],m[3],a[5];
ifstream bd;
bd.open("internos.dat", ifstream::binary); // leitura e escrita
reg=0;
setlocale(LC_ALL, "");
system("mode con cols=160 lines=50");
//system("color f0");
//system("chcp 1252 >nul");
// system("title SISTEMA DE MOVIMENTAÇÃO DE INTERNOS");
escrever(" ","branco","preto",0);

while (bd){
bd.seekg((reg) * sizeof(Cadastro));

bd.read((char *)(&c),sizeof(Cadastro)); // atualizar
reg++;
}
if (reg-1<0) reg=0; else reg--;
bd.close();
rep=8;
struct tm *data;
time_t t;
t = time(NULL);
data = localtime(&t);
ds=data->tm_mday;//dia do mes 1 a 31
sprintf(d, "%i", ds);

if (ds<10){
strcpy(dds,"0");
strcat(dds,d);
} else strcpy(dds,d);
ms=data->tm_mon+1;//mes 0 a 11
sprintf(m, "%i", ms);

if (ms<10){
strcpy(mms,"0");
strcat(mms,m);
} else strcpy(mms,m);
as=data->tm_year+1900;//ano desde 1900
sprintf(a, "%i", as);
strcpy(aas,a);
strcpy(hoje,dds);
strcat(hoje,"/");
strcat(hoje,mms);
strcat(hoje,"/");
strcat(hoje,aas);

dthj=calcData(ds,ms,as);


// do
while ((rep<1) || (rep>7))
{
system("cls");
cout << ("SISTEMA DE MOVIMENTAÇÃO DE INTERNOS\t") << "Data do SISTEMA: " << hoje <<"\tregistro: " << reg;
cout << ("\n======= == ============ == ========\t==== == ======== ==========\t================");
cout << ("\n\n1 - Registrar Internos");
cout << ("\n2 - LISTAR INTERNOS");
cout << ("\n3 - Alterar dados cadastrais do Interno");
cout << ("\n4 - INATIVAR/ativar INTERNO");
cout << ("\n5 - Consulta ESPELHO cadastral");
cout << ("\n6 - CADASTRAR Evento SETORIAL");
cout << ("\n7 - CONSULTAR Evento");
cout << ("\n\nDIGITE O NÚMERO PARA ESCOLHER UMA FUNÇÃO: ");
cin.getline(rp,2);
rep=atoi(rp);

//switch (rep){
//case 1:
//system("cls");
if (rep==1){
// strcpy(c.dataCad,hoje);
registra();
rep=8;
}
if (rep==2){
cout << "\n\n1 - LISTAGEM GERAL\t2 - CONFERE GERAL\t3 - PAVILHAO\tDigite o número: ";
cin.getline(rp,2);
rpe=atoi(rp);
if (rpe==1){
mostra();
rep=8;
} else
if (rpe==2){
mostra2(1,17);
rep=8;
} else
if (rpe==3){
cout << "\n\nPavilhão 1 ao 11 ou 12-feminino 13-arca 14-enfermaria 15-hospital 16-albergado 17-especial 99-FORAGIDO: ";
cin.getline(rp,3);
per=atoi(rp);
//per1=per;
mostra2(per,per);
rep=8;
}
}
if (rep==3){
mostra2(1,17);
altera();
rep=8;
}
if (rep==4){
inativa();
rep=8;
}
if (rep==5){
espelho();
rep=8;
}
//case 6:
if (rep==6){
//cout << ("Sistema de Movimentação de Internos\t") << "Data do SISTEMA: " << hoje <<"\tregistro: " << reg;
//cout << ("\n======= == ============ == ========\t==== == ======== ==========\t================");
cout << ("\n\nDEFININDO SETOR\n\n1 - CRC");
cout << ("\n2 - COSIS");
cout << ("\n3 - SAÚDE");
cout << ("\n4 - DEFENSORIA");
cout << ("\n5 - SEGURANCA");
cout << ("\n6 - GUARDA E DEPOSITO");
cout << ("\n7 - ADMINISTRATIVO");
cout << ("\n8 - SOCIAL");

cout << ("\n\nDIGITE NÚMERO PARA ESCOLHER: ");
cin.getline(rp,2);
rep=atoi(rp);
switch(rep)
{
case 1:
cout << ("\n\nREGISTRO E CONTROLE -- DEFINIR ÁREA ESPECÍFICA\n\n1 - AGENDAR AUDIENCIA");
cout << ("\n2 - CERTIDÃO");
cout << ("\n3 - SAÍDA TEMPORARIA");
cout << ("\n4 - MUDANCA DE REGIME");
cout << ("\n5 - CUMPRIMENTO DE ALVARÁ");
cout << ("\n\nDIGITE O NÚMERO PARA ESCOLHER: ");
cin.getline(rp,2);
break;
case 2:
cout << ("\n\nINTEGRAÇÃO SOCIAL -- DEFINIR AREA ESPECIFICA\n\n1 - AREA LABORATIVA");
cout << ("\n2 - ÁREA EDUCACIONAL");
cout << ("\n3 - SOLICITAÇÃO DE REMISSAO");
cout << ("\n4 - SOLICITAÇÃO DE PECULIO");
cout << ("\n5 - OBSERVAÇÕES");
cout << ("\n\nDIGITE NÚMERO PARA ESCOLHER: ");
cin.getline(rp,2);
break;
case 3:
cout << ("\n\nSAUDE -- DEFINIR AREA ESPECIFICA\n\n1 - AGENDAR ESCOLTA");
cout << ("\n2 - PERFIL BIOPSICOSSOCIAL");
cout << ("\n3 - ATENDIMENTO MEDICO");
cout << ("\n4 - ATENDIMENTO LABORATORIAL");
cout << ("\n5 - ATENDIMENTO AMBULATORIAL");
cout << ("\n\nDIGITE NUMERO PARA ESCOLHER: ");
cin.getline(rp,2);
break;
case 4:
cout << ("\n\nDEFENSORIA PUBLICA -- DEFINIR AREA ESPECIFICA\n\n1 - ATENDIMENTO COM DEFENSOR");
cout << ("\n2 - PROCEDIMENTO ENCAMINHADO");
cout << ("\n3 - PENDENCIAS");
cout << ("\n4 - SOLICITACOES");
cout << ("\n5 - OBSERVAÇOES");
cout << ("\n\nDIGITE NUMERO PARA ESCOLHER: ");
cin.getline(rp,2);
break;
case 5:
cout << ("\n\nSEGURANCA -- DEFINIR AREA ESPECIFICA\n\n1 - MOVIMENTACAO");
cout << ("\n2 - RESTRICOES");
cout << ("\n3 - AUDIENCIA INTERNA");
cout << ("\n4 - VISITA AUTORIZADA");
cout << ("\n5 - HORARIO ESPECIAL");
cout << ("\n\nDIGITE NUMERO PARA ESCOLHER: ");
cin.getline(rp,2);
break;
case 6:
cout << ("\n\nGUARDA E DEPOSITO -- DEFINIR AREA ESPECIFICA\n\n1 - DINHEIRO");
cout << ("\n2 - EQUIPAMENTO");
cout << ("\n3 - ROUPA");
cout << ("\n4 - RESTRICOES");
cout << ("\n5 - OBSERVACOES");
cout << ("\n\nDIGITE NUMERO PARA ESCOLHER: ");
cin.getline(rp,2);
break;
case 7:
cout << ("\n\nADMINISTRATIVO -- DEFINIR AREA ESPECIFICA\n\n1 - FALTA");
cout << ("\n2 - TRANSFERENCIA");
cout << ("\n3 - PUNICAO");
cout << ("\n4 - ADVERTENCIA");
cout << ("\n5 - OBSERVACOES");
cout << ("\n\nDIGITE NUMERO PARA ESCOLHER: ");
cin.getline(rp,2);
break;
case 8:
cout << ("\n\nSETOR SOCIAL -- DEFINIR AREA ESPECIFICA\n\n1 - ATENDIMENTO");
cout << ("\n2 - VISITAS");
cout << ("\n3 - INTERVENCOES");
cout << ("\n4 - RESTRICOES");
cout << ("\n5 - OBSERVACOES");
cout << ("\n\nDIGITE NUMERO PARA ESCOLHER: ");
cin.getline(rp,2);
break;

}
rep=8;
//break;
} else rep==8;
}
}

sorry, but I'm learning alone. scratch ... from nothing ... only the internet. and may not know how to take my doubts. not want to cause hassles. without pain not the victory. and learn alone without mastering the English and without guidance is very complicated ... follow the code ... I was doing was learning as ... the Internet ... taking a ... another ... and always mentioning ... and some things that came out of my big head. thanks again ...
Topic archived. No new replies allowed.