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

Как в файл записать несколько сточек?

21.11.2012, 01:05. Показов 4604. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно написать программу которая будет записывать в файл ФИО и возраст студента (на каждую новую строчку новый студен). Помогите пожалуйста с кодом.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2012, 01:05
Ответы с готовыми решениями:

Записать в файл несколько строк, а затем записать несколько строк из этого файла в другой
Заранее создать текстовый файл 1.txt и записать в него несколько строк текста. Программа должна...

Как записать несколько массивов, каждый в свой файл?
Я недавно спрашивал здесь, как записать в файл. Мне подсказали. Вот такой вариант работает:...

Создать текстовый файл in.txt, куда записать несколько строк. Найти номер самой короткой строки
1.Создать текстовый файл in.txt, куда записать несколько строк. Найти номер самой короткой строки. ...

записать несколько элементов в вектор сразу, как в массиве
Добрый день, форум. Возможно ли в векторе записать несколько элементов одним разом, как в массиве?...

20
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 02:57 2
В классе:
C++
1
2
3
4
5
6
7
8
friend std::ostream& operator<< (std::ostream &output, const Student &s) // объявляем дружественную функцию
{
    output<< "Name: "<< s._name<< std::endl // формируем поток 
             << "Surname: "<< s._surname<< std::endl
             << "Patronymic: "<< s._patronymic<< std::endl
             << "Age: "<< s._age<< std::endl;
    return output; // возвращаем поток
}
0
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 13
21.11.2012, 16:07  [ТС] 3
а как без класса?
мы еще не учили их(
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 19:08 4
Цитата Сообщение от CAJI0 Посмотреть сообщение
а как без класса?
мы еще не учили их(
Самое время начать. Все-таки основы объекто-ориентированного программирования.
0
59 / 59 / 24
Регистрация: 17.11.2012
Сообщений: 1,602
21.11.2012, 19:10 5
CAJI0, вот простенький код. Здесь ввод выполняется только один раз. Если надо ввести группу студентов, то нужно добавить цикл.
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
#include <iostream>
#include <fstream>
#include <windows.h>
 
using namespace std;
 
char bufRus[256];
 
char* Rus(const char* text) {
      CharToOem(text, bufRus);
      return bufRus;
      }
 
int main()
{
    setlocale (LC_ALL, "RUSSIAN");
 
    ofstream fout("D:\\test.txt");
 
    char fio[21];
    int vozrast;
 
    cout << "Введите ФИО студента: " << endl;
    cin.getline (fio, 20);
    OemToCharA(fio,fio);
 
    cout << "Введите возраст студента: " << endl;
    cin >> vozrast;
 
    fout << "ФИО студента: " << fio << endl;
    fout << "Возраст студента: " << vozrast << endl;
 
 fout.close();
 
   return 0;
}
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 19:15 6
C++
1
ofstream fout("D:\\test.txt");
ссылки на файл должны быть не абсолютными
И в C++ для винды реализована библиотека <clocale>, С-шные танцы вокруг CharToOem не нужны.
Да и объект надо формировать, а не распиливать имя, фамилию и возраст по составляющим, имеющим в качестве связывающего звена лишь индекс массивов.
0
59 / 59 / 24
Регистрация: 17.11.2012
Сообщений: 1,602
21.11.2012, 19:32 7
Цитата Сообщение от MrGluck Посмотреть сообщение
И в C++ для винды реализована библиотека <clocale>, С-шные танцы вокруг CharToOem не нужны.
И как же мне с помощью <clocale> реализовать запись программой русских символов во внешем файле?
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 19:36 8
Цитата Сообщение от HidForce Посмотреть сообщение
И как же мне с помощью <clocale> реализовать запись программой русских символов во внешем файле?
C++
1
2
3
4
5
6
7
8
9
10
#include <fstream>
#include <clocale>
 
int main()
{
    setlocale(LC_ALL, "");
    std::ofstream o("1.txt");
    o<< "Привет, мир";
    return 0;
}
не?
0
59 / 59 / 24
Регистрация: 17.11.2012
Сообщений: 1,602
21.11.2012, 19:42 9
MrGluck, согласен, что <clocale> позволяет правильно отображать в консоли русский язык, но это не основная проблема! Для меня проблематичным местом стала перекодировка русских символов во внешнем файле: вместо текста отображались кракозябры. Для устранения этой проблемы я и использовал CharToOem!
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 19:46 10
Цитата Сообщение от HidForce Посмотреть сообщение
MrGluck, согласен, что <clocale> позволяет правильно отображать в консоли русский язык, но это не основная проблема! Для меня проблематичным местом стала перекодировка русских символов во внешнем файле: вместо текста отображались кракозябры. Для устранения этой проблемы я и использовал CharToOem!
Проблема в винде кодировке вашего блокнота
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
21.11.2012, 19:46 11
MrGluck, какой здесь смысл в перегрузке операторов?
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 19:47 12
Как в файл записать несколько сточек?
0
59 / 59 / 24
Регистрация: 17.11.2012
Сообщений: 1,602
21.11.2012, 19:51 13
Цитата Сообщение от MrGluck Посмотреть сообщение
Проблема в винде кодировке вашего блокнота
Возможно, но не факт, что у пользователя будет стоять нужная кодировка, а CharToOem дает возможность правильно отображать русский без всяких изменений кодировки!
И тем более в Notepad++ я несколько раз изменял кодировку. Эффекта 0!
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 19:58 14
Цитата Сообщение от HidForce Посмотреть сообщение
Возможно, но не факт, что у пользователя будет стоять нужная кодировка, а CharToOem дает возможность правильно отображать русский без всяких изменений кодировки!
И тем более в Notepad++ я несколько раз изменял кодировку. Эффекта 0!
не факт, что у пользователя будет стоять Linux, а UTF-8 везде прокатит
Как в файл записать несколько сточек?

Вот кстати, для блокнота вариант (обратите внимание на шрифт):
Как в файл записать несколько сточек?
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2012, 20:04 15
Цитата Сообщение от go Посмотреть сообщение
MrGluck, какой здесь смысл в перегрузке операторов?
дабы юзать конструкцию типа
C++
1
2
Student s("Иван", "Петрович", ...);
std::cout<< s;
Удобно и уж куда лучше метода void print() в классе.
0
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 13
22.11.2012, 18:09  [ТС] 16
как же записать несколько строчек в файл при помощи цикла?
если можна покажите в коде.
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,492
Записей в блоге: 1
22.11.2012, 18:18 17
Цитата Сообщение от MrGluck Посмотреть сообщение
Самое время начать. Все-таки основы объекто-ориентированного программирования.

Не по теме:

Зачем отвечать не по теме? Тем более, что задание никак не связано с ООП. и автор просто не стремится изучать данную сомнительную парадигму программирования.



Добавлено через 56 секунд
Цитата Сообщение от MrGluck Посмотреть сообщение
Удобно и уж куда лучше метода void print() в классе.
о классах здесь говорит только MrGluck, а задание про строчку с фамилией студента char[] name="Vasya";
Как в файл записать несколько сточек?

Не по теме:

стРочек

0
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 13
22.11.2012, 18:19  [ТС] 18
в универе мы идем за программой. ооп будет только в следуеещем семестре(
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
22.11.2012, 19:34 19
Kuzia domovenok, ты считаешь, что знаний, даваемых в университете хватит для устройства на работу? Не в обиду преподавателям, но разве программирование не строится на самообучении?
Если брать лишь то, что дают - то останешься нисчем. Можно реализовать массивы имен, фамилий, дат и т.д. и косвенно связывать их общим индексом, но неужели самим неохота смоделировать объект?
в универе мы идем за программой
Хочешь изучить С++ - плюнь на программу и иди вперед.
0
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 13
22.11.2012, 19:35  [ТС] 20
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
#include <cstdlib>
#include <iostream>
#include<conio.h>
#include<string>
 
using namespace std;
 
void main()
{ 
setlocale(LC_ALL, "Russian");
    string SecondName, FirstName, MiddleName;
int Age;
int n;
FILE* f = fopen("output.txt", "w");
 cout << "How many students? "; 
 cin >> n;
 for (int i=1; i<=n; i++){
     cout << "Какая фамилия " << i << "-ого студента? "; 
   cin>> SecondName;
   cout << "Какое имя " << i << "-ого студента? "; 
   cin>> FirstName;
   cout << "Какое отчество " << i << "-ого студента? "; 
  cin>>MiddleName;
   cout<<"Какой возвраст "<<i<<"-ого студента? " ;
   cin>>Age;
    
    fprintf(f, "%s %s %s %d\n", SecondName.c_str(), FirstName.c_str(), MiddleName.c_str(), Age);
    
  }
  fclose(f );
 
getch();
}
вот такое получилось
могли бы показать на этом коде как записывать русские буквы в файле.
а то одни иероглифы получаются(
0
22.11.2012, 19:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2012, 19:35
Помогаю со студенческими работами здесь

Как записать команду в консоль windows несколько раз?
Запускаю консоль в цикле, так: for(int k=0;k&lt;=10;k++){ system (&quot;start cmd&quot;); } как мне...

Файл: Есть 5 классов, как их записать в текстовый файл?
Ребята пожалуйста кто знает как разобраться с файлами. Есть 5 классов как их записать в текстовый...

Как одну или несколько переменных записать в файл и при запуске считать их
Всем привет. Скорее всего уже задавался данный вопрос, но я не нашел(ИЛИ слепой). Как одну или...

Записать в типизированный файл несколько строк текста и прочитать
Записать в типизированный файл несколько строк текста, после чего вывести эти строки текста с...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru