tenho q fazer um prog q tm q pegar o numero do arquivo, ver se é numero ou não, verificar se é um negócio (esqueci o nome) e gera outro arquivo. O problema tá na parte de verificar se é num ou não, se colocor por exemplo a72 ele dá a msg de erro, porém se coloco 72a ou 72a num aparece a msg
uma coisa estranha também q nos printf q coloquei p ver o valor de i aparece um numero muito grande tp 402024 sendo q o arquivo só tm 3 linhas, 10 caracteres nele no máximo
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int equadri();
int verifica();
int naoequadri();
FILE *p; FILE *pb;
int n, m, p1=0,p2=0,p3=0,p4=0,n1,n2,n3,n4,k=1, boolean =0,i=0;
char carac[100];
char c;
int main()
{ if (!(p = fopen("entrada.dat","r"))) {
printf("Erro! Impossivel abrir o arquivo!\n");
system("PAUSE");
}
if (!(pb = fopen("saida.dat","w"))){
printf("Erro! Impossivel criar o arquivo!\n");
system("PAUSE");
}
while (!feof(p))
{
fscanf(p,"%s",carac);
// printf("i antes do if %d", &i);
if(!isdigit(carac[i]))
{
printf("i dentro do if%d", &i);
fprintf(pb,"\n ERRO!!! \n Caracter diferente de numero foi encontrado",n);
}
else
{ printf("i%d", &i);
n = atoi(carac);
boolean = 0;
verifica();
k=1;
}
i++;
}//fim do while
system("PAUSE");
fclose(pb);
fclose(p);
return(0);
}
int equadri()
{
fprintf(pb,"\n O numero %d e quadri e o operador e: %d \n",n,k);
}
int naoequadri()
{
fprintf(pb,"\n O numero %d não e quadri \n",n);
}
int verifica(){
do
{
// faz a conta
}
k++;
}while(k<=n);
if (boolean ==0){
naoequadri();
}
}
Pergunta
tahinf
olá pessoal!
tenho q fazer um prog q tm q pegar o numero do arquivo, ver se é numero ou não, verificar se é um negócio (esqueci o nome) e gera outro arquivo. O problema tá na parte de verificar se é num ou não, se colocor por exemplo a72 ele dá a msg de erro, porém se coloco 72a ou 72a num aparece a msg
uma coisa estranha também q nos printf q coloquei p ver o valor de i aparece um numero muito grande tp 402024 sendo q o arquivo só tm 3 linhas, 10 caracteres nele no máximo
#include <stdio.h> #include <stdlib.h> #include <ctype.h> int equadri(); int verifica(); int naoequadri(); FILE *p; FILE *pb; int n, m, p1=0,p2=0,p3=0,p4=0,n1,n2,n3,n4,k=1, boolean =0,i=0; char carac[100]; char c; int main() { if (!(p = fopen("entrada.dat","r"))) { printf("Erro! Impossivel abrir o arquivo!\n"); system("PAUSE"); } if (!(pb = fopen("saida.dat","w"))){ printf("Erro! Impossivel criar o arquivo!\n"); system("PAUSE"); } while (!feof(p)) { fscanf(p,"%s",carac); // printf("i antes do if %d", &i); if(!isdigit(carac[i])) { printf("i dentro do if%d", &i); fprintf(pb,"\n ERRO!!! \n Caracter diferente de numero foi encontrado",n); } else { printf("i%d", &i); n = atoi(carac); boolean = 0; verifica(); k=1; } i++; }//fim do while system("PAUSE"); fclose(pb); fclose(p); return(0); } int equadri() { fprintf(pb,"\n O numero %d e quadri e o operador e: %d \n",n,k); } int naoequadri() { fprintf(pb,"\n O numero %d não e quadri \n",n); } int verifica(){ do { // faz a conta } k++; }while(k<=n); if (boolean ==0){ naoequadri(); } }Link para o comentário
Compartilhar em outros sites
3 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.