Өнөөдрийн хичээлээр бид .txt өргөтгөлтэй файлаас өгөгдөл уншиж түүнээсээ () хаалт, */+- операторууд болон тоог ялгаж харуулах юм.
#include<stdio.h>
#include<conio.h>
#include<fstream.h>
#include<iostream.h>
#include<string.h>
int checkHaalt(char c){
if(c=='('||c==')') return 1;
else return 0;
}
int checkOperator(char c){
if(c=='+' || c=='-' || c=='*' || c=='/') return 1;
else return 0;
}
int checkToo(char c){
if(c>='0' && c<='9') return 1;
else return 0;
}
FILE *in;
void main(){
clrscr();
if((in=fopen("text.txt","r"))==NULL) printf("Can not open file");
else {
char *line;
char haaltuud[100]="\0";
char operatoruud[100]="\0";
int toonuud[100]={0};
int tooNum=0,haaltNum=0,operatorNum=0;
while((fscanf(in,"%s",line))!=EOF){
printf("%s\n",line);
int j=0;
while(line[j]!='\0'){
if(checkHaalt(line[j])==1) haaltuud[haaltNum++]=line[j];
else if(checkOperator(line[j])==1) operatoruud[operatorNum++]=line[j];
else {
int num=0;
int fac=1;
while(checkToo(line[j])) {
num=num*fac+(line[j]-'0');
fac=fac*10;
j++;
}
toonuud[tooNum++]=num;
j--;
}
j++;
}
}
haaltuud[haaltNum]='\0';
operatoruud[operatorNum]='\0';
printf("%s\n",haaltuud);
printf("%s\n",operatoruud);
}
getch();
}
No comments:
Post a Comment