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

Мусор при правильном считывание данных из файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Необходимо найти сумму, произведение, частное, разность, максимум и минимум двух чисел a и b http://www.cyberforum.ru/cpp-beginners/thread792700.html
Здравствуйте. Помогите пожалуйста решить. Задание. Необходимо найти сумму, произведение, частное, разность, максимум и минимум двух чисел a и b. Причем a и b - целые числа от -100 до 100 неравные нулю. Ответ должен содержать соответсвующие числа в вещественном формате 6 знаков после запятой в случае получения вещественного числа, если же число целое, то и вывод его должен быть как числа...
C++ Считывание с файла Прогррамма неверно считывает числа с файла.вот кусок программы int mass_in_3(int *k,int *j) { int array; FILE *f1; f1=fopen("out1.txt","r"); for(int i=0; i < *k; ++i) fscanf(f1, "%d ", &array); cout<<"Взятые из файла числа:\n"; for(int i=0; i < *k;i++) cout<<array<<" "; http://www.cyberforum.ru/cpp-beginners/thread792699.html
C++ Не правильно выводит структуру через функцию
Вот код программы: #include <iostream> using namespace std; struct Worker { char fio; int date, code; float salary; };
C++ значение типа "char *" нельзя присвоить сущности типа "LPWSTR"
значение типа "char *" нельзя присвоить сущности типа "LPWSTR" void AddColToListView(char *st, int sub, int size) { LVCOLUMN lvc; lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM; lvc.iSubItem = sub; lvc.pszText = L"1"; //-----------------> ошибка а надо вобще поставить st
C++ cin.getline() http://www.cyberforum.ru/cpp-beginners/thread792671.html
Вопрос заключается в следующем, собственно программа отказывается выполнять cin.getline(... , ...); (... - аргументы) в начале своей функции, если не написть эту строку дважды, грубо говоря он игнорит первый син.гетлайн(). Я был бы благодарен за решение этой проблемки xD #include<iostream> using namespace std; struct phonebook{ char Name; char Surname; char Phone ; };
C++ Проверьте программу Доброго дня всем. Стоит такая задача: Выполните задание 2 лабораторной работы 1, но размерности двумерного массива спросите у пользователя, а память под двумерный массив захватите динамически. Причем размер двумерного массива может не совпадать с размером одномерного - продумайте поведение программы в этом случае (это не ошибка!). Собственно задание 2 лабы 1 заключается в следующем: Из... подробнее

Показать сообщение отдельно
KostyaKulakov
Заблокирован
22.02.2013, 21:45  [ТС]     Мусор при правильном считывание данных из файла
рабочий вариант, просто изменил char* На string.

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
#include <iostream>
#include <fstream>
#include <string>
#include <string.h>
 
class Database
{
public:
    Database(){count = 0;}
 
    void  addRecord(std::string name, std::string lastname);
    std::string getNameById(int id);
    std::string getLastNameById(int id);
    int   getCount();
    void  save();
    void  load();
    void  printDatabase();
 
protected:
    int count;
    std::string name[100];
    std::string lastname[100];
};
 
int Database::getCount()
{
    return count;
}
 
void Database::addRecord(std::string name, std::string lastname)
{
    this->name[count] = name;
    this->lastname[count] = lastname;
    ++count;
}
 
std::string Database::getNameById(int id)
{
    return name[id];
}
 
std::string Database::getLastNameById(int id)
{
    return lastname[id];
}
 
void  Database::save()
{
    std::ofstream output;
    output.open("database.txt");
 
    if(!output.is_open())
    {
        std::cerr << "Error open database.txt" << std::endl;
        exit(1);
    }
    int count = getCount();
 
    for(int i=0; i < count; ++i)
        output << getNameById(i) << " " << getLastNameById(i) << std::endl;
 
    output.close();
 
}
 
void  Database::load()
{
    std::ifstream input;
    input.open("database.txt");
 
    if(!input.is_open())
    {
        std::cerr << "Error open database.txt" << std::endl;
        exit(1);
    }
 
    while(!input.eof())
    {
        std::string name;
        input >> name;
        std::string lastname;
        input >> lastname;
 
        addRecord(name,lastname);
    }
 
    input.close();
 
}
 
void Database::printDatabase()
{
    int count = getCount();
 
    for(int i=0; i < count; ++i)
        std::cout << getNameById(i) << " " << getLastNameById(i) << std::endl;
}
 
int main()
{
    Database server;
    
    server.load();
 
    /*
    server.addRecord("Kostya","Kulakov");
    server.addRecord("Lusya","Begunova");
    server.addRecord("Vanya","Frolov");
    server.addRecord("Alex","Sensei");
    */
    server.printDatabase();
 
    //server.save();
 
    return 0;
}
 
Текущее время: 03:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru