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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти сумму элементов массива, равных среднему арифметическому всех элементов массива http://www.cyberforum.ru/cpp-beginners/thread14187.html
здравствуйте я студентка первого курса и мы изучаем С и С++ работам в борланде моя задача,над которой я бьюсь, на одномерный массив задача:найти сумму элементов массива,равных среднему арифметическому всех элементов массива мое решение: #include <stdio.h> void main() {int N,S,i,t;
C++ Построение графика функций Спасибо всем заранее,кто откликнулся!!! С чего начинать и чем заканчивать (в общем случае) построение графиков в С++. Dev c++ 4.9 Если это не очень сложно и ли нудно помогите с лабораторкой:сама функция f (x) = arctg x – (x+1)/(x+2) 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++) { for (int i2 = 0; i2 < col; i2++) { a = new int // так не хочет работать. } } подробнее

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

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

18.10.2008, 01:19. Просмотров 2458. Ответов 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
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru