Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Парочка заданий http://www.cyberforum.ru/cpp-beginners/thread148232.html
Сделайте пожалуйста кто может парочку заданий в VCL: 1.Найти позицию наименьшего в массиве 5 вещественных чисел. 2.Ввести строку, найти позицию заданного символа. 3.Вывести ряд значений степени 2...
C++ технологии программирования помогите разобраться в сути вопроса вопрос по технологиям программирования: общая структура памяти не понятно о какой памяти идет речь.....если можно,то помогите ответить на вопрос.... и еще... http://www.cyberforum.ru/cpp-beginners/thread148231.html
Сформировать динамический массив C++
Кто шарит в массивах помогите плиззззз. Сформировать динамический массив В розмера N*M из случайных чисел.Составить программу для подсчета непарных элементов двумерной матрицы, используя функцию...
Метод шелла C++
РЕбят помогите пожалуйста в написании комментариев по данной программе, если можно для каждой строки. ЗАдание - Провести сортировку последовательности а1, … , аn методом Шелла ...
C++ Анимация "Кит" http://www.cyberforum.ru/cpp-beginners/thread148190.html
Нужно создать анимацию в C++ :) Собственно, картинку можно увидеть внизу :) Нужно, чтобы этот кит проплыл по экрану, пуская фонтанчик, и махая хвостом. Собственно, а как это сделать? :) ...
C++ Сортировка двухмерного массива Дан двухмерный массив. Отсортировать столбики массива, поставив вначале четные элементы,а потом нечетные, не меняя при этом их порядок следования... помогите пожалуйста!..не могу додуматься как это... подробнее

Показать сообщение отдельно
Anastassija
0 / 0 / 0
Регистрация: 12.02.2017

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

21.06.2010, 23:27. Просмотров 472. Ответов 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;}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru