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

Файл: Изменить программу таким образом чтобы ввод исходных данных осуществлялся из файла, результат также должен выводиться в файл - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Портировать программу с графиком из Pascal в С++ (метод наименьших квадратов) http://www.cyberforum.ru/cpp-beginners/thread544554.html
имеется код программы , которая реализует метод наименьших квадратов и строит графики. Может ли кто-то переписать код под С++ или рассказать как это сделать самой? Подскажите, пожалуйста, для чего какая процедура и как реализовать график в С++ ? program MNK; uses math,graph,SysUtils,crt; type ar_t=array of arrayof real; array_type=array of real; Var...
C++ Сортировка матрицы построчно. Упорядочить все строки матрицы по числу элементов, кратных 3, т.е. на первое место поставить строку с наименьшим числом таких элементов и тд., на последнее место - с наибольшим числом таких элементов. Помогите пожалуйста!!! не правильно сортируется матрица. вот то на чем я остановился: #include "stdafx.h" http://www.cyberforum.ru/cpp-beginners/thread544552.html
C++ Найти число, полученное при прочтении цифр числа справа налево
дано трёхзначное число.найти число, полученное при прочтении его цифр справа налево. помогите пожалуйста
Найти ошибку в рабочей проге C++
Всем привет! Помогите решить небольшую проблему: рабочая программа, но результат почему то выводит не тот, что надо, а точнее вообще не выводит. Хотя все считывает...Очень прошу помогите пожалуйста! Условие задачи надеюсь пригодится: даны сведения о результатах аттестации: ФИО студента, название пяти предметов и баллы, полученные по каждому предмету. Вывести фамилии студентов, не аттестованных...
C++ Дана строка, содержащая текст. Найти длину самого короткого слова. http://www.cyberforum.ru/cpp-beginners/thread544528.html
Помогитеее пожалуйста срочно!
C++ Динамический массив помогите с задачей..я не понял её))мне на контрольную её задали..КАКОЕ ЧИСЛО ВСТРЕТИТСЯ В МАССИВЕ РАНЬШЕ МАКСИМАЛЬНОЕ ИЛИ МИНИМАЛЬНОЕ? подробнее

Показать сообщение отдельно
Ieroglif
 Аватар для Ieroglif
18 / 18 / 1
Регистрация: 23.06.2011
Сообщений: 237
20.04.2012, 13:46     Файл: Изменить программу таким образом чтобы ввод исходных данных осуществлялся из файла, результат также должен выводиться в файл
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
// with_f.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
//#include "stdio.h"
using namespace std; 
 
int main()
{
    setlocale (LC_ALL,"RUS");
    //char puth[256], puth_[256]; для ручного ввода
    string str;
    
    int n=0, str_k, var=0, i=0, z=0, g=0, j=0, simv, vspom=0,c=0, podch=0, buff=0,ofigel=0,br=0;
    int pens=0, moll=0, proch=0;
    char ch_fam[15], ch_sex;
    float pens_pr, proch_pr;
 
    //cout<<"Введите путь к исходному файлу: "; cin>>puth;  можно сделать ручнной ввод пути к файлу
    ifstream my_file;
    //my_file.open(puth);
    my_file.open("1st.txt");
    if(!my_file) cout<<"\nОшибка открытия файла!"<<endl<<endl; else cout<<"\nФайл успешно открыт!"<<endl<<endl;
    
    while(!my_file.eof()){//кол-во строк в файле
        my_file>>str;
        n++;}
    cout<<endl;
    str_k=n;//кол-во строк, в дальнейшем понадобится жёсткий учёт строк
    n=(n/4);//подсчитывает кол-во эл-в для матриц и массивов = кол-ву человек
    //далее - создание массивов и матриц
    
    my_file.clear();//чист eof
    my_file.seekg(0);//ставим метку на нулевой байт файла
     
    char** fam=new char*[n];//создаём матрицу для фамилий
    for(i;i<n;i++){fam[i]=new char[15];}
    int* age=new int[n]; //новый массив для возраста
    char* sex=new char[n]; // массив для пола
    int* stag=new int[n];//массив для стажа
    int* simv_k=new int[n];//массив для кол-ва значащих эл-в в каждой строке матрицы фамилий
    
//начало обработки строк
    while(podch<str_k){
    if(vspom==0){
        my_file>>ch_fam;
        simv=my_file.tellg();
            i=0;
        if(ofigel==0){
            vspom=(simv-(buff-i));} else {vspom=(simv-(buff-i)-1);} 
        while(i<vspom){
            fam[c][i]=ch_fam[i];
            cout<<fam[c][i];
            i++;}
        c++; ofigel++;
        simv_k[br]=vspom;
        br++; 
        my_file>>var;
        age[z]=var;
        cout<<endl<<"age: "<<age[z]<<endl;
        z++;
        vspom++;}
    else{
        my_file>>ch_sex;
        sex[g]=ch_sex;
        cout<<"sex: "<<sex[g]<<endl;
        g++;
        my_file>>var;
        stag[j]=var;
        cout<<"stag: "<<stag[j]<<endl<<endl;
        j++;
        vspom=0;
        buff=my_file.tellg();}
    podch=podch+2;}
 
    my_file.close(); 
 
    if(!(my_file)){cout<<"Ошибка закрытия файла!"<<endl;} else cout<<"Файл успешно закрыт!"<<endl;
    for(i=0;i<n;i++){
        if((((age[i])>=55)&&((sex[i])=='w'))||(((age[i])>=60)&&((sex[i])=='m'))) pens++;
        if(((age[i])<=35) && ((stag[i])<=4))moll++;}
    proch=n-(moll+pens);
    cout<<"\nПенсионеры: "<<pens<<endl<<"Молодые: "<<moll<<endl<<"Прочие сотрудники: "<<proch<<endl;
 
    pens_pr=pens*100/n;
    proch_pr=proch*100/n;
    cout<<"Процент пенсионеров: "<<pens_pr<<"%"<<endl<<"Процент прочих сотрудников: "<<proch_pr<<"%"<<endl;
 
ofstream enter_file;
//cout<<"Введите путь к файлу-приёмнику: "; cin>>puth_;  можно сделать ручнной ввод пути к файлу
//enter_file.open(puth_);
enter_file.open("2nd.txt");
if(!enter_file){cout<<"Ошибка открытия файла!"<<endl;} else cout<<"Файл успешно открыт!"<<endl;
enter_file<<"Пенсионеры: "<<pens<<endl<<"Молодые: "<<moll<<endl<<"Прочие сотрудники: "<<proch<<endl<<"Процент пенсионеров: "<<pens_pr<<"%"<<endl<<"Процент прочих сотрудников: "<<proch_pr<<"%"<<endl;
cout<<"Идёт процесс записи..."<<endl;
enter_file.close();
if(!(enter_file)){cout<<"Ошибка закрытия файла!"<<endl;} else cout<<"Файл успешно закрыт!"<<endl;
 
    system("pause");
    return 0;}
Вложения
Тип файла: txt 1st.txt (79 байт, 8 просмотров)
Тип файла: txt 2nd.txt (108 байт, 8 просмотров)
 
Текущее время: 00:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru