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

Не работают 2 функции в коде - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Замена символов в строке http://www.cyberforum.ru/cpp-beginners/thread1055474.html
Каким образом выполнять замену в строке. Очень много читал но ничего не понял. Есть какой нибудь простой пример?
C++ Переопределить клавиши с использованием ассемблера Здравствуйте! Нужна помощь в написании программы которая переопределит клавиши на клавиатуре (только буквы), но при этом надо использовать ассемблер.Всё вроде легко делается, но проблема с ассемблером я его не знаю. Помогите пожалуйста! http://www.cyberforum.ru/cpp-beginners/thread1055467.html
C++ Создать класс-шаблон, откладывающий выделение динамической памяти до первого реального обращения к массиву
нужно создать класс-шаблон, который откладывает выделение динамической памяти до первого реального обращения к массиву также нужно запрещенные конструктор копий и оператор копирующего присвоения; полноценные конструктор перемещения и оператор перемещающего присвоения перегруженные операторы доступа к элементам массива с автоматическим выделением памяти при первом обращении (версии для чтения...
C++ Пожалуйста напишите код, я новичок
1) Как рассчитать сумму всех элементов, являющихся min в своем столбце? 2) Как вывести таблицу на с++ , №-номер строки матрицы,% чисел, которые более не встречаются в матрице.
C++ Подсчитать количество слов, содержащих одинаковую группу символов http://www.cyberforum.ru/cpp-beginners/thread1055459.html
Подсчитать количество слов, содержащих одинаковую группу символов. int main() { char str,c,st = "Count of entering:"; int count, i, t, flag=0; printf("Enter string for search: "); scanf("%s",&str); for (t=0;str!='\0';t++); FILE *file;
C++ Подправьте код Постоянно ругается на choise, где бы я его не объявлял. Если можно, выложите что вы исправили, и объясните что я сделал нет так. #define _CRT_SECURE_NO_WARNINGS #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <iostream> using namespace std; подробнее

Показать сообщение отдельно
Веталя
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 54
24.12.2013, 23:37  [ТС]     Не работают 2 функции в коде
что-то такое накидал
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
void Add(char const* ppath, int num)
{
    std::ofstream ofs(ppath, std::ios::app);//открытие файла на запись, арр - сохраняет содержимое файла, если он существует
    if(ofs.bad() != true)//если файл открыт успешно
    {
        
        student tmp;//объявляем имя структуры
        for(int i = 0; i < num; ++i)
        {
            std::cout << "FIO: ";
            std::cin.sync();//очистка буфера потока cin
            std::cin.getline(tmp.name, sizeof(tmp.name));//getline -записывает в перменную n-е кол-во символов, sizeof(tmp.name) - виделяет память под размер (tmp.name)
            std::cin.getline(tmp.fam, sizeof(tmp.fam));
            std::cin.getline(tmp.ot, sizeof(tmp.ot));
            std::cout << "Adres: ";
            std::cin.getline(tmp.adds, sizeof(tmp.adds));
            std::cout << "Vozrast: ";
            std::cin >> tmp.age;
            std::cout << "Gruppa: ";
            std::cin >> tmp.group;
            ofs << tmp.name << '\n' << tmp.adds << '\n' << tmp.age << '\n' << tmp.group << '\n';//запись введённой записи в файл
 
        }
        ofs.close();//закрытие файла
    }
    else
        std::cerr << "Unable to open output file\n";
}
//Вывод файла в консоль
void Print(int num)
{
    struct student a[10];
    int i,j;
        std::cout << "\nVse zapisi:\n";
        std::ifstream ifs("c:\\Users\Spaser\Documents\Base_o.txt");
    if(ifs.bad())
    {
        std::cout<<"error";
    return;
    }
    for(i=0;i<num+3;i++)
    {
    ifs>>a[i].fam;
   ifs>>a[i].name;
   ifs>>a[i].ot;
   ifs>>a[i].adds;
   ifs>>a[i].age;
   ifs>>a[i].group;
   std::cout<<a[i].fam<<"\t"<<a[i].name<<"\t"<<a[i].ot<<"\t"<<a[i].adds<<"\t"<<a[i].age<<"\t"<<a[i].group<<std::endl;
   }
    }
    
//Редактирование или удаление записи. Удаление произойдёт если второй параметр равен true
void Edit(char const* ppath, bool rem = false)
{
    
    std::ifstream ifs(ppath);//открытие файла на чтение
    if(ifs.bad() != true)
    {
        int const arrsize = 500;
        student arr[arrsize];//массив в который будем читать
        int i;
        for(i = 0; i < arrsize; ++i)//чтение из файла в массив
        {
            ifs.getline(arr[i].name, sizeof(arr[i].name)).getline(arr[i].adds, sizeof(arr[i].adds)) >> arr[i].age >> arr[i].group;
            if(ifs.good() != true)
                break;
            ifs.getline(arr[i+1].name, sizeof(arr[i+1].name));//переход на новую строку файла
        }
        ifs.close();
        std::cout << "Vvedite nomer zapisi: ";
        int num;
        std::cin >> num;
        if(rem != true)//если запись не подлежит удалению то вводим новые данные с клавиатуры
        {
            std::cout << "FIO: ";
            std::cin.sync();
            std::cin.getline(arr[num-1].name, sizeof(arr[num-1].name));
            std::cout << "Adres: ";
            std::cin.getline(arr[num-1].adds, sizeof(arr[num-1].adds));
            std::cout << "Vozrast: ";
            std::cin >> arr[num-1].age;
            std::cout << "Gruppa: ";
            std::cin >> arr[num-1].group;
        }
        std::ofstream ofs(ppath);//открытие файла на запись
        for(int j = 0; j < i; ++j)//проход по массиву arr
        {
            if(!((j == num-1) && rem))//если текущая запись не подлежит удалению
                ofs << arr[j].name << '\n' << arr[j].adds << '\n' << arr[j].age << '\n' << arr[j].group << '\n';//запись в файл
        }
        ofs.close();
    }
    else
        std::cerr << "Unable to open input file\n";
}
//Поиск записи в файле
void Search(char const* ppath, int num)
{
    struct student a[10];
    int j, i;
    char first [20];
    std::ifstream ifs(ppath);
    if(ifs.bad() != true)
    {
        for(i=0;i<num+3 ;i++)
   {
   ifs>>a[i].fam;
   ifs>>a[i].name;
   ifs>>a[i].ot;
   ifs>>a[i].adds;
   ifs>>a[i].age;
   ifs>>a[i].group;
   std::cout<<a[i].fam<<"\t"<<a[i].name<<"\t"<<a[i].ot<<"\t"<<a[i].adds<<"\t"<<a[i].age<<"\t"<<a[i].group<<std::endl;
   }
    std::cout<<"vvedite familiyu dlya poiska\n";
    std::cin>>first;
   j=0;
   for(i=0;i<num+3;i++)
   if(strcmp (a[i].fam, first)==0)
   {
   std::cout<<"\n FIO:\n "<<a[i].fam<<" "<<a[i].name<<" "<<a[i].ot<<"\n age="<<a[i].age<<"\n adress="<<a[i].adds<<"\n group - "<<a[i].group;
  j=1;
 }
 if(j==0)
    std::cout<<"\n zapisey net"<<std::endl;
    }
}  
   void main()
{
     int num;
    char const* ppath = "c:\\Users\Spaser\Documents\Base_o.txt";//файл в котором хранятся записи
    std::cout << "Vvedite chislo zapisey: ";
       //вводим количество записей
        std::cin >> num;
    std::cout << "Dobavlenie zapisi\n";
    Add(ppath, num);
    Print(num);   
    std::cout << "Redactirovenie zapisi\n";
    Edit(ppath);
    Print(num);
    std::cout << "Udalenie zapisi\n";
    Edit(ppath, true);
    Print(num);         
    Search(ppath, num);
    system("Pause");
}
все равно print выдает ахинею
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru