Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2007, 20:13   #1
KJIOyH
Пользователь
 
Регистрация: 22.09.2007
Сообщений: 15
По умолчанию

У меня есть анализатор простеньких формул. Ввод с клавиатуры. Мне надо сделать такой же анализатор,только формула вводиться из файла,а ответ выводиться в тот же файл(подразумеваеться,что мы прочитали из файла,удалили,записали в файл ответ). Код программу на С прикрепил.
Calc.txt

Есть предположения,что мы читаем массив чаров из файла,а что с этим делать -идей нет

Или так - заменить scanf -- FILE.read
getch--get ...
форма ввода : "1+2-1*(2+3)="
из файла

ПОследний вариант,но условие со скобками не верное...

Код:
#include <stdio.h>

#include<fstream.h>
#include<iostream.h>
#include<string.h>

#define N 100

double calc(char op)
{
	double a,b,c,i,j;
	char op1='+', op2, op3,str[N];
ifstream file;
file.open("d:\test.txt",ios::in);
file.getline(str,sizeof(str));

	while(op1!=op)
	{	
		for(i=0;i<strlen((char*) str) ;i++)
		{
			if( ( (str[0])!=0 ) &&(str[2]=='(') )
		{	a=calc(')'); op2=str[3];	}

		while(op2=='*' || op2=='/')
		{
			for(j=0;j<strlen((char*) str) ;j++)
				{
			if(( (str[0])!=0 ) &&(str[2]=='('))
			{	b=calc(')'); op3=str[3];	}
			if(op2=='*')a*=b;
			else if(op2=='/')a/=b;
			op2=op3;
				}
		}
		if(op1=='+')c+=a;
		else if(op1=='-')c-=a;
		op1=op2;
		}
	}
file.close();
	return c;
}
int main()
{

		printf("%c\n",calc('='));


	return 0;
}

Последний раз редактировалось AlDelta; 05.11.2007 в 21:02.
KJIOyH вне форума Ответить с цитированием
Старый 05.11.2007, 18:18   #2
KJIOyH
Пользователь
 
Регистрация: 22.09.2007
Сообщений: 15
По умолчанию

Народ идеи есть ?
KJIOyH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синтаксический анализатор delphin100 Общие вопросы Delphi 10 01.05.2010 12:50
Ограничение формул МИН и МАКС Bu$ter Microsoft Office Excel 2 29.05.2008 09:21
Вывод формул Влажимир Общие вопросы Delphi 7 10.03.2008 16:21
Создание формул в Delphi Gexar Общие вопросы Delphi 2 16.12.2006 10:55