Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Заблокирован

Удалить структуру с фамилией введенной пользователем

05.06.2017, 20:22. Показов 640. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include "stdafx.h"
#include <Windows.h>
#include <locale>
#include <iostream>
#include <fstream>
using namespace std;
//создание файла из элементов типа person
struct person
{
char fio[50];
char dol[50];
int year;
int zar;
 
};
int main()
{
    setlocale (0,"");
    SetConsoleCP(866);
    SetConsoleOutputCP(866);
person *mas;//динамический массив
fstream f("1.txt",ios::out);//двунаправленный файловый поток
const int n=1;
mas=new person[n];//создаем динамический массив
for (int i=0;i<n;i++)
{
//ввод одного элемента типа person из стандартного потока cin
    cout<<"Введите ФИО: ";
    cin>>mas[i].fio;
    cout<<"Введите должность: ";
    cin>>mas[i].dol;
    cout<<"Введите год рождения: ";
    cin>>mas[i].year;
    cout<<"Введите зарплату: ";
    cin>>mas[i].zar;
}
//запись элементов массива в файловый поток
for(int i=0;i<n;i++)
{
        
    f<<mas[i].fio;f<<"\n";
    f<<mas[i].dol;f<<"\n";
    f<<mas[i].year;f<<"\n";
    f<<mas[i].zar;f<<"\n";
 
}
 f.close();//закрытие потока
 
//чтение элементов из файла
person p;
f.open("1.txt",ios::in);//открываем поток для чтения
do
{
/*читаем элементы типа person из файлового потока f в переменную p*/
    f>>p.fio;
    f>>p.dol;
    f>>p.year;
    f>>p.zar;
// если достигнут конец файла, выходим из цикла
    if (f.eof())break;  
    //вывод на экран
cout<<"ФИО: "<<p.fio<<" "<<"Должность: "<<p.dol<<" "<<"Год рождения: "<<p.year<<" "<<"Зарплата: "<<p.zar<<"\n";
    
}
while(!f.eof());
f.close();//закрытие потока
system ("pause");
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.06.2017, 20:22
Ответы с готовыми решениями:

Описать структуру Note, вывод информации о человеке c указаной фамилией
Помогите пожалуйста с программой в C++ Вот задание: Описать структуру с именем NOTE, содержащую следующие поля: — фамилия, имя; —...

Из введенной пользователем строки выбрать слово с заданным пользователем номером и вывести это слово на экран
Здравствуйте. Если можете, помогите, пожалуйста, написать программу, которая выводит на экран из введенной пользователем строки слово с...

Структура "Студент", найти средний балл студента с введенной фамилией
Всем привет, сообственно не могу сделать задание, помогите ))). Поля структуры: код студента, фамилия, предмет, оценка. Операция: найти...

5
Заблокирован
06.06.2017, 09:43  [ТС]
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
#include "stdafx.h"
#include <locale>
#include <windows.h>
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <fstream>
#include <cstring>
using namespace std;
struct person
{
char fio[50];
char dol[50];
int year;
int zar;
};
int main()
{
    setlocale (0,"");
    SetConsoleCP(866);
    SetConsoleOutputCP(866);
person *mas;//динамический массив
fstream f("1.txt",ios::out);//двунаправленный файловый поток
const int n=2;
mas=new person[n];//создаем динамический массив
for (int i=0;i<n;i++)
{
    cout<<"Введите ФИО: ";
    cin>>mas[i].fio;
    cout<<"Введите должность: ";
    cin>>mas[i].dol;
    cout<<"Введите год рождения: ";
    cin>>mas[i].year;
    cout<<"Введите зарплату: ";
    cin>>mas[i].zar;
}
for(int i=0;i<n;i++)
{   
    f<<mas[i].fio;f<<"\n";
    f<<mas[i].dol;f<<"\n";
    f<<mas[i].year;f<<"\n";
    f<<mas[i].zar;f<<"\n";
}
char fam [50];
cout <<"Введите фамилию,которую хотите удалить: ";
cin>>fam;
int c;
    for (int i=0;i<n;i++)
        if (mas[i].fio == fam )
        {
        delete mas[i].fio;
        c=0;
        }
    if (c!=0)
        cout <<"Нет результатов по поиску фамилии!";
    getch();        
 f.close();//закрытие потока
person p;
f.open("1.txt",ios::in);//открываем поток для чтения
do
{
    f>>p.fio;
    f>>p.dol;
    f>>p.year;
    f>>p.zar;
    if (f.eof())break;  
cout<<"ФИО: "<<p.fio<<" "<<"Должность: "<<p.dol<<" "<<"Год рождения: "<<p.year<<" "<<"Зарплата: "<<p.zar<<"\n";
}
while(!f.eof());
f.close();//закрытие потока
system ("pause");
}
0
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
06.06.2017, 09:56
строка 49: Вы не можете так сравнивать строки. Используйте strcmp()
строка 51: Вы не можете так удалять fio. delete предназначен для освобождения памяти, выделенной new

Добавлено через 46 секунд
строка 69: ?
1
Заблокирован
06.06.2017, 10:51  [ТС]
Подскажите,как исправить,пожалуйста.

Добавлено через 9 минут
Цитата Сообщение от oldnewyear Посмотреть сообщение
Используйте strcmp()
Использую
Цитата Сообщение от oldnewyear Посмотреть сообщение
strcmp()
и все равно не работает ,даже просто при поиске(

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cout <<"Введите фамилию: ";
cin>>fam;
    int c;
    for (int i=1;i<n+1;i++)
    {
        if ( strcmp(mas[i].fio, fam) == 0)
        {
        cout<<mas[i].fio;
        c=0;
        break;
        }
    }
            
    if (c!=0)
        cout <<"Нет результатов по поиску!";
    getch();
0
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
06.06.2017, 12:43
Зачем?
C
1
for (int i=1;i<n+1;i++)
надо
C
1
for (int i=0;i<n;i++)
1
Заблокирован
06.06.2017, 12:54  [ТС]
А не подскажите как удалить фамилию? Занести данные в файл и вывести на экран уже без нее ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.06.2017, 12:54
Помогаю со студенческими работами здесь

Посчитать длину введенной пользователем строки
помогите решить легкую задачку пользователь вводит строку с экрана посчитать ее длину.

Извлечение данных из введенной пользователем строки
Подскажите как написать или что нужно исправить в том что я написал чтобы пользователь вводил данные в этом формате, сохранить значение в...

Из строки введенной пользователем выбрать символы
Из строки введенной пользователем выбрать символы, встречающиеся только один раз.

Создать структуру "Пациент". Реализовать функцию, которая вычисляет количество визитов пациента с заданной фамилией в период лет
Создать структуру &quot;Пациент&quot;, имеющую поля - &quot;Единый регистрационный номер&quot; (длинное целое), &quot;Фамилия&quot;, &quot;Год посещения&quot;,...

Считывание нескольких чисел из введенной пользователем строки
В общем, заголовок передает суть того, что мне нужно от кода. Пользователь в консольном приложении вводит строку, содержащую несколько (3,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru