Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

работа с текстовым файлом в С++

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
wolf225



Зарегистрирован: 04.07.2013
Сообщения: 1

СообщениеДобавлено: Чт Июл 04 2013 22:11    Заголовок сообщения: работа с текстовым файлом в С++ Ответить с цитатой

ЗДравствуйте.у меня такая ситуация:есть существующий текстовый файл,в котором данные о студентах(ФИО,номер группы и некоторое количество оценок,которое не определено точно).потом я ввожу фио и если есть совпадения введенных фио с фио в текстовом файле,то с эту строку надо дописать (в конец строки) оценки новые.Помогите пожалуйста реализовать,я запуталась просто((((очень надо.(НУ ТАКЖЕ ЕЩЕ НАДО УДАЛЯТЬ ОЦЕНКИ,ЕСЛИ ВВЕДЕННОЕ ФИО СОВПАЛО)
КОД:
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <string.h>
#include "locale.h"
using namespace std;


void main ()
{
setlocale(LC_ALL, "Russian");
system("cls"); // Очистка экрана
int a, b = 1;
char famil2[30];
char famil[20];
char imya[30];
char imya2[30];
char otchest[30];
char otchest2[30];
int nomer;
int ocenki;
int i, o, p = 1;
int count = 1;
char s[200];
char dob[100];
FILE *t, *nf;
t = fopen("D:\\программирование\\прога\\tenis\\tenis\\student.txt", "r+");//открываю исходный текстовый файл
if(t == NULL)
{
printf("Ошибка при открытии файла.\n");
system ("pause");
exit(1);
}

nf = fopen ("stud.txt", "w+");//создаю новый файл для перезаписи в него строк
printf("Введите фамилию: ");
scanf("%s",famil2);
printf("Введите имя: ");
scanf("%s",imya2);
printf("Введите отчество: ");
scanf("%s",otchest);
int flag = 0;
while(!feof(t))
{
if (fgets(s, 200, t))
{

char temp[100];
int i = 0;
while (sscanf(s + i, "%s", temp))
{
if (!strcmp(famil2, temp) && !strcmp(imya2, temp) && !strcmp(otchest2, temp))
{

printf("Введите оценку: ");
scanf ("%d", &ocenki);
sprintf(dob,"%d |",ocenki);
while(1)//бесконечный цикл для ввода оценок
{
printf("Ввести еще оценку? (1-да, 2-выход) ");
scanf ("%d",&p);
if (p==1)
{
printf ("Введите следующую оценку: ");
scanf ("%d", &ocenki);
sprintf(dob,"%d |",ocenki);
sprintf(dob," ");
}
else break;
}
i += strlen(temp) + 1;
if (i >= strlen(s))
strcat(s,dob);//добавляю в строку из исходного текстового файла оценку,которую выше записала в массив
fputs(s,nf);//записываю в новый текстовый файл получившуюся строку

break;
}

}

if (!flag)
fputs(s,nf);//если нет совпадений
break;
flag = 0;
}
}
fclose (t);
fclose (nf);



system ("pause");

}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...