-
Total de itens
28 -
Registro em
-
Última visita
Posts postados por Nilton Ribeiro
-
-
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
-
#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
-
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
-
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
-
Bom dia, Boa tarde ou Boa Noite a todos...
Galera estou trabalhando em um projeto na facul onde tenho que pegar de um aquivo chamado Modelos.dat. E mostrar através de alguns critérios se elas estão aprovadas ou não, isto eu consegui fazer. Só que agora estou quebrando a cabeça em outra coisa. Preciso colocar somente as Modelos aprovadas em uma Lista e colocar em ordem alfabética :
Maria Bonita 1.70 50.0 18
Altura dentro dos padrões
Peso dentro dos padrões
Idade dentro dos padrões
Candidata aprovada
Obs: estando dentro deste seguintes métodos simples de ordenação (Bolha, Inserção ou Seleção).
Meu código onde faço a classificação das modelos é este e dele eu preciso jogar para uma lista e ordenar os nomes somente das aprovadas na ordem alfabética:
#include <conio.h> #include <stdio.h> #include <string.h> int main() { char nome[16]; float altura,peso; int idade, result; altura = 0; peso = 0; idade = 0; FILE *arq; arq = fopen("Modelos.dat","r"); if (arq == NULL) { printf("\nArquivo não 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("\nAltura dentro dos padroes."); altura = 1; } else { printf("\nAltura 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); getch(); return 0; }
Ficarei grato se alguém puder dar um ponta pé inicial que possa me ajudar.
-
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 mPESO: de 48.0 a 60.0 KgIDADE: de 17 a 21 anoscom estas informações é pra dizer se ela estão aprovadas ou não desta forma:Exemplo parcial:Dados do arquivo Saída esperada na telaMarina Baixa 1.60 50.0 18 Altura fora dos padrõesPeso dentro dos padrõesIdade dentro dos padrõesCandidata reprovadafiz 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.");elseprintf("\nEstatura fora dos padroes.");if(peso>=48.0 && peso<=60.0)printf("\nPeso dentro dos padroes.");elseprintf("\nPeso fora dos padroes.");if(idade>=17 && idade<=21)printf("\nIdade dentro dos padroes.");elseprintf("\nIdade fora dos padroes.");if(altura>=1.70 && altura<=1,85 && peso>=48.0 && peso<=60.0 && idade>=17 && idade<=21)printf("\nModelo aprovada!!!.");elseprintf("\nModelo reprovada.");}fclose(arq);getch();return 1;}só que o resultado só esta saindo assim, todas reprovadas conforme links abaixo:
ai após isto mostrar somente aprovadas na ordem alfabética.
Grato
Nilton
-
ok, fico no aguardo, enquanto isso também vou tentando aqui.
Grato
Nilton
-
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
-
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?
-
É esta versão que eu estou agora o compilador é minGW também.
no windows 7 32 bits
-
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
-
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); -
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
-
Marina Baixa 1.60 50.0 18Katia Pesada 1.80 70.0 18Carla Jovem 1.80 60.0 16Lidiane Ribeiro 1.70 65.0 19Michele Albuquerque 1.50 56.0 15Batira Aipo 1.80 70,0 25Daiane Faria 1.75 55.0 20Rebeca Leeps 1,78 66.0 17Catarina Lecter 1.85 65.0 20Ana Paula 1.77 59.0 19Bianca Beatiful 1.59 50.0 21Elaine Cristina 1.45 55.0 17Beatrice Oliveira 1.85 50.0 22Luiza da Hora 1.80 60.0 18Beatriz Vidigal 1.75 56.0 19Valéria Santos 1.65 89.8 30Talita da Silva 1.80 75.0 24Vanessa Conceicao 1.65 58.0 15Magali Ferreira 1.70 65.0 19Adriana Mattos 1.75 56.0 19Darciana Pereira 1.80 65.0 21Jacira Kitana 1.59 58.5 24Queila Alcantara 1.72 56,0 22Debora Cruz 1.78 65.0 23Jaqueline Pirez 1.60 56.0 17Cassiana Rocha 1.80 65.0 21Danubia Soares 1.85 50.0 22Katia Santos 1.72 66.0 20Kelly Freitas 1.80 60.0 18
-
coloquei informações de 30 nomes com sobrenome de modelos, altura, peso e idade, abaixo um exemplo:
Marina Alves 1.60 50.0 18
-
será que tem a ver com o arquivo, posso postar aqui o que contem dentro do arquivo pra voce dar uma olhada?
-
Caro Rocco, sim esta renomeado ou eu teria que por;
arq = fopen("Nome qualquer.dat","rb");
ou colocar o segundo if como else
-
Bom testei aqui o código que você me passou, a principio ao eu teclar 1 ele aparece "arquivo não encontrado" sendo que o arquivo se encontra próximo ao executável. Se eu coloco esta parte como comentario ai da um erro e aparece "pressione qualquer tecla para continuar". tem alguma diferença, que no meu caso eu quero abrir um arquivo que tem a extensão como .dat.
-
Bom dia caro Rocco
O código funcionou bem mas tive que tirar as implementações como esta por exemplo
o programa não reconheceu e para reconhecer a função sleep(), tive que colocar a biblioteca windowS.h e gostaria também de colocar nesta função para ele caso não encontre o arquivo de uma mensagem de "Arquivo não encontrado"
printf("Função Mostrar");
char str[500];
FILE *arq;
arq = fopen("texte.txt","r");
if(arq)
{
while(!feof(arq))
{
fgets(str,255,arq);
printf("%s",str);
}
}
fclose(arq);
printf("\n\n");
system("PAUSE");
}Grato
Nilton
-
Grato fico pela ajuda como posso colocar ele dentro de uma função: seria assim:
#include <stdio.h>
#include <stdlib.h>#include <string.h>#include <cstdlib.h>#include <iostream>void mostrar(void){char str[500];FILE *arq;arq = fopen("Modelos.dat","r");if(arq){while(!feof(arq)){fgets(str,255,arq);printf("%s",str);}}fclose(arq);printf("\n\n");system("PAUSE");return 1;// Aqui posso retornar este valor}e la embaixo no case, chama-la deste jeitoswitch(opcao)
{case 1: mostrar();break;Qual seria o blog não encontrei???
-
Oi, desinstalei e instalei de novo quando aperto f9 para compilar ele aparece uma janela onde aparece uma palavra Done. Isso significa que ele funcionou certo, mas o que eu gostaria de ver era o executável que ele não esta mostrando. Se não der certo tentarei na faculdade. Mas uma duvida???
Pra mim mostrar nome, altura, peso e idade que esteja contido em um arquivo primeiramente tenho que abri-lo certo. Desta maneira...
FILE *arq;
fp = fopen ("Modelos.dat","rb");
if (!arq)
printf ("Erro na abertura do arquivo.");mas o que eu quero saber é como posso mostrar os dados na tela, sendo que neste arquivo contém 30 nomes e suas respectivas informações: nome, altura, peso e idade.
Poderia me da uma mão neste
Nilton
-
Ok, vou tentar e já já te digo se deu certo.
-
Já fiz isto e apresentou o mesmo erro. Me diz o menu apareceu direito, e deu para entrar nas opções???
-
Estranho aqui em casa não esta rodando será que é o software, pois coloco pra executar e da este erro, teria algum lugar onde posso baixa-lo para ver se da certo.
Problema no Dev-C++
em C, C++
Postado
Ok. Meu amigo estou aqui também quebrando a cabeça com ele. Tentando de qual quer forma fazer ele funcionar. Agradeço se puder me ajudar, vou tentando aqui também. Qualquer coisa esclareço contigo. Fico no aguardo. E mais uma vez obrigado pela ajuda.
Grato
Nilton