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

Структуры и файлы. Написал прогу. Вопрос - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Что-нибудь есть по шифрованию текста? http://www.cyberforum.ru/cpp-beginners/thread384866.html
В общем тут уже написал, сдал, попросили помочь ещё... Но ограничен идеями... Может кто-то поможет придумать какой-нить не сложный алгоритм на основе ASCII кодов и их замены. Что-нить примитивное, сам использовал метод XOR для клча и слова.
C++ ошибка компилятора Всем привет! Я пытаюсь скомпилировать код, но компилятор выдает ошибку! class fileParser { private: int * fBuff; int * pMarker; http://www.cyberforum.ru/cpp-beginners/thread384864.html
работа с контейнерами. вопросы по программе. C++
задача иллюстрирующая работу с контейнерами. в результате ее прогона на экран выводятся числа от 0 до 9. не могли бы вы объяснить буквально на пальцах прогу? а то я смотрю на нее и не понимаю. причем, к сожалению, не понимаю все с самого начала. я откомментировала что и как понимаю, а так же свои вопросы. #include "stdafx.h" #include <iostream> #include "conio.h" #include <exception> ...
C++ Найти минимальный и максимальный элементы контейнера и поменять их местами.
вот собственно и задача Найти минимальный и максимальный элементы контейнера и поменять их местами.
C++ Выводить на экран вводимые символы до тех пор, пока не введен символ <*> http://www.cyberforum.ru/cpp-beginners/thread384835.html
Напишите программу, которая будет выводить на экран вводимые символы до тех пор, пока не введен символ <*>. Доработайте программу таким образом, чтобы она еще и показывала количество введенных символов. Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п. Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублир
C++ Проблема с постановкой алгоритма Проблема в том, что я недавно начал изучать C/C++ и попалась мне задачка, программировать у меня получается вроде нормально, а вот алгоритмы придумывать не умею. Помогите, пожалуйста, помочь построить алгоритм к этой программе. Буду очень признателен.)) Приближалась весна и подготовка к ней была в полном разгаре: Шарик продолжал эксперименты по выпиливанию нестандартных шахматных досок,... подробнее

Показать сообщение отдельно
Витaлиk
1 / 1 / 0
Регистрация: 25.10.2011
Сообщений: 49
15.11.2011, 23:48     Структуры и файлы. Написал прогу. Вопрос
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
// 10.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <conio.h>
#include <Windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define size 20
#define rate 3
#define sad 4
#pragma warning(disable : 4996)
#pragma warning(disable : 4244)
 
 
using namespace std;
 
struct medicine
{
    char name[size];
    int kol;
    float cena;
    float ves;
};
 
void input (medicine medic[], FILE* file)
{
    char str [size];
    char g [size];
    float r;
    int r1;
 
    for (int i = 0; i < rate; i++)
    {
        cin.sync();
        system ("cls");
        
        printf ("Заполнение информации по лекарству № %d \nВведите название лекарства\n",i+1);
        cin.getline (str, size);
        strcat_s (str, "\n");
        fputs (str, file);
 
        printf ("Введите кол-во лекарства\n");
        cin >> r1;
        _itoa_s (r1, g, 10);
        strcat_s (g,"\n");
        fputs (g,file);
        cin.sync();
 
        printf ("Введите цену лекарства\n");
        cin >> r;
        _itoa_s (r, g, 10);
        strcat_s (g, "\n");
        fputs (g, file);
        cin.sync();
 
        printf ("Введите вес лекарства\n");
        cin >> r;
        _itoa_s (r, g, 10);
        strcat_s (g, "\n");
        fputs(g, file);
    }
}
 
void output (medicine medic[], FILE* file)
{
    char str[size];
 
    for(int i = 0; i < rate; i++)
    {
        strcpy_s (medic[i].name, fgets (str, size, file));
        medic[i].kol = atoi (fgets (str, size, file));
        medic[i].cena = atof (fgets (str, size, file));
        medic[i].ves = atof (fgets (str, size, file));
    }
    system ("cls");
    cout << "Название "<< " " << "Количество " << " " << "Цена " << "      " << "Вес " <<  endl;
    for (int i = 0; i < rate; i++)
    {
        printf("%s %10d %14.2f %10.2f", medic[i].name, medic[i].kol, medic[i].cena, medic[i].ves);
        cout<<'\n';
    }
}
 
void calculations (medicine medic[])
{
    float sumves = 0, sumkol = 0, ser;
 
    for (int i = 0; i < rate; i++)
    {
        sumves+= medic[i].ves;
        sumkol+= medic[i].kol;
        ser = sumkol / rate;
    }
    printf("\nСумарна вага лiкiв %.2f\nСумарна кiлькiсть лiкiв %.0f\nСередня кiлькiсть лiкiв %.2f\n", sumves, sumkol, ser);
}
 
void menu ()
{
    setlocale (LC_CTYPE,"");
    medicine medic[sad];
    FILE* file;
    
    for( ; ; )
    {
        printf ("Виберiть пункт меню\n1) Введення данних користувачем з їх подальшим виведенням\n2) Вихiд\n");
        
        int v;
        cin>>v;
        
        switch (v)
        {
            case 1:
                system("cls");
                if ((file = fopen ("medicine.txt","w+t"))==NULL)
                {
                    printf("Cannot open output file\n");
                    exit(1) ;
                }
                input(medic, file);
                fclose (file);
                if ((file = fopen ("medicine.txt","r+t"))==NULL)
                {
                    printf("Cannot open output file\n");
                    exit(1);
                }
                output (medic, file);
                fclose (file);
                calculations (medic);
            
                printf("Бажаєте повторний запуск програми? (Y/N)\n");
                char n;
                cin>>n;
                switch (n)
                {
                    case 'Y':
                    case 'y': break;
                    case 'N':
                    case 'n': exit (1);
                }
                break;
            case 2: exit(1); break;
            default: cout << "Ви ввели не вірну літеру\n"; break;
        }
    }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    menu();
    system("pause");
    return 0;
}
Почему при выводе после Название происходит перенос на новую строку. Еще нужно продемонстрировать паботу функций fwrite() fread(), что у меня вызвало проблему.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru