Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2013, 16:36   #1
Миасс
Пользователь
 
Регистрация: 02.07.2013
Сообщений: 13
По умолчанию работа с текстовым файлом в С++

Помогите пожалуйста:мне нужно создавать текстовый файл,записывать в него информацию для каждого студента :фамилию,имя,номер группы.оценки -всё это в одну строчку.данные на каждого студента начинаются с новой строки.я файл создаю,инфа в него пишется,НО проблема:во-первых,данные по первым 2 студентам в одну строчку пишутся.во-вторых,потом не по порядку идут строки,то есть какой-то случайный порядок записи данных в файл.Посмотрите пожалуйста код.Заранее спасибо.
Код:
int a,b=1;
char famil[20];
char imya[30];
char otchest[30];
int nomer;
int ocenki[50];
FILE*t;
		while (b)
			{
			
			t=fopen("student.txt","a+");
			printf("Введите фамилию студента: ");
			scanf ("%s",famil);
			fprintf (t,"%s |",famil   ) ;
			printf("Введите имя студента: ");
			scanf ("%s",imya);
			fprintf (t,"%s |",imya  );
			printf("Введите отчество студента: ");
			scanf ("%s", otchest);
			fprintf (t,"%s |",otchest);
			printf("Введите номер группы: ");
			scanf ("%d",&nomer);
			fprintf (t,"%d |",nomer);
			printf("Введите оценки: ");
			scanf ("%d", ocenki);
			fprintf (t,"%d ",ocenki );
			printf("\n----------------\n");
			printf("Добавить еще студента? (1-да, 0-выход)");
			printf("\n----------------\n");
			scanf ("%d",&a);
				if (a == 0)
					b = 0;
				else if (a == 1)
					fprintf (t," \n");
			}
			system ("pause");
			fclose(t);

Последний раз редактировалось Stilet; 02.07.2013 в 16:54.
Миасс вне форума Ответить с цитированием
Старый 02.07.2013, 20:31   #2
b2soft
Упртй программер
Форумчанин
 
Регистрация: 26.11.2009
Сообщений: 150
По умолчанию

попробуйте
Код:
if (a==0) break;
else fprintf(t, "\n");
Помощь с кодом/лабами по С/С++
Контакты: ICQ 623334555 Skype: btwosoft; Mail: b2soft@yandex.ru
b2soft вне форума Ответить с цитированием
Старый 02.07.2013, 20:58   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот как бы делал я:
Код:
int a,b=1;
char famil[20];
char imya[30];
char otchest[30];
int nomer;
int ocenki[50];
FILE*t=fopen("student.txt","a+");

		while (b)
			{
			
			printf("Введите фамилию студента: ");scanf ("%s",famil);
			printf("Введите имя студента: ");scanf ("%s",imya);
			printf("Введите отчество студента: ");scanf ("%s", otchest);
			printf("Введите номер группы: ");scanf ("%d",&nomer);
			printf("Введите оценки: ");scanf ("%d", ocenki);

			fprintf (t,"%s|%s|%s|%d|%d\n",famil,imya,otchest,nomer,ocenki );

			printf("\n----------------\n");
			printf("Добавить еще студента? (1-да, 0-выход)");
			printf("\n----------------\n");
                        scanf("%d",&b);
			}
			
			fclose(t);system ("pause");
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с текстовым файлом. Flo C# (си шарп) 0 27.12.2011 16:46
Работа с текстовым файлом )Игнат( Помощь студентам 4 13.11.2010 16:29
Работа с текстовым файлом. tae1980 Microsoft Office Excel 10 29.06.2010 19:16
Работа с текстовым файлом rem2010 Помощь студентам 1 27.04.2010 06:54
Работа с текстовым файлом Mashul'ka Помощь студентам 1 03.06.2009 23:26