71 / 51 / 8
Регистрация: 13.11.2017
Сообщений: 372
1

Выполнение простых арифметических операций, находящихся в файле

10.07.2018, 10:50. Показов 1292. Ответов 11
Метки нет (Все метки)

Добрый день! Такая вот задача: На языке С++ написать программу, которая будет выполнять простые арифметические операции, находящиеся в файле. Исходный файл содержит несколько строк, в каждой из которых записано выражение X#Y. Где # – операции +, –, *, /, а X и Y – целочисленные величины. Требуется вывести ответы на каждое выражение в файл в формате X#Y=O, где O – решение выражения.
Подскажите, пожалуйста, что не так. Код не компилируется. Что нужно исправить?
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
#include <iostream>
#include <conio.h>
#include <fstream>
 
using namespace std;
 
int main(){
setlocale(LC_ALL, "rus");
    
ifstream file;
int x;
char z;
int y;
int a = 0;
    
file.open("primer.txt");
if (!file) {
    cout << "Файл не открыт!\n";
    return -1;
}
    
file >> x;
file >> z;
file >> y;
    
cout << x << endl;
cout << z << endl;
cout << y << endl;
 
if(z == '+') {
    cout << "x + y = " << a=x+y << endl;
}
else if (z == '-') {
    cout << "x - y = " << a=x-y << endl;
}
else if (z == '*') {
    cout << "x*y = " << a=x*y << endl;
}
else if (z == '/') {
    cout << "x/y = " << a=x/y << endl;
}
else {
    cout << "Не верный арифметический знак!\n";
}
 
file << x;
file << z;
file << y;
file << "=";
file << a;
    
file.close();
    
system("pause");
return 0;   
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.07.2018, 10:50
Ответы с готовыми решениями:

Выполнение простейших арифметических операций
Доброго времени суток. Я только изучаю QT, поэтому множество проблем и вопросов, но постараюсь...

Организовать перевод чисел из 10 системы в 2,8,16,32 а также выполнение простых арифметических операций (+-/*) над данными числами
Прилагаю исходник программы (то что сделано). Не знаю только как организовать перевод чисел в эти...

Выполнение арифметических операций
Здравствуйте ! Как реализовать это на php ? : &quot;Сколько будет '5' + '5' ?&quot; Ответ PHP &quot;Сумма...

Выполнение простейших арифметических операций
Разработать процедуру (и вспомогательную программу) выполняющую простейшие арифметические операции....

11
3777 / 3093 / 856
Регистрация: 25.03.2012
Сообщений: 11,440
Записей в блоге: 1
10.07.2018, 10:54 2
а текст ошибки слабо написать?
0
71 / 51 / 8
Регистрация: 13.11.2017
Сообщений: 372
10.07.2018, 11:01  [ТС] 3
Kuzia domovenok, C:\Users\1\Documents\Ïðàêòèêà ¹2.cpp [Error] invalid operands of types 'int' and '<unresolved overloaded function type>' to binary 'operator<<'

Добавлено через 39 секунд
И ещё такая ошибка: C:\Users\1\Documents\Ïðàêòèêà ¹2.cpp [Error] no match for 'operator<<' (operand types are 'std::ifstream {aka std::basic_ifstream<char>}' and 'int')
0
183 / 169 / 92
Регистрация: 13.06.2018
Сообщений: 696
10.07.2018, 11:19 4
везде <<(a=x чето y)<< в скобки

Добавлено через 6 минут
откуда читаем туда и запишем?
C++
1
2
fstream file;
file.open("primer.txt",ios_base::out | ios_base::in);
1
71 / 51 / 8
Регистрация: 13.11.2017
Сообщений: 372
10.07.2018, 11:21  [ТС] 5
Biger18, Спасибо, это помогло. Теперь выдаёт ошибку в 46 строке C:\Users\1\Documents\Практика №2.cpp [Error] no match for 'operator<<' (operand types are 'std::ifstream {aka std::basic_ifstream<char>}' and 'int')
0
183 / 169 / 92
Регистрация: 13.06.2018
Сообщений: 696
10.07.2018, 11:22 6
ifstream к чертям
1
71 / 51 / 8
Регистрация: 13.11.2017
Сообщений: 372
10.07.2018, 11:42  [ТС] 7
Biger18, Теперь всё работает! Но почему-то не хочет открывать мой файл. Выводит сообщение, что файл не открыт...
0
183 / 169 / 92
Регистрация: 13.06.2018
Сообщений: 696
10.07.2018, 11:46 8
если создать файл в нужном месте помогает
1
71 / 51 / 8
Регистрация: 13.11.2017
Сообщений: 372
10.07.2018, 12:06  [ТС] 9
Biger18, Разместил файл в другом месте, всё работает, большое спасибо! И хотел ещё спросить. Если я запишу в файл несколько строк, то как сделать, чтобы читались все строки и записывались в файл? Если, например, сейчас так сделать, то читается и записывается только первая строка.

Добавлено через 3 минуты
И возможно ли ещё сделать так, чтобы в файл результат записывался с новой строки?
0
183 / 169 / 92
Регистрация: 13.06.2018
Сообщений: 696
10.07.2018, 12:09 10
x,z,y накапливать допустим в вектор, а потом считать/записывать, endl и с файлами работает
1
71 / 51 / 8
Регистрация: 13.11.2017
Сообщений: 372
10.07.2018, 12:46  [ТС] 11
Biger18, попытался сделать структуру и засунуть её в вектор. Но не помню, как теперь переделать услувия и запись. Можете навести на мысль?)
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
#include <iostream>
#include <conio.h>
#include <fstream>
#include <vector>
using namespace std;
 
int main(){
setlocale(LC_ALL, "rus");
  
fstream file;
struct Primer {   
int x;
char z;
int y;
};
int a = 0;
vector<Primer> primers;
 
file.open("primer.txt",ios_base::app | ios_base::in); 
if (!file) {
    cout << "Файл не открыт!\n";
    return -1;
}
Primer tmp;
while (file >> tmp.x >> tmp.z >> tmp.y)
primers.push_back(tmp);
       
if(z == '+') {
    cout << "x + y = " << (a=x+y) << endl;
}
else if (z == '-') {
    cout << "x - y = " << (a=x-y)<< endl;
}
else if (z == '*') {
    cout << "x*y = " << (a=x*y)<< endl;
}
else if (z == '/') {
    cout << "x/y = " << (a=x/y) << endl;
}
else {
    cout << "Не верный арифметический знак!\n";
}
 
file << x;
file << z;
file << y;
file << "=";
file << a;
    
file.close();
    
system("pause");
return 0;   
}
0
183 / 169 / 92
Регистрация: 13.06.2018
Сообщений: 696
10.07.2018, 12:53 12
навожу
C++
1
2
3
for(int i=0; i<primers.size(); i++)
{
primers[i].XXX
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.07.2018, 12:53
Помогаю со студенческими работами здесь

Выполнение арифметических операций в TextBox
Добрый вечер, я совсем новичек, и как бы я не ломал голову, не могу решить поставленную задачу:...

Выполнение арифметических и логических операций
В каждом из заданий переменные a, b, c, d определяются в сегменте данных и имеют размерность...

Выполнение арифметических операций с массивами
Подскажите как написать данную ниже программу в Visual Basic? Хочу научиться по примеру писать...

Выполнение простых арифметических команд
Прошу помочь с программой,потому что этот язык програмирования мне не известен a*b-c Размерность...

Выполнение арифметических операций над числами
В C # введите программу, которая запрашивает и читает два числа с клавиатуры. После этого программа...

Клиент-сервер, выполнение арифметических операций
Клиентская программа оправляет на сервер пару целых чисел a и b, а также символ арифметической...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru