Nilton Ribeiro Postado Maio 2, 2014 Denunciar Share Postado Maio 2, 2014 Boa tarde Gostaria de saber se alguém aqui pode me dizer porque esta dando este erro no Dev-C++, quando estou tentando compilar meu programa. Aparece a seguinte frase: ConsolePauser.exe parou de funcionar. Nilton Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nilton Ribeiro Postado Maio 3, 2014 Autor Denunciar Share Postado Maio 3, 2014 Marina Baixa 1.60 50.0 18 Katia Pesada 1.80 70.0 18 Carla Jovem 1.80 60.0 16 Lidiane Ribeiro 1.70 65.0 19 Michele Albuquerque 1.50 56.0 15 Batira Aipo 1.80 70,0 25 Daiane Faria 1.75 55.0 20 Rebeca Leeps 1,78 66.0 17 Catarina Lecter 1.85 65.0 20 Ana Paula 1.77 59.0 19 Bianca Beatiful 1.59 50.0 21 Elaine Cristina 1.45 55.0 17 Beatrice Oliveira 1.85 50.0 22 Luiza da Hora 1.80 60.0 18 Beatriz Vidigal 1.75 56.0 19 Valéria Santos 1.65 89.8 30 Talita da Silva 1.80 75.0 24 Vanessa Conceicao 1.65 58.0 15 Magali Ferreira 1.70 65.0 19 Adriana Mattos 1.75 56.0 19 Darciana Pereira 1.80 65.0 21 Jacira Kitana 1.59 58.5 24 Queila Alcantara 1.72 56,0 22 Debora Cruz 1.78 65.0 23 Jaqueline Pirez 1.60 56.0 17 Cassiana Rocha 1.80 65.0 21 Danubia Soares 1.85 50.0 22 Katia Santos 1.72 66.0 20 Kelly Freitas 1.80 60.0 18 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 roccoC/C++ Postado Maio 3, 2014 Denunciar Share Postado Maio 3, 2014 Abriu normalmente, veja abaixo nas imagens:http://3.bp.blogspot.com/-fuyhPWl5ou8/U2UIWmMtvzI/AAAAAAAABR8/Tfcw_pzhCME/s1600/xcvf.PNGhttp://1.bp.blogspot.com/-KxfkTK20PsU/U2UIWsRmv7I/AAAAAAAABSE/MqdQAt1-C8c/s1600/xcvfer.PNGhttp://4.bp.blogspot.com/-b8cFiXi6PJo/U2UIWntzeWI/AAAAAAAABSI/NHMKJZ1PsaM/s1600/xcvferrt.PNG Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nilton Ribeiro Postado Maio 3, 2014 Autor Denunciar Share Postado Maio 3, 2014 (editado) Puxa não sei o que fazer meu codigo se encontra assim: //Nilton da Silva Ribeiro RA: 2213112300 //Jorge Santos Santana RA: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> void mostrar() { char str[255]; FILE *arq; if ((arq = fopen("Modelos.dat","r")) == NULL); { printf("\nO arquivo não foi encontrado"); getche(); } if(arq) { while(!feof(arq)) { fgets(str,255,arq); printf("%s",str); } } fclose(arq); printf("\n\n"); system("PAUSE"); } /*void mAlfabetica(void); void mClassificadas(void);*/ int main() { printf("\n.::Programa para classificacao de Modelos::.\n\n"); printf("\n\nMenu\n\n"); for( ; ; ) { int opcao; printf("\n1 - Mostrar nomes das modelos contido em um arquivo. "); printf("\n2 - Mostrar nomes das modelos contido em um arquivo em ordem alfabetica."); printf("\n3 - Mostrar nomes das modelos classificas."); printf("\n0 - Sair "); scanf("%i", &opcao); if (opcao == 0) break; switch(opcao) { case 1: mostrar(); break; case 2: //mAlfabetica(); break; case 3: //mClassificadas(); break; default: printf("\nOpcao Invalida"); } } printf("\nFim do Programa"); return 0; getche(); } ah algum erro nele. é que eu quero fazer da maneira mais simples pra depois explicar pra professora Editado Maio 3, 2014 por Nilton Ribeiro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 roccoC/C++ Postado Maio 3, 2014 Denunciar Share Postado Maio 3, 2014 (editado) O único erro da sua função é nesta linha abaixo veja: if ((arq = fopen("Modelos.dat","r")) == NULL); // Aqui não se usa ponto e vírgula { Basta tirar pra funcionar Substitui sua função mostrar(); por esta abaixo: void mostrar() { char str[255]; FILE *arq; arq = fopen("Modelos.dat","r"); if ( arq == NULL ){ printf("O arquivo não foi encontrado"); getche();exit(0); } if(arq) { while(!feof(arq)) { fgets(str,255,arq); printf("%s",str); } } fclose(arq); printf("\n\n"); system("PAUSE"); } Editado Maio 3, 2014 por roccoC/C++ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nilton Ribeiro Postado Maio 3, 2014 Autor Denunciar Share Postado Maio 3, 2014 não funcionou, sera que tenho que fazer igual a este exemplo: printf("\nAgora vamos abrir o arquivo e ler os dados gravados”); arq = fopen(“teste.txt”, "r"); if (arq==NULL) { printf("\nErro na abertura do arquivo teste.txt"); getch(); exit(1); } fscanf(arq,”%s %i %f \n”,nomearq,&idadearq,&alturaarq); printf(”\n Nome=%s Idade=%i Altura=%.2f \n”, nomearq,idadearq,alturaarq); fclose(arq); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 roccoC/C++ Postado Maio 3, 2014 Denunciar Share Postado Maio 3, 2014 (editado) Não é necessário, o seu código acima tá certo, e a função que te mostrei por último também, estou testando aqui no Dev e no eclipse, funcionou normal. Veja abaixo seu código funcionando: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> void mostrar() { char str[255]; FILE *arq; if ((arq = fopen("Modelos.dat","r")) == NULL) { printf("\nO arquivo não foi encontrado"); getche(); } if(arq) { while(!feof(arq)) { fgets(str,255,arq); printf("%s",str); } } fclose(arq); printf("\n\n"); system("PAUSE"); } /*void mAlfabetica(void); void mClassificadas(void);*/ int main() { printf("\n.::Programa para classificacao de Modelos::.\n\n"); printf("\n\nMenu\n\n"); for( ; ; ) { int opcao; printf("\n1 - Mostrar nomes das modelos contido em um arquivo. "); printf("\n2 - Mostrar nomes das modelos contido em um arquivo em ordem alfabetica."); printf("\n3 - Mostrar nomes das modelos classificas."); printf("\n0 - Sair "); scanf("%i", &opcao); if (opcao == 0) break; switch(opcao) { case 1: mostrar(); break; case 2: //mAlfabetica(); break; case 3: //mClassificadas(); break; default: printf("\nOpcao Invalida");break; } } printf("\nFim do Programa"); return 0; getche(); } Abraço Editado Maio 3, 2014 por roccoC/C++ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nilton Ribeiro Postado Maio 3, 2014 Autor Denunciar Share Postado Maio 3, 2014 (editado) ok meu amigo, vou testar na faculdade segunda feira e depois passo pra voce se deu certo, deve ser meu compilador. Muito obrigado por enquanto. Nilton Editado Maio 3, 2014 por Nilton Ribeiro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 roccoC/C++ Postado Maio 3, 2014 Denunciar Share Postado Maio 3, 2014 Qual versão do Dev você tá usando? Por aqui testei na versão 4.9.9.2 Windows seven 32 bits Compilador MinGW. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nilton Ribeiro Postado Maio 3, 2014 Autor Denunciar Share Postado Maio 3, 2014 (editado) É esta versão que eu estou agora o compilador é minGW também. no windows 7 32 bits Editado Maio 3, 2014 por Nilton Ribeiro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 roccoC/C++ Postado Maio 3, 2014 Denunciar Share Postado Maio 3, 2014 (editado) ok Editado Maio 3, 2014 por roccoC/C++ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nilton Ribeiro Postado Maio 5, 2014 Autor Denunciar Share Postado Maio 5, 2014 (editado) Bom dia, testei aqui na faculdade o programa e mesmo assim ele me mostra a seguinte mensagem "arquivo não encontrado". Testei no Code blocks e no eclipse e continua o mesmo erro? Editado Maio 5, 2014 por Nilton Ribeiro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 roccoC/C++ Postado Maio 5, 2014 Denunciar Share Postado Maio 5, 2014 (editado) Acabei de testar aqui no Dev, veja a imagem abaixo:http://2.bp.blogspot.com/-RM95NZu8TZ8/U2ejEaXu1II/AAAAAAAABSg/GusfEH7d0bE/s1600/xcxcxc.PNG Veja o código testado: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> void mostrar() { char str[255]; FILE *arq; if ((arq = fopen("Modelos.dat","r")) == NULL) { printf("\nO arquivo não foi encontrado"); getche(); } if(arq) { while(!feof(arq)) { fgets(str,255,arq); printf("%s",str); } } fclose(arq); printf("\n\n"); system("PAUSE"); } /*void mAlfabetica(void); void mClassificadas(void);*/ int main() { printf("\n.::Programa para classificacao de Modelos::.\n\n"); printf("\n\nMenu\n\n"); for( ; ; ) { int opcao; printf("\n1 - Mostrar nomes das modelos contido em um arquivo. "); printf("\n2 - Mostrar nomes das modelos contido em um arquivo em ordem alfabetica."); printf("\n3 - Mostrar nomes das modelos classificas."); printf("\n0 - Sair "); scanf("%i", &opcao); if (opcao == 0) break; switch(opcao) { case 1: mostrar(); break; case 2: //mAlfabetica(); break; case 3: //mClassificadas(); break; default: printf("\nOpcao Invalida");break; } } printf("\nFim do Programa"); return 0; getche(); }Copie e cole este código no seu Dev, e veja se funciona. Por aqui funciona perfeitamente, e olha que desta vez teste com a extenão .c; Antes eu tava testando com a extensão .cpp, que é pra c++. Como estou no trabalho agora e por aqui é só correria,só vou poder te responder à noite quando eu chegar em casa. Abraço Editado Maio 5, 2014 por roccoC/C++ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nilton Ribeiro Postado Maio 5, 2014 Autor Denunciar Share Postado Maio 5, 2014 Boa tarde Caro Rocco Deu certo, mas eu vi onde estava errando, a extensão do meu arquivo estava da seguinte maneira: Modelos.dat.txt. Deste jeito nunca ia funcionar nunca, mas agora esta rodando de boa. Agora vou desenvolver a segunda parte dele que é colocando um método de ordenação e mostrar esta lista em ordem alfabética. Teria alguma sugestão qual seria o melhor método: bolha, Inserção ou seleção. :D Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 roccoC/C++ Postado Maio 5, 2014 Denunciar Share Postado Maio 5, 2014 Fico feliz que tenha conseguido.Também já cometi este erro, agora presto mita atenção, Vou fzr por aqui, a parte da ordenação depois te falo como ficou.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nilton Ribeiro Postado Maio 5, 2014 Autor Denunciar Share Postado Maio 5, 2014 ok, fico no aguardo, enquanto isso também vou tentando aqui. Grato Nilton Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nilton Ribeiro Postado Maio 5, 2014 Autor Denunciar Share Postado Maio 5, 2014 (editado) Meu amigo, olhando agora o meu trabalho a professora pede a seguinte coisa: onde buscando todos os nomes no arquivo e seus dados as modelos tem que se enquadrar nisso: ALTURA: de 1.70 a 1.85 m PESO: de 48.0 a 60.0 Kg IDADE: de 17 a 21 anos com estas informações é pra dizer se ela estão aprovadas ou não desta forma: Exemplo parcial: Dados do arquivo Saída esperada na tela Marina Baixa 1.60 50.0 18 Altura fora dos padrões Peso dentro dos padrões Idade dentro dos padrões Candidata reprovada fiz este seguinte codigo: #include <conio.h> #include <stdio.h> #include <string.h> int main() { char nome[40]; float altura,peso; int idade, i=0; FILE *arq = fopen("Modelos.dat","r"); if (arq == NULL) { printf("\nArquivo não encontrado"); return 1; } printf("\nVeja os resultados das modelos aprovadas."); while(fgets(nome,40,arq)!=NULL) { fscanf(arq, "%.2f %.2f %i ",&altura,&peso,&idade); printf("\nModelo: %s",nome); if(altura>=1.70 && altura<=1.85) printf("\nEstatura dentro dos padroes."); else printf("\nEstatura fora dos padroes."); if(peso>=48.0 && peso<=60.0) printf("\nPeso dentro dos padroes."); else printf("\nPeso fora dos padroes."); if(idade>=17 && idade<=21) printf("\nIdade dentro dos padroes."); else printf("\nIdade fora dos padroes."); if(altura>=1.70 && altura<=1,85 && peso>=48.0 && peso<=60.0 && idade>=17 && idade<=21) printf("\nModelo aprovada!!!."); else printf("\nModelo reprovada."); } fclose(arq); getch(); return 1; } só que o resultado só esta saindo assim, todas reprovadas conforme links abaixo: http://1drv.ms/1kEx3AY http://1drv.ms/1kExmvr http://1drv.ms/1kExtHz http://1drv.ms/1kExzPs http://1drv.ms/1kExJGn ai após isto mostrar somente aprovadas na ordem alfabética. Grato Nilton Editado Maio 5, 2014 por Nilton Ribeiro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 roccoC/C++ Postado Maio 5, 2014 Denunciar Share Postado Maio 5, 2014 Ufa!! Vai dar trabalho! Como estou quebrando a cabeça com um outro código por aqui, só vou te desejar Boa Sorte, Falou Nilton? Forte Abraço, desculca por qualquer coisa. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nilton Ribeiro Postado Maio 15, 2014 Autor Denunciar Share Postado Maio 15, 2014 Boa tarde caro Rocco Venho te pedir mais uma mãozinha, claro se você puder. Lembra do meu programa que havia falado contigo, consegui fazer que ele mostrasse as aprovadas e reprovadas de acordo com seus critérios. Mas agora preciso somente dos nomes da aprovadas e colocar em ordem alfabética. Estou tentando garimpar com um struct mas não deu nenhum resultado: #define max 50 struct a {char nome[20]; //Crio a struct a e depois com a variavel nome }; struct a vetap[max]; //Defino ela como um vetor int contap=0, j;// aqui um contador no if aprovado coloquei isso: if(result == 3) { printf("\nCandidata aprovada!!!.\n\n"); strcpy(vetap[contap],nome); ++contap; } else printf("\nCandidata reprovada!!!\n\n"); só que ele esta dando erro no strcpy, onde quero que ele pega as aprovadas e me mostre seus nomes. Se puder me ajudar ficarei grato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 roccoC/C++ Postado Maio 15, 2014 Denunciar Share Postado Maio 15, 2014 Olá, Boa tarde! Esqueça struct por enquanto e Tente salvar os nomes das aprovadas num vetor de char, e faça a ordenação usando uma função. Explique melhor,o nome das aprovadas estão num arquivo, ou é mostrado direto na tela por printf(); ?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nilton Ribeiro Postado Maio 15, 2014 Autor Denunciar Share Postado Maio 15, 2014 Os nomes das aprovadas estão em um arquivo, onde se encontra as reprovadas também. Preciso pegar somente as que foram aprovadas com os critérios pedido nos Ifs aprovadas mostrar na tela usando um printf() em ordem alfabética usando modo simples de ordenação. Se você quiser te mando o código do que eu já fiz e o o arquivo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 roccoC/C++ Postado Maio 15, 2014 Denunciar Share Postado Maio 15, 2014 Certo, mande o código! De qualquer modo, faço como lhe sujeri, se esforce pra adicionar os nomes das aprovadas num vetor de char, e imprima com printf(); pra ter certeza que tudo ocorreu bem, depois é só ordenar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nilton Ribeiro Postado Maio 15, 2014 Autor Denunciar Share Postado Maio 15, 2014 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> void mostrar() { char str[255]; FILE *arq; if ((arq = fopen("Modelos.dat","r")) == NULL) { printf("\nO arquivo nao foi encontrado"); getche(); } if(arq) { while(!feof(arq)) { fgets(str,255,arq); printf("%s",str); } } fclose(arq); printf("\n\n"); system("PAUSE"); system("cls"); } void mClassificadas() { char nome[16]; float altura,peso; int idade, result=0; altura = 0; peso = 0; idade = 0; FILE *arq; arq = fopen("Modelos.dat","r"); if (arq == NULL) { printf("\nArquivo nao encontrado"); return 1; } printf("\nClassificacao das Modelos.\n\n"); while(fgets(nome,16,arq)!=NULL) { fscanf(arq, "%f %f %i ",&altura,&peso,&idade); printf("\nCandidata: %s\n",nome); if(altura>=1.70 && altura<=1.85) { printf("\nEstatura dentro dos padroes."); altura = 1; } else { printf("\nEstatura fora dos padroes."); altura = 0; } if(peso>=48.0 && peso<=60.0) { printf("\nPeso dentro dos padroes."); peso = 1; } else { printf("\nPeso fora dos padroes."); peso = 0; } if(idade>=17 && idade<=21) { printf("\nIdade dentro dos padroes."); idade = 1; } else { printf("\nIdade fora dos padroes."); idade = 0; } result = altura + peso + idade; if(result == 3) printf("\nCandidata aprovada!!!.\n\n"); else printf("\nCandidata reprovada!!!\n\n"); } fclose(arq); printf("\n\n"); system("PAUSE"); system("cls"); } int main() { for( ; ; ) { int opcao; printf("\n\t\t.::Programa para classificacao de Modelos::.\n\n"); printf("\n\nMenu\n\n"); printf("\n1 - Mostrar nomes das modelos contido em um arquivo. "); printf("\n2 - Mostrar atraves de padroes se modelos aprovadas ou reprovadas "); printf("\n3 - Mostrar nomes das modelos aprovadas em ordem alfabética."); printf("\n0 - Sair "); printf("\n\nDigite sua opcao: "); scanf("%i", &opcao); if (opcao == 0) break; switch(opcao) { case 1: mostrar(); break; case 2: mClassificadas(); break; case 3: //mAlfabetica(); break; default: printf("\nOpcao Invalida");break; } } printf("\nFim do Programa"); return 0; getche(); } arquivo: https://www.dropbox.com/s/zd5n9s90abzl1tw/Modelos.dat Isso é o que eu já tenho finalizado, pra mim criar este vetor de char tenho que abrir o arquivo primeiro e puxar as aprovadas, mas eu uso os mesmos ifs da função mClassificadas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 roccoC/C++ Postado Maio 15, 2014 Denunciar Share Postado Maio 15, 2014 Enquanto testo por aqui, dê uma olhada neste trecho de código abaixo: char Linha [ 100 ]; printf("\n\n"); char *resul; i = 1; while (!feof(arq)){ // Lê uma linha (inclusive com o '\n') resul = fgets(Linha, 11, arq); // o 'fgets' lê até 11 caracteres ou até o '\n' if (resul) // Se foi possível ler printf("\nLinha %d : %s",i,Linha); i++; } fclose(arq);getche(); Assim fica fácil chamar apenas os nomes das modelos aprovadas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nilton Ribeiro Postado Maio 15, 2014 Autor Denunciar Share Postado Maio 15, 2014 Desculpa estou tentando encaixar esta parte do código em meu programa mas esta dando erro como mostra na foto, se não me engano 6 modelos estão aprovadas e aparece todos os nomes, onde posso encaixar esta parte. foto: https://www.dropbox.com/s/p0ak8mnh4cclecg/tela.png coloquei o código na ultima função void mAlfabetica() { FILE *arq; arq = fopen("Modelos.dat","r"); if (arq == NULL) { printf("\nArquivo nao encontrado"); return 1; } printf("\nModelos Aprovadas"); char Linha [ 16 ]; int i; printf("\n\n"); char *resul; i = 1; while (!feof(arq)) { resul = fgets(Linha, 16, arq); if (resul) printf("\nLinha %d : %s",i,Linha); i++; } fclose(arq); getche(); } Niltom Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 roccoC/C++ Postado Maio 16, 2014 Denunciar Share Postado Maio 16, 2014 rss... A coisa tá feia Nilton.. no fim de semana, vou me empenhar no seu código, amanhã não tenho tempo. Abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Nilton Ribeiro
Boa tarde
Gostaria de saber se alguém aqui pode me dizer porque esta dando este erro no Dev-C++, quando estou tentando compilar meu programa. Aparece a seguinte frase: ConsolePauser.exe parou de funcionar.
Nilton
Link para o comentário
Compartilhar em outros sites
Top Posters For This Question
27
26
Dias Populares
Mai 3
20
Mai 2
16
Mai 15
9
Mai 5
7
Top Posters For This Question
Nilton Ribeiro 27 posts
roccoC/C++ 26 posts
Dias Populares
Mai 3 2014
20 posts
Mai 2 2014
16 posts
Mai 15 2014
9 posts
Mai 5 2014
7 posts
52 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.