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

Записи.Работа с текстовыми файлами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Цикл: выяснить, является ли число палиндромом http://www.cyberforum.ru/cpp-beginners/thread564317.html
дано натуральное число. выяснить является ли оно палиндромом т.е числом десятичная запись которого читается слева на право и справа на лево
C++ Составить программу вычисления количества не нулевых элементов второй строки матрицы 1.Составить программу вычисления количества не нулевых элементов второй строки матрицы C(N,N). 2.Дана действительная квадратная матрица порядка n. Найти наибольшее из значений элементов,расположенных в заштрихованной части матрицы и поменять их местами. Варианты задания А выполнить,используя доступ к элементам массива с помощью указателей.результаты сохранить в файле. http://www.cyberforum.ru/cpp-beginners/thread564284.html
C++ BST c++
Здравствуйте. Не могли бы вы, откоментить, что происходит в этом коде. template <typename T> void BSTreeSet<T>::removeHelper(TreeNode<T> *node, T obj) { if (node == NULL) return; if (node->data < obj) removeHelper(node->right, obj); else if (node->data > obj) removeHelper(node->left, obj); else if (node->left != NULL && node->right != NULL) { TreeNode<T> *temp =...
C++ Перегруженные операции
Задача: Класс «Прямая» должен включать поля данных: коэффициенты прямой y = ax +b; методы: вывод уравнения прямой на экран, определение точек пересечения с осями и перегруженные операции: проверка перпендикулярности прямых (!=), определение угла между двумя прямыми (%). Помогите пожалуйста разобраться как сделать перегруженные операции. #include <QtCore/QCoreApplication> #include <iostream>...
C++ Посчитать сумму по диагоналям, параллельным главной http://www.cyberforum.ru/cpp-beginners/thread564249.html
Исправить, не может посчитать сумму по диагоналям параллельным главной. #include <iostream.h> #include <conio.h> #include <iomanip.h> void funk_z(int *mas, int n); int main() { clrscr(); int n,i,j; cout<<"vvedite n="; cin>>n; cout<<endl;
C++ Заполнение массива значениями из символьного массива есть массив символов char z;есть целочисленный массив int b;каждый символ z это цифра 0-9 нужно в b записать символ z(не код символа а сам символ)for (int i=0;i<30000;i++) b=z-'0'большинство символов записываются правильно, но часть чисел записываются как 1 или 21756 или 2710 или -28725, т.е. какие то непонятные числа как это исправиь? подробнее

Показать сообщение отдельно
amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 240
03.05.2012, 12:43     Записи.Работа с текстовыми файлами
код
#include <cstdio>

const int n=80;

struct student
{
char name[n]; //фамилия
int group;
int mark[3]; // массив оценок за 3 предмета
} st[6]; // 6 студентов

int main()
{
FILE* file;
if ((file = fopen("file.txt","r")) == NULL)
{
printf ("Error in opening file for reading! \n");
return 1;
}
// считываем информацию из файла
for (int i=0; i<6; i++)
{
fscanf (file, "%s %d", st[i].name, &st[i].group); //сначала фамилию и номер группы
for (int j=0; j<3; j++)
fscanf (file, "%d ", &st[i].mark[j]); //затем - 3 оценки
}
fclose(file);

//для проверки - выводим файл в консоль
for (int i=0; i<6; i++)
{
printf ("%s %d ", st[i].name, st[i].group);
for (int j=0; j<3; j++)
printf ("%d ", st[i].mark[j]);
printf ("\n");
}

int total_mark[3] = {0};

//суммируем все оценки за каждый предмет
for (int j=0; j<3; j++)
for (int i=0; i<6; i++)
total_mark[j] += st[i].mark[j];

//ищем предмет с наибольшей суммой оценок за экзамен по нему
int max_mark = total_mark[0];
char subj[3][80] = {"Geometry", "Algebra", "Informatics"};
total_mark[1] >= max_mark ? ( total_mark[1]>=total_mark[2] ? max_mark = total_mark[1] : max_mark = total_mark[2]) : (max_mark>=total_mark[2] ? max_mark = total_mark[1]: max_mark = total_mark[2]);

//выводим нужный предмет
for (int j=0; j<3; j++)
if (max_mark == total_mark[j])
printf ("\n\nThe subject which have passed with the best marks: %s \n\n", subj[j]);
return 0;
}


Результат работы - во вложении.

Содержание файла file.txt:
file.txt
Ivanov 111 3 4 5
Petrov 112 4 4 5
Sidorov 113 5 4 4
Ivanova 211 4 4 4
Petrova 212 3 3 4
Sidorova 213 5 5 5
Миниатюры
Записи.Работа с текстовыми файлами  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru