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

Строки+ООП=жесть? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти сумму элементов массива, равных среднему арифметическому всех элементов массива http://www.cyberforum.ru/cpp-beginners/thread14187.html
здравствуйте я студентка первого курса и мы изучаем С и С++ работам в борланде моя задача,над которой я бьюсь, на одномерный массив задача:найти сумму элементов массива,равных среднему...
C++ Построение графика функций Спасибо всем заранее,кто откликнулся!!! С чего начинать и чем заканчивать (в общем случае) построение графиков в С++. Dev c++ 4.9 Если это не очень сложно и ли нудно помогите с лабораторкой:сама... http://www.cyberforum.ru/cpp-beginners/thread14180.html
C++ Работа с битами
Я уже задолбался... :wall: Может мне кто нибудь подскажет как из 00111010 (58) получить 00001010 (10) хотя бы каким методом... код я сам напишу...
Помогите исправить ошибку C++
#include <process.h> #include <stdio.h> int a; void Thread( void* pParams ) { int i, num = 0; while ( 1 ) { for ( i = 0; i < 5; i++ ) a = num;
C++ Простенькая задача http://www.cyberforum.ru/cpp-beginners/thread14144.html
Помогите пожалуйста с простенькой задачой. Известно S сумма деталей.Так же изввестно что 3 человека делали эти детали.Известно что 2 из них сделали одинаковое количество деталей.А третий в 2 раза...
C++ Преобразовать двухмерный массив в трехмерный Есть двухмерный массив a. Необходимо добавить ему еще одну размерность. Как это сделать в рамках функции? void IncreaseField (int **a, int col, int row) { for (int i1 = 0; i1 < row; i1++) {... подробнее

Показать сообщение отдельно
FLeX
0 / 0 / 0
Регистрация: 18.10.2008
Сообщений: 5

Строки+ООП=жесть? - C++

18.10.2008, 01:19. Просмотров 2467. Ответов 8
Метки (Все метки)

Я, наверное, зря начал освоение ООПа с C++, да еще и с работ со строками, но тем не менее уже дело чести, по-моему, добить данную программу. Листинг программы и ошибок выдаю ниже. Помогите, кто чем может
Программа:
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
#include "iostream"
#include "conio.h"
#include "stdio.h"
#include "string"
using namespace std;
 
class db
{
public:
    static string read_string(int string_number)
    {   
        FILE *file_input;
        if ((file_input = fopen("d:\\fi.txt", "r"))==0)
            {
        cout<<"Open entrance file error";
        getch();
        return 0;
            }
        string str1;
        const int length=36;
        fseek(file_input, (length+1)*string_number, SEEK_SET);
        fread(&str1, length-1, 1, file_input);
        fclose(file_input);
        return str1;    
    }
};
class monitor
{
private:
    string type;
    int retail, wholesale;
    string comments;
public:
    monitor(int id=1)
    {
        string str2;
        str2=db::read_string(id);
        type&=assign(string& str2, 0, 8);
        wholesale=atoi(&str2[9]);
        retail=atoi(&str2[14]);
        comments&=assign(string& str2,19,16);
        return 0;
    }
};
 
int main()
{   
    int number_string;
    cout<<"Enter string number";
    cin>>number_string;
    monitor output(number_string);
    cout<<"Type of monitor: "<<output.type<<"\nWholesale: "<<output.wholesale<<"\nRetail: "<<output.retail<<"\nComments: "<<output.comments;
    getch();
    return 0;
}
Ошибки:

------ Build started: Project: projects, Configuration: Release Win32 ------
Compiling...
projects.cpp
.\projects.cpp(13) : warning C4996: 'fopen' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(234) : see declaration of 'fopen'
Message: 'This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\projects.cpp(16) : warning C4996: 'getch' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\conio.h(145) : see declaration of 'getch'
Message: 'The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.'
.\projects.cpp(38) : error C2275: 'std::string' : illegal use of this type as an expression
C:\Program Files\Microsoft Visual Studio 8\VC\include\xstring(2090) : see declaration of 'std::string'
.\projects.cpp(38) : error C3861: 'assign': identifier not found
.\projects.cpp(41) : error C2275: 'std::string' : illegal use of this type as an expression
C:\Program Files\Microsoft Visual Studio 8\VC\include\xstring(2090) : see declaration of 'std::string'
.\projects.cpp(41) : error C3861: 'assign': identifier not found
.\projects.cpp(42) : error C2534: 'monitor' : constructor cannot return a value


Программа должна прочитать файл fi.txt (в котором определенным образом упорядочена информация о нескольких мониторах построчно), в классе db описывается процесс чтения необходимой строки, в классе monitor всё это дело из строки разбивается по отдельным переменным для более удобного доступа. В данном случае main() и ее ошибки даже не имеют значения - проблема в классах/строках. Только вот где - понять трудно.
Заранее спасибо
P.S. Всё это дело пишу под VS 2005
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru