Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 21.03.2019
Сообщений: 89
1

Определить на какой бумаге больше заказов

17.04.2019, 22:45. Показов 1879. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста, не получается посчитать сумму заказов на матовой и глянцевой бумаге. Подскажите, что я делаю не так, в чем проблема? Заранее благодарю))

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
#include <iostream>
#include <clocale>
#include <fstream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
 
using namespace std;
 
int main()
{
    fstream F;
    setlocale(LC_ALL, "Russian");
    struct Photo
    {
                char type_of_paper[20];
        int quantity;
    };
    Photo n[10];
    //Считывание из файла
    ifstream fin("E:\\FIO.txt");
    int b = 10;
    
    ifstream f2in("E:\\type_of_paper.txt");
    for (int i = 0; i < b; i++)
    {
        f2in >> n[i].type_of_paper;
    }
    f2in.close();
    ifstream f3in("E:\\quantity.txt");
    int buf = 0;
    for (int i = 0; i < b; i++)
    {
        f3in >> n[i].quantity;
    }
    f3in.close();
 
        for (int i = 0; i < b; i++)
    {
        cout << n[i].type_of_paper << "         \t";
        cout << n[i].quantity << "        \t";
    }
    cout << endl;
    F << endl;
       //На какой бумаге больше заказов
        int  igl = 0, imat = 0, ip;
    for (int i = 0; i < b; i++)
    {
        if (n[i].type_of_paper == "глянцевая")
            igl += n[i].quantity;
        if (n[i].type_of_paper == "матовая")
            imat += n[i].quantity;
    }
        if (igl > imat)
        cout << "Больше всего заказов на глянцевой бумаге: " << igl  << " штук" <<  endl;
        else cout << "Больше всего заказов на матовой бумаге: " << imat  << " штук" <<  endl;
    system("pause");
    return 0;
}
Вложения
Тип файла: txt quantity.txt (31 байт, 2 просмотров)
Тип файла: txt type_of_paper.txt (99 байт, 5 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2019, 22:45
Ответы с готовыми решениями:

Страница с формами редактирования заказов + постраничный вывод = пустышки, если кол. заказов < заказов на стр.
Добрый день. Есть у меня страничка обновления заказов с вот таким кодом &lt;? /* Соединяемся с...

Определить, какой из прямоугольников больше
Давным давно был два королевства. И их короли постоянно спорили, чье королевство больше. Известно,...

Определить, площадь какой трапеции больше
Столкнулся с проблемой, не могу решить задачу подобного типа, общаюсь за помощью к вам. Задача....

Определить, площадь какой из фигур больше
Определить площадь квадрата (со стороной a) и окружности (радиуса R). Определить, площадь какой...

4
1709 / 1109 / 337
Регистрация: 25.01.2019
Сообщений: 2,910
17.04.2019, 22:59 2
Лучший ответ Сообщение было отмечено Лена Есеева как решение

Решение

Цитата Сообщение от Лена Есеева Посмотреть сообщение
C++
1
char type_of_paper[20];
Цитата Сообщение от Лена Есеева Посмотреть сообщение
C++
1
if (n[i].type_of_paper == "глянцевая")
Цитата Сообщение от Лена Есеева Посмотреть сообщение
C++
1
if (n[i].type_of_paper == "матовая")
C++
1
if(!strcmp(n[i].type_of_paper, "матовая"))
1
1 / 1 / 0
Регистрация: 21.03.2019
Сообщений: 89
17.04.2019, 23:06  [ТС] 3
Folian, то есть в 49 и в 51 строки надо вставить
if(!strcmp(n[i].type_of_paper, "матовая")) и
if(!strcmp(n[i].type_of_paper, "глянцевая"))?
char type_of_paper[20]; это тут у меня сбилось что-то, так все равно стоит
0
1709 / 1109 / 337
Регистрация: 25.01.2019
Сообщений: 2,910
17.04.2019, 23:34 4
Лучший ответ Сообщение было отмечено Лена Есеева как решение

Решение

Цитата Сообщение от Лена Есеева Посмотреть сообщение
char type_of_paper[20]; это тут у меня сбилось что-то, так все равно стоит
Ничего не сбилось.
Для сравнения таких строк("массив символов") есть ф-я strcmp(...).
"==" работать правильно не будет.
1
1 / 1 / 0
Регистрация: 21.03.2019
Сообщений: 89
17.04.2019, 23:53  [ТС] 5
Folian, а, я не про то подумала, извиняюсь. Завтра попробую с strcmp(...) сделать, надеюсь все получится, спасибо))
0
17.04.2019, 23:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2019, 23:53
Помогаю со студенческими работами здесь

Определить в какой строке больше цифр
Ввести 2е строки, определить в какой из них больше цирф

Определить у какой из фигур площадь больше
Приветствую всех!!! На 4 курсе института начали преподовать программирование на языке С++ и сразу...

Определить, в какой строке больше цифр
Посимвольно вводятся 2 строки длиной до 80 сиимволов Определить, в какой строке больше цифр: в...

Определить в какой день он пробежит больше 20 км
Начав тренировки, лыжник в первый день пробежал 10 км. Каждый следующий день он увеличивал длину...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru