-
Total de itens
884 -
Registro em
-
Última visita
Tudo que vangodp postou
-
Ao parecer para mac e linux você precisa compilar primero pues lo que se oferece é o código e não a biblioteca em si. Para compilar acho que você tem que usar CMake qué é o programa encarregado de compilar o openCV, aqui você tem os passos a seguir: busque no google "Compilar openCV em mac", você pode aportar mais informações ao buscador e ver si sai algum resultado em português, eu estou em espanãoa e não vejo resultados em português. Logo depois de compilar é que você obtêm o opencv que você precisa usar para o processo de configuração, certamente depois do processo na pasta que você escolher para guardar o resultado da compilação estará os arquivos que você diz. tente compilar e comente aqui o procedimento que você utilizou, tenha em mente que isso é um fórum que serve para consultas de futuros usuarios que busquem pelo google. Sorte!
-
Poder ajudar até posso, mas na instalação acho que não pois não manjo muito de linux vei. De mais detalhes do sistema operativo, programa que usará para instalar, verão do Allegro que quer usar etc Aqui tem um para instalar no ubuntu, eu manjo bem de espanãool, si quiser ajuda
-
normalmente as duas, uma contem os headers e outra os .lib, aparte disso acho que você precisa adicionar a pasta include ao path do sistema, pois quando fazemos o include tal como #include<nomeDoHeader.h>, os simbolos '<' e '>' indicam que o compilador "sabe" onde está o arquivo de cabeçalho, e isso é por causa que a pasta include esta especificada no path, caso contrario deverá especificar toda a ruta(c:\....). Também devera incluir o comando -l<nomedabiblioteca> nas opções do compilador para o linkado. O problema é que em dev c++ eu não trabalho com ele, acho ele defasado e não posso lhe ajudar muito, mas si você buscar em Google "install openCV Dev C++" e aperta para ver as imagens você deveria poder ver fotos sobre a parte da configuração no dev c++ mais ou menos como elas deveriam ficar.
-
Algumas dessas bibliotecas são multimídia, isso quer dizer que não só servem para fazer jogos si não outros tipos de programas, você pode por exemplo utilizar elas para fazer um reprodutor de audio etc. Realmente fazer um jogo, por mais pequeno que ele seja vai ter que profundizar um pouco sobre o tema. Como já falei antes calculo que para fazer esse projeto seu pelo menos você vai ter que tratar com eventos de teclado e mouse, aplicar o gameloop, gestão de tempo, colisões etc. realmente não é muita coisa, si você dominar bem a linguagem certamente isso será um passeio, porque como eu falei, tudo depende da complexidade do soft que eleva esses temas a proporções muito maiores né, mas realmente um pequeno jogo tem o mesmo principio que o grande. Para você fazer uma ideia do que é um jogo olha isso: while(sair!=true){//gameloop //Ler dispositivos de entrada(teclado e mouse) //Fazer cálculos lógicos(tipo: A bala chocou com o personagem? O personagem se moveu? etc) //Mostrar resultado(pintar na tela) mostrar o personagem em outra posição, restar uma vida ao personagem..... } Isso dai é basicamente o "Gameloop" com a representação da lógica de um game muito simplificado, mas basicamente todo game é a mesma coisa elevada a uns níveis absurdos empregando algumas(ou todas e muitas mais) das citadas técnicas citadas anteriormente. >_< Tenha claro que quem te ta falando isso aqui é um noob, eu nem arranhei ainda tudo isso pois sou um estudante como vc, e também é muito chato fazer isso sozinho, se tiver um grupo de amigos certamente é mais divertido pois assim vocês podem comentar provarem ideias etc.
-
claro... posta aí o que leva feito para que podamos te ajudar.
-
Uma vez, já faz muito tempo, escutei que o que você quer fazer era uma das coisas mais complexas que existia no mundo, "a criação de jogos". Dependendo de quanta complexidade você quer que tenha seu jogo você tem maior ou menor dificuldade, um jogo pode envolver física, matemáticas, muita lógica, gráficos avançados ou não tão avançados, gestão de tempo, controle de eventos, manipulação de sons, calculo colisões, inteligência artificial, teoria de gráficos, algoritmos de buscas em gráficos, e uma larga lista de coisas que pode conter que nem lembro ou simplesmente ignoro nesse momento, sem falar que pode ser em 2d ou 3d já que esse ultimo é bastante mais complexo, porem não se intimide, quanto maior é o desafio maior será a vitória, se fosse uma coisa impossível ninguém a faria, simplesmente leva seu tempo. Lhe recomendo que busque alguma biblioteca para criação de jogos ou conteúdo multimídia como pode ser Allegro ou SDL, para C++ recomendaria SFML, para mim essa ultima é a melhor de todas, também conheço outras opções mas considero perder o tempo pois ou bem são soluções algo antigas ou simplesmente não são capazes de mostrar imagens, somente pixels. Minha recomendação seria que se quiser algo rápido e menos complicado use Allegro, essa biblioteca é bastante fácil, mas nem por isso pouco potente que te permitirá criar algo como isso: Realmente é algo bastante decente falando graficamente, mas depende muito do programador claro, essa é uma pagina onde encontrei que lá explica que é uma versão jogável em Dreamcast, se encontrar algum emulador talvez você poderia descarregar ela daqui e provar. Enquanto a conhecimentos que você teria que ter.... lhe recomendo você ler sobre a criação de jogos com Allegro dos muitos que existem por internet. você terá que saber fazer colisões, gestão de tempo, gestão de eventos de mouse e teclado, pode haver som ou simplesmente ignorar essa funcionalidade, a própria Allegro traz suporte para todas essas coisas não se preocupe. E desde logo você deveria ler sobre coisas como, "Game Loop" que nada mais trata-se de que todo jodo ou a grande maioria vai dentro de um laço while, eu não encontrei referencia na wikipedia más recomendo você buscar por sua conta, estudar um pouco de "Teoria dos grafos" também não é uma má ideia, o "Sistema de coordenadas cartesiano", esse sim você usará e muito para controlar a posição das imagens na tela, e muitas outros conceitos que certamente você aprenderá si busca algum tutorial por internet. você deve saber que no referente a programação de games nunca haverá algo diretamente enfocado ao que você busca, todo o material é pura referencia, muitas vezes nem existe porem existe outro para outras bibliotecas que podem te servir de referencia, um exemplo poderia ser que você esteja buscando como calcular a colisao de 2 balas de canhão, coisa estúpida que me surgiu mas serve para demonstrar o exemplo, certamente você não vai encontrar tutoriais de colisões entre 2 balas de canhão, mas sim encontrarás muitos tutoriais sobre colisão, cabe a você transportar tudo isso ao seu programa pois trata-se da mesma coisa com exemplos diferentes. Lhe recomendo você buscar bons fóruns de programação e se são dedicados a criação de jogos melhor ainda. En fin.... explicar tudo o que você terá que aprender em poucas linhas é praticamente impossível, o que você tem que fazer agora mesmo é abrir seu navegador e buscar tutoriais de programação de jogos com Allegro e ver do que se trata, você precisa de tempo para dominar todas o que traz o programa. Não corra antes de engatinhar, em vez de fazer aquele super jogo de cartas, faça um jogo do um Pong, um Snake, ou um Space Invaders, ou um Tetrix, um Arknoid, Pacmam.... esses últimos já são bastante complexos, lhe recomendo respeitar essa ordem pois ao realizar um simples pong você terá suficiente confiança para realizar um Snake e posteriormente um Space Invader etc, parece que não mais um simples pong contem tudo o que um jogo enorme contem mas de forma muito mais simples, por isso se recomenda começar pelo mais simples. Lhe recomendo iniciar muito tempo antes do inicio do seu projeto pois criação de jogos é um tema que se ensina nas universidades e requer muito tempo de estudo, ao menos não deixe para o final dar uma olhada em tudo que falei aqui, certamente se fizer isso com bastante antecipação será um viagem muito grato, porem si deixar para ultima hora pode ser o contrario, seria muito frustrante abarcar tantos temas em tão pouco tempo. Sinceramente depois de realizar um pong e um snake acho que você seria capaz de realizar seu jogo perfeitamente pois já teria dominado, eventos, game loop, gestão de tempo, colisões, teria um conceito já muito mais afiado do que é criar um jogo, depende de vc, do quanto você demora em absorver a informação, falando de capacidades eu sou bem mais lento, eu estudo isso tudo conforme meu ritmo, as vezes fico 15 horas adiante do PC, mas as vezes não faço nada, já toquei a maioria dessas bibliotecas de jogos, e te comento conforme a experiência que tenho, embora não seja um criador de jogos profissional, sim disponho de certa exp com essas libs pois já fiz alguns joguinhos pequenos como os que lhe recomendo. Sem mais lhe desejo sorte, se quiser ajuda comente aqui. Até tenho por algum lado algumas coisas feitas em Allegro, se quiser posso buscar para que você veja do que se trata, tenho certos menus feitos com Allegro uma vez que ajudei outro usuário. Busque no youtube ou google coisas como "tutorial de criação de jogos com Allegro e C" ou simplesmente "tutorial Allegro", ou "Curso Allegro" etc, busque tanto em vídeos como paginas ou PDFs, tudo serve. Sorte! Ah! Si tiver algo de tempo use SDL, essa é realmente poderosa, certamente a mais potente de todas para C, por isso é algo mais complexa, se puder usar C++ então sem pensar use SFML. Existe uma pagina chamada Lazy foo em internet com muitos exemplos sobre SDL1 e SDL2, use SDL2 que é a ultima e tem suporte para Linux também, igual que si não me engano, Android, IPhone etc, em resumem, seu jogo seria altamente portável si souber arma-lo bem.
-
Acho engraçado que no compilador que tenho instalado sim tem a função... trata-se do mingw-w64 que contem gcc5.3.0, tente atualizar seu gcc a ultima versão e veja si te funciona. Claramente dice que está desaconselhado seu uso.
-
Isso é a causa que tanto strlwr como strupr não formam parte do C padrão, não estão contidas em nenuma biblioteca ao menos as padrões, isso não quer dizer que você não possa implementar sua proprias funçoes utilizando as anteriores: Exemplo: #include <string.h> #include<ctype.h> char *strlwr(char *str) { unsigned char *p = (unsigned char *)str; while (*p) { *p = tolower(*p); p++; } return str; } Extraido de: http://stackoverflow.com/questions/23618316/undefined-reference-to-strlwr C++ sim incorpora esse tipo de funções, C++ é como uma navalha Suiça. >_<
-
Sempre recomendo você utilizar essa pagina: cplusplus.com No painel da esquerda na parte de cima você encontra a biblioteca, debaixo as funções que pertencem a ela, e na direita acima você tem a biblioteca que teria que usar, nesse caso seria para cpp, pois a pagina é uma referencia para o programador de C++, mas você pode ver a versão de C que sempre está a esquerda abaixo, retira o C de adiante de cctype e fica ctype.h. Outro ponto importante é que você tem sempre informação dos parâmetros que recebe e que retorna, essa pagina é a que todo programador usa al menos 300 vezes ao dia. >_< Não sei o que te dizer...
-
stricmp? não será strcmp?
-
#include <ctype.h> //c #include <cctype> //c++
-
case '1': é char, e cat é int, o correto seria case 1: e não case '1': , sem as aspas simples. O que esta acontecendo é que ao comparar cat com '1' você está comparando cat que é um int com o valor asc2 do carácter '1', se quando no scanf perguntar a categoria você colocar 49 dai você entra no case '1':, isso por que na tabela asc2 o char '1' vale 49. Falou?
- 3 respostas
-
- switch-case
- programação
- (e %d mais)
-
fica dificil ver o erro com apenas un fragmento do seu código
-
leia isso: http://forum.imasters.com.br/topic/336835-tutorial-systempause-e-fflushstdin/
-
#include <stdio.h> #include <string.h> #include <locale.h> char* cpfClean( char cpf[15] ){ int z, i; printf("\n\nProcesso de Limpesa de simbolos de pontuaçoes "); if(cpf[3]=='.' && cpf[7]=='.' && cpf[11]=='-' ){ for ( i = ; i < 15; i++ ) { if( cpf[i] == '.' || cpf[i] == '-' ){ for ( z=i; cpf[z] != '\0'; z++ ) { cpf[z] = cpf[z+1]; } } } printf("concluido satisfatoriamente: \n%s\n\n", cpf); }else{ printf("pulado.\n\n"); } return (char*)cpf; } int validaCPF ( const int * const ); int main ( void ) { setlocale(LC_ALL, "portuguese"); int cpf[11]; //char input[15] = "52998224725"; //char input[15] = "529.982.247-25"; char input[15] = {}; printf("Digite o número do CPF. Exemplo: \"529.982.247-25\" ou \"52998224725\":\n"); scanf("%14[^\n]%*c", input ); //Exemplo: "529.982.247-25" ou "52998224725" //Retirando caracteres que não sejam numeros strcpy( input, cpfClean(input)); //comprovando si todos os caracteres são numeros for ( char i = ; i < 11; i++ ) { cpf[(int)i] = (int) input[(int)i] - 48; if ( cpf[(int)i] < || cpf[(int)i] > 9 ) { //Validando a entrada de dados printf("ENTRADA INVÁLIDA\n"); return 1; } } printf("\nO CPF digitado foi: \n"); for ( char i = ; i < 11; i++ ) { printf("%d", cpf[(int)i]); if ( i == 2 || i == 5 ) printf("."); if ( i == 8 ) printf("-"); } printf("\n\n"); if ( validaCPF (cpf)==1 ) printf("O CPF digitado É válido =)\n"); else printf("O CPF digitado NÃO É VÁLIDO =(\n"); return ; } //funçao que valida CPF int validaCPF ( const int * const cpf ) { int digito1, digito2, temp = ; for ( char i = ; i < 9; i++ ) temp += ( cpf[(int)i] * ( 10 - i ) ); temp %= 11; if ( temp < 2 ) digito1 = ; else digito1 = 11 - temp; temp = ; for ( char i = ; i < 10; i++ ) temp += ( cpf[(int)i] * ( 11 - i ) ); temp %= 11; if ( temp < 2 ) digito2 = ; else digito2 = 11 - temp; if ( digito1 == cpf[9] && digito2 == cpf[10] ) return 1; else return ; } Esse fiz faz algum tempo, compare ele com o seu e veja se te serve, comentei ele um pouco, porem não completamente, acho que as partes omitidas são claras, si tiver duvida pergunte.
-
talvez seja algo tipo vetor a = 1,2,2,3,7,8; vetor b = 2,4,7,8; E o vetor B deva ficar tal como: vetor b = 1,2,2,2,3,4,7,7,8,8 Não lembro muito bem si é isso.
-
não há nada de mais no seu programa, simplesmente te recomendo que se for passar de usar um ponteiro de escritura a um de leitura, que tome por costume fechar o anterior ponteiro, assim você salva as mudanças no arquivo antes de começar a leitura #include <iostream> #include <fstream> #include <conio.h> #include <windows.h> #include <Lmcons.h> #include <sstream> using namespace std; int main() { char username[UNLEN + 1]; DWORD username_len = UNLEN + 1; GetUserName ( username, &username_len ); stringstream ss; ss << "C:\\Users\\" << username << "\\Desktop\\alunos.txt"; ofstream fout ( ss.str().c_str(), ofstream::trunc ); if( !fout.is_open() ){ return 1; } const int MAX = 10; int cont = 1; char num, le[MAX]; cout << "Digite 20 numeros: \n"; while ( 1 ) { cout << "Digite o " << cont << " numero: "; cin >> num; fout << num << "\n"; if ( cont == 5 ) break; cont++; } fout.close(); ifstream fin ( ss.str().c_str() ); while ( !fin.eof() ) { // enquanto não for fim de arquivo fin.getline ( le, MAX ); cout << le << endl; // imprime linha no vídeo } fin.close(); system ( "pause" ); } si não prove usar en vez de 2 ponteiros 1 só(fstream), com ele você pode ler e escrever ao mesmo tempo, você simplesmente faça um rewind para que o ponteiro volte ao principio e possa fazer a leitura logo depois de escrever.
-
Acho isso meio difícil, ao fim e al cabo o programa não faz coisas "sozinho", praticamente o que você quer é fazer uma atribuição a uma variável e que depois disso quer que outra passe a valer a mesma coisa + 1, porem isso só pode ser feito no momento que o valor de y for indicado, você precisa de alguma função, classe, etc que faça isso por vc, então deixo uma possível solução, não é exatamente o que você quer mas algo é algo. Se alguém conhecer alguma solução seria bem interesante saber. #include <iostream> using namespace std; struct Cordenadas { int x; int y; }; class Ponto: public Cordenadas { public: void operator=( int valor ) { //graças ao operador = sobrecarregado podemos fazer p=70 por exemplo, y = valor; x = y+1; //a x se atribui o valor de y que vale 70 mais 1, ou seja 71 } }; int main () { Ponto p; p = 70; // y dentro da classe toma o valor de 70 cout << "Y vale" << p.y << endl; cout << "X vale" << p.x << endl; cin.ignore(); return 0; } O programa vai mostrar um pequeno warning pois operator= deveria retornar this, porem não é necesario, somente queremos usar o operador = para estabelecer facilmente o valor de Y, coisa que podemos prescindir si usar uma função membro normal e fizer algo como p.setY(70) que é algo muito mais grande que p=70. Sorte
-
você ta se explicando fatal, não entendo nada. Quando tiver un scanf e for ler um float %f você deve por com ponto, tipo 1.2, por virgula ta errado, C não aceita virgula a menos que seja um string. Sobre o %, se o que você quer é imprimir ele no printf use %% duas vezes, pois um só % é considerado o operador modulo que extrae o resto de uma divisão, tipo 5%3 = 2, o 2 é o resultado que você obtêm de usar o operador modulo. para limitar a um int de no maximo 999 acho que você pode usar scanf("%3d", &numero); mas não sei si da certo isso. en todo caso você pode fazer um laço while que repete a entrada de dados por enquanto que o numero introduzido seja maior de 999. Algo como: int n = 0; while(n>999){ printf("Un numero menor que 999\n"); scanf("%d", &n); }
-
resultado = (a+b)/2; ( e ) da prioridade a a+b, si tiver (((1+2)+3)+4) sempre tem prioridade o que estiver mais adentro, ou seja que se resolveria 1+2, depois 3+3 e por ultimo 6 + 4.
-
[AJUDA] Qual o erro desse código?
pergunta respondeu ao Ícaro Gabriel Sena Valadar de vangodp em Grupo de Estudos
faltem 3 chaves para fechar a função #include<iostream> #include<ctype.h> #include<stdio.h> using namespace std; int valida_email ( char email[] ) { int estado = 0, i; for ( i = 0; email != '\0'; i++ ) { if ( estado == 0 ) { if ( email == 'w' ) { estado = 1; } else { estado = 13; } } else if ( estado == 1 ) { if ( email == 'w' ) { estado = 2; } else { estado = 13; } } else if ( estado == 2 ) { if ( email == 'w' ) { estado = 3; } else { estado = 13; } } else if ( estado == 3 ) { if ( email == 'w' ) { estado = 4; } else { estado = 13; } } else if ( estado == 4 ) { if ( email == '.' ) { estado = 5; } else { estado = 13; } } else if ( estado == 5 ) { if ( isalpha ( email ) || isdigit ( email ) ) { estado = 6; } else { estado = 13; } } else if ( estado == 5 ) { if ( isalpha ( email ) || isdigit ( email ) ) { estado = 5; } else if ( email == '.' ) { estado = 6 ; } else { estado = 13; } } else if ( estado == 6 ) { if ( isalpha ( email ) || isdigit ( email ) ) { estado = 7; } else { estado = 13; } } else if ( estado == 7 ) { if ( isalpha ( email ) || isdigit ( email ) ) { estado = 8; } else { estado = 13; } } else if ( estado == 8 ) { if ( isalpha ( email ) || isdigit ( email ) ) { estado = 9; } else { estado = 13; } } else if ( estado == 9 ) { if ( isalpha ( email ) || isdigit ( email ) ) { estado = 10; } else { estado = 13; } } else if ( estado == 10 ) { if ( email == '.' ) { estado = 11; } else { estado = 13; } } else if ( estado == 11 ) { if ( isalpha ( email ) || isdigit ( email ) ) { estado = 12; } else { estado = 13; } } else if ( estado == 12 ) { if ( isalpha ( email ) || isdigit ( email ) ) { estado = 14; } else { estado = 13; } } if ( estado == 13 ) { break; { if ( ( estado == 10 ) || ( estado == 7 ) ) { return ( 1 ); } else { return ( 0 ); } } }//<---falta!!! }//<---falta!!! }//<---falta!!! int main ( int argc, char** argv ) { char x[51]; cout << "\n Digite o email : "; cin >> x; if ( valida_email ( x ) == 1 ) { cout << "\n\n Email valido."; } else { cout << "\n\n Email invalido!!"; } return 0; } E este tipo de comparaciones está errado email == 'w', pois W é claramente um char, e email um string, si em todo caso W fosse um string você teria que usar a função strcmp para comparar, W deveria estar encerrada entre " e " e não entre ' e '. você poderia usar a classe string pois tratase de C++. -
não vai tentar fazer?
- 1 resposta
-
- multiplos em c
- c
-
(e %d mais)
Tags:
-
se valor do arquivo for algo como string valordoarquivo; simplesmente você pode chamar a funçao menbro c_str(), pois al parecer a funçao GetPrivateProfileStringA aceita strings de C, porem acho que você quer lhe passar um string de C++(classe), os strings de C e C++ são duas coisas totalmente diferentes, em C é char string[100] por exemplo, ou seja um array, e em C++ string é uma classe, sendo assim en c++ você tem dentro da classe muitas utilidades, uma delas como já falei c_str(), que permite você passar um string de c++ para um string de C, Ret = GetPrivateProfileStringA("MODO",valordoarquivo.c_str(),"0", buffer1, 100, ".\\arquivo.ini"); Resumindo... Se tiver um objeto string de C++ e quiser passalo como como se de um array se tratasse, use objeto.c_str(). Um exemplo seria char frase[100]; string outraFrase = "Ola mundo!"; strcpy(frase, outraFrase.c_str()); Se quiser copiar um array em um objeto da classe string faça normalmente pois a classe string possui o operador de atribuiçao sobrecarregado que permite você fazer algo como cppString = cString;. Para saber si precisa de um ou outro basta você ir onde esta declarado a funçao GetPrivateProfileStringA e ver como está declarada, seria algo como GetPrivateProfileStringA(..., char nomeArray[tamanho], ... , ...etc, ao ver algo como char nomeArray[tamanho] (pode ter outros nomes), você já deveria saber que ela espera um string de C (array), então se quiser passar um string de C++ precisa usar o c_str() que basicamente o que faz é transformar um objeto da classe string de C++ em um array que possa ser "digerido" pela função. Por outro lado si no segundo parâmetro estiver algo como string nomeString então pode passar o objeto normalmente. http://www.cplusplus.com/reference/string/string/c_str/
-
/* 3 - CRIE UMA CLASSE CAPAZ DE LER UM ARQUIVO DE TEXTO QUE CONTENHA OS DADOS(bairros.txt) ABAIXO E IMPRIMA TODOS OS NOMES DE BAIRROS DA CIDADE DE SANTARÉM LIDAS, SEPARADAS POR LINHA; A CLASSE DEVE GRAVAR A LISTA DE BAIRROS ORDENADOS EM UM NOVO ARQUIVO. obs: bairros para colocar no arquivo txt( Santarenzinho Amparo NovaREpública Aldeia Centro Prainha Conquista SantaClara Santissimo Flores AeroportoVelho Diamentaino Salé JardimSantarem ) */ #include <iostream> #include <fstream> #include <string> #include <list> using namespace std; //Organiza um arquivo de entrada em outro de saida class File { public: File(): fin(NULL), fout(NULL), lista() { readFile(); sortingList(); saveFile(); } void readFile() { fin.open ( "bairros.txt" ); string bairro = ""; cout << "***Arquivo de entrada***" << endl; while ( getline ( fin, bairro ) ) { lista.push_back(bairro); cout << lista.back() << '\n'; bairro = ""; } fin.close(); } void sortingList() { lista.sort(); cout << "\n***Lista ordenada.***" << endl; list<string>::iterator it; for ( it = lista.begin(); it != lista.end(); it++ ) { cout << *it << endl; } } void saveFile() { fout.open ( "bairrosOrganizados.txt", ios_base::trunc ); list<string>::iterator it; for ( it = lista.begin(); it != lista.end(); it++ ) { fout << *it << endl; } fout.close(); } private: ifstream fin; ofstream fout; list<string> lista; }; //cria um arquivo de prova com os nomes class FileCreate { public: FileCreate():fout(NULL) { fout.open ( "bairros.txt", ios_base::trunc ); saveFile(); } ~FileCreate() { fout.close(); } void saveFile() { list<string>::iterator it; for ( it = lista.begin(); it != lista.end(); it++ ) { fout << *it << endl; } } private: ofstream fout; list<string> lista = { "Santarenzinho Amparo", "NovaREpública Aldeia", "Centro Prainha", "Conquista SantaClara", "Santissimo Flores", "AeroportoVelho Diamentaino", "Salé JardimSantarem" }; }; int main() { FileCreate(); File(); return 0; } você acha que se eu te ajudar te estou ajudando? A ver si entende, se não procure um bom tutorial sobre classes, listas, arquivos......
-
Aparte de toda a ajuda que já lhe ofereceu acho que você está tendo problemas com lixo na memoria, fflush é uma solução meio mequetrefe de arrumar o problema. #include <stdio.h> #include <stdlib.h> #include <math.h> int main () { char nome[10], sex; int idade, doador; float altura, peso, imc; printf ( "\nDigite seu nome:\n" ); scanf ( "%9[^\n]%*c", nome ); printf ( "\nIdade:\n" ); scanf ( "%d%*c", &idade ); printf ( "\nSexo (m ou f):\n" ); scanf ( "%c%*c", &sex ); printf ( "\nDoador: (0 - não ; 1 - sim)\n" ); scanf ( "%d%*c", &doador ); printf ( "\nAltura:\n" ); scanf ( "%f%*c", &altura ); printf ( "\nPeso:\n" ); scanf ( "%f%*c", &peso ); printf ( "RESULTADO DA ANÁLISE\n" ); //Comparações de sexo,doador e idade if ( sex == 'f' ) printf ( "\nSra. %s \n", nome ); else if ( sex == 'm' ) printf ( "\nSr. %s\n", nome ); if ( idade >= 60 ) printf ( "\nPor favor, venha pela fila preferencial\n" ); else if ( idade < 60 ) printf ( "\nLamento, você ainda não tem direito a fila preferencial.\n" ); if ( doador == 0 ) printf ( "\nConvidamos você a ser um doador(a)!\n" ); else if ( doador == 1 ) printf ( "\nParabéns por ser um doador(a) de sangue!\n" ); //Cálculo de IMC e instruções de comparação imc = peso / ( pow ( altura, 2 ) ); if ( imc < 17 ) { printf ( "\nAtenção, você está muito abaixo do peso, seu IMC é %.2f\n", imc ); } if ( imc >= 17 && imc <= 18.49 ) { printf ( "\nVocê está abaixo do peso, seu IMC é %.2f\n", imc ); } if ( imc >= 18.5 && imc <= 24.99 ) { printf ( "\nVocês está no peso normal, seu IMC é %.2f\n", imc ); } if ( imc >= 25 && imc <= 29.99 ) { printf ( "\nVocê está acima do peso, seu IMC é %.2f\n", imc ); } if ( imc >= 30 && imc <= 34.99 ) { printf ( "\nAtenção, você tem Obesidade grau I, seu IMC é %.2f\n", imc ); } if ( imc >= 35 && imc <= 39.99 ) { printf ( "\nAtenção, você tem Obesidade grau II, seu IMC é %.2f\n", imc ); } if ( imc >= 40 ) { printf ( "\nAtenção, você tem Obesidade grau III, seu IMC é %.2f\n", imc ); } return 0; } Para entender o problema lhe recomendo você visitar e dedicar um tempo em ler este tema completamente que vou lhe postar a continuação, incluindo as respostas dos usuarios, isso vai lhe aclarar por que não devemos usar fflush para purgar a entrada padrão de C, e lhe oferece varias alternativas para esse cometido. http://forum.imasters.com.br/topic/336835-tutorial-systempause-e-fflushstdin/