Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Anastassija
Сообщений: n/a
#1

Калькулятор с двусвязным списком и классами - C++

21.06.2010, 23:27. Просмотров 422. Ответов 0
Метки нет (Все метки)

Всем привет!

Мне нужно сделать на С++ калькультор для консоли, выполняющий 4 действия (сложение, вычитание, умножение, деление).
Программа должна быть основана на принципах объектно-ориентированного программирования. Для промежуточного хранения чисел и знаков, надо использовать двусвязанный список.



1. Калькулятор должен работать как с целыми числами, так и с дробными числами и только в десятичной системе (Должен использоваться тип double).
2. Он должен работать "цепочкой" , т.е. производить действия не только над двумя числами, а например считать 3+8*9/15.
3. Должно учитываться приоритетное выполнение умножения и деления.
4. При делении на ноль должно выдаваться сообщение об ошибке
5. Программа должна быть бесконечным циклом, с возможностью прерывания пользователем (введение какого-либо специального знака).



Я что-то пробывала написать, но получается как-то кусками и мозги в кучку не собираются...... может быть кто-то сможет помочь...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <list>
 
using namespace std;
 
class Liste {
public:
double zahl;
char op;
 
Liste* next;
Liste* last;
Liste(double, char);
~Liste();
 
}
 
 
#include "Zulassungsaufgabe.h"
 
double zahl;
char op;
 
Liste* createList();
Liste* start=new Liste(zahl, op);
Liste* temp=start;
Liste* aftertemp=temp+1;
int main(){
while(op!='s', op!='=')
{
cout<<"Enter number: "<<zahl<<endl;
cin>>zahl;
cout<<"Enter operand: "<<op<<endl;
cin>>op;
Liste* neu= new Liste(zahl, op);
neu->last=temp;
temp=neu;
start->next=neu;
}
 
while (op=='*') {
temp->zahl=(temp->zahl)*(aftertemp->zahl);
temp->op=aftertemp->op;
temp->next=aftertemp->next;
temp->last=temp;}
 
while (op=='/') {
if(aftertemp->zahl==0){
cout<<"Fehler";}
else{
temp->zahl=(temp->zahl)/(aftertemp->zahl);
temp->op=aftertemp->op;
temp->next=aftertemp->next;
temp->last=temp;}}
while (op=='+') {
temp->zahl=(temp->zahl)+(aftertemp->zahl);
temp->op=aftertemp->op;
temp->next=aftertemp->next;
temp=temp->last;}
while (op=='-') {
temp->zahl=(temp->zahl)*(aftertemp->zahl);
temp->op=aftertemp->op;
temp->next=aftertemp->next;
temp->last=temp;}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2010, 23:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Калькулятор с двусвязным списком и классами (C++):

Нужны задачки для упражнения в работе со списком, стеком, очередью и двусвязным списком - C++
Недавно научился строить список, стек, очередь, двусвязный список в С++, что бы закрепить навыки мне нужны задачки. Можете подсказать, где...

Программа с двусвязным списком крашится - C++
Здравствуйте! написал код для двусвязного списка, проблема следующая: все компилируется, запускается интерфейс, но какую бы функцию я...

Разработать программу работы с двусвязным списком - C++
Разработать программу работы с двусвязным списком. Програма длжна реализовать сл. процедуры, вызываемые из меню: -построение списка...

Элементарные операции с динамических двусвязным списком - C++
Всем доброго времени суток! Нужна ваша помощь! В общем задание: Сформировать динамический двусвязный список. Структура содержит...

Работа с двусвязным нециклическим списком: инверсия списка - C++
Есть программа для работы с двухсвязным списком. Есть проблемы с функцией инверсии списка. Visual C++ выдает следующую ошибку: ...

Разработать программу для создания и работы с двусвязным списком - C++
Задание: разработать программу для создания и работы с двусвязным списком , состоящим из структур. Для работы со списком создать меню со...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2010, 23:27
Привет! Вот еще темы с ответами:

Работа с двусвязным списком. Проблема с функцией удаления с конца - C++
Есть задача на двусвязный список, но наблюдается непонятная ошибка. Если сделать функцию удаления всех элементов через функцию удаления с...

Работа с двусвязным списком, поиск и перемена местами двух элементов в списке - C++
Здравствуйте! Есть список List http://pastebin.com/tNSztz50 Не могу разобраться, как найти элемент в списке по его значению, и как...

Как реализовать работу со списком строк и списком цифр в классе List? - C++
Добрый день! Проблема такая Есть класс-список: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; using namespace...

В чем разница между простым линейным списком, и динамическим линейным списком? - C++
вопрос в теме


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru