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

Вывести из файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ типизированные файлы http://www.cyberforum.ru/cpp-beginners/thread1050954.html
Файл f содержит буквы латинского и русского алфавитов. Занести в файл h только латинские буквы, а в файл g - только русские буквы.помогите пожалуйста очень надо, начало начала делать, а как продолжить не знаю.. using namespace std; int main(int argc, char* argv) { ifstream in("f.txt"); ofstream out("g.txt"); ofstream out("h.txt");
C++ Дан массив. Верно ли, что максимальный элемент превышает минимальный не более чем на 25 Здравствуйте! Господа программисты, помогите решить задачу простым языком через int, будьте так добры. Вопрос жизни и смерти Дан массив. Верно ли, что максимальный элемент превышает минимальный не более чем на 25 http://www.cyberforum.ru/cpp-beginners/thread1050950.html
Перевести с pascal на c++ C++
Помогите тоже перевести из Pascal в с+ visual studio 6.0 Нашел тут похожую на свою задачу, хочу разобраться, но учу только с++ (( type mas=array of integer; procedure MergeSort(var m:mas;n:integer); var c:boolean; i,i1,i2,n1,n2,j,k,tmp,len:integer; b:mas; begin
C++ Нужен аналог Borland C++
Подскажите пожалуйста аналог Borland C++ для 64-х разрядной 7-ки. Через досбокс работает не стабильно. Мне важно что программы писать можно было на "чистом" С++ без разных домесей и примочек скажем как в Вижуал С++ или РАД Студио.
C++ Объясните о swap() http://www.cyberforum.ru/cpp-beginners/thread1050938.html
Есть такое задание: Описать процедуру Minmax(x,y) записывающую в переменную Х минимальное из значений Х и Y, а в переменную Y – максимальное из этих значений (X и Y- вещественные параметры, являющиеся одновременно входными и выходными) использовать четыре вызова этой процедуры, написать минимальное и максимальное из данных чисел A,B,C,D. Может есть другое какое-то решение, но я использовал код...
C++ Найти сумму между соответствующими числами первой и второй строки Здравствуйте, помогите пожалуйста с задачей. Суть задачи: С клавиатуры вводятся две строки, содержащие одинаковое количество целых чисел. Числа разделены между собой пробелом. Найти сумму между соответствующими числами первой и второй строки и вывести результат на экран. Исходные строки вводятся с клавиатуры. Обработка строк должна осуществляться посимвольно (использование функций... подробнее

Показать сообщение отдельно
ВАваф
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 49

Вывести из файла - C++

21.12.2013, 17:48. Просмотров 192. Ответов 1
Метки (Все метки)

1) Есть список фамилий(который задается в файле). Нужно вывести мужские, женские фамилии и фамилии, по которым нельзя определить пол. В общем, программа написано(конечно, не все окончания возможные перебрал), но вот теперь не знаю, как вывести из документа, т.к. использую вектор для задачи, помогите, пожалуйста
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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <vector>
#include <string>
#include <clocale>
#include <windows.h>
#include <stdio.h>
#include <fstream>
#define FName "stroka.txt"
using namespace std;
int main ()
{setlocale(LC_ALL, "");
SetConsoleCP (1251);
SetConsoleOutputCP (1251);
vector<string> fam1;
vector<string> fam2;
vector<string> fam3;
std::vector<std::string> students; // Создание вектора из строк
std::string mesto = "";    // Буфер для ввода фамилии студента
/*std::cout << "Вводите фамилии студентов, "
              << "по окончанию ввода, введите пустую строку" << std::endl;
do {
        std::getline(std::cin, mesto);
        if (mesto.size() > 0) { setlocale(LC_ALL, "");           // Добавление элемента в конец вектора
            students.push_back(mesto);
        }
    } while (mesto != "");              
unsigned int vector_size = students.size();     // Сохраняем количество элементов вектора 
std::cout << "Фамилии:" << std::endl;
    for (int i = 0; i < vector_size; i++) {             // Вывод заполненного вектора на экран
        
        std::cout << students[i] <<"  "; 
    }*/
cout<<endl<<endl;
ifstream F1(FName,ios::in);
if (!F1) {cout <<"Нельзя открыть документ "<<FName;
_getch ();
return 1;
}
else
{int vector_size = students.size();
    for (int i = 0; i <students.size() ; i++)
        {F1>>students[i];
    cout <<setw(6)<<students[i];}
 
    for (int i=0;i<students.size();++i)
    {
        const char *x=students[i].c_str();
        for (int j=0;j<students[i].size();++j)
        {
            if (*(x+j+1)=='\0' && *(x+j)=='а') fam1.push_back(students[i]);
            else if(*(x+j+1)=='\0' && *(x+j)!='а' && *(x+j)!='о') fam2.push_back(students[i]);
            else if(*(x+j+1)=='\0' && *(x+j)=='о') fam3.push_back(students[i]);
        }
    }
    cout <<"Женские фамилии:"<<endl;
for (int i=0;i<fam1.size();++i)
{
cout<<fam1[i]<<" ";
}
cout<<endl<<"Мужские фамилии:"<<endl;
for(int i=0;i<fam2.size();++i)
{
cout<<fam2[i]<<" ";
}
cout<<endl<<"Нельзя определить пол:"<<endl;
for(int i=0;i<fam3.size();++i)
{
    cout<<fam3[i]<<" ";
}
}
F1.close ();
_getch ();
    return 0;
}
Вот что пытался сделать, но что-то не понимаю...

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
#include "stdafx.h"
#include<iostream>
#include<vector>
#include<conio.h>
#include <string>
#include <clocale>
#include <windows.h>
#include <iomanip>
#include <cstdio>
#include <stdio.h>
#include <fstream>
#define FName "nomer.txt"
#define N 10
using namespace std;
struct basa
{
int nomer;
int kod;              
int data;
int min;
int sum;
}s;
int main() 
{setlocale(LC_ALL, "");
vector <basa> p;
int nomer1=0,kod1=0,data1=0,min1=0,sum1=0,sh=1,d,n,k,chet=0;
/*while((cout<<"Введите номер телефона(база"<<sh<<"): ",cin>>nomer1) && (cout<<"Введите код города(база"<<sh<<"): ",cin>>kod1) && (cout<<"Введите дату разговора(база"<<sh<<"): ",cin>>data1) && (cout<<"Введите время разговора(база"<<sh<<"): ",cin>>min1) && (cout<<"Введите сумму к оплате(база"<<sh<<"): ",cin>>sum1))
{
    cout<<"Введите любую букву, чтобы закончить ввод данных. Если база не будет завершена, данные базы не будут рассматриваться программой."<<endl;
cout<<endl;
    s.nomer=nomer1;
s.kod=kod1;
s.data=data1;
s.min=min1;
s.sum=sum1;
p.push_back(s);
sh++;
}*/
ifstream F1(FName,ios::in);
if (!F1) {cout <<"Нельзя открыть файл "<<FName;
_getch ();
return 1;
}
else
{while (!F1.eof()) 
{
    F1>>s.nomer;
    F1>>s.kod;
    F1>>s.data;
    F1>>s.min;
    F1>>s.sum;
p.push_back(s);
    chet++;
}
for (int i=0;i<p.size();++i) cout<<endl<<"База №"<<i+1<<endl<<"Номер телефона: "<<p[i].nomer<<endl<<"Код города: "<<p[i].kod<<endl<<"Дата разговора: "<<p[i].data<<endl<<"Время разговора(в минутах): "<<p[i].min<<endl<<"Сумма к оплате: "<<p[i].sum<<endl;
cout<<endl;
cout<<endl;
cout<<"Введите начальную дату: ";
cin>>n;
cout<<"Введите конечную дату: ";
cin>> k;
cout<<"Дата с "<<n<<" числа до "<<k<<endl;
for (int i=0;i<p.size();++i)
{for (int j=n;j<=k;++j)
{
    if (j==p[i].data)
    {
        cout<<endl<<"В день "<<j<<" использовался номер из базы "<<i+1<<endl<<"Номер телефона: "<<p[i].nomer<<endl<<"Код города: "<<p[i].kod<<endl<<"Дата разговора: "<<p[i].data<<endl<<"Время разговора(в минутах): "<<p[i].min<<endl<<"Сумма к оплате: "<<p[i].sum<<endl;
    }
    else cout <<"В базе "<<i+1<<" не обнаружена дата "<<j<<endl;
}
}
cout<<endl;
cout<<"Введите дату: ";
cin>>d;
cout <<"День "<<d<<endl;
for (int i=0;i<p.size();++i)
    {
        if (d==p[i].data) 
        {
            cout<<endl<<"В этот день использовался номер из базы "<<i+1<<endl<<"Номер телефона: "<<p[i].nomer<<endl<<"Код города: "<<p[i].kod<<endl<<"Дата разговора: "<<p[i].data<<endl<<"Время разговора(в минутах): "<<p[i].min<<endl<<"Сумма к оплате: "<<p[i].sum<<endl;
        }
    else cout <<"В базе "<<i+1<<" нет похожей даты"<<endl;
}
}
F1.close();
_getch ();
return 0;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru