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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2009, 19:08   #31
pixel_
Пользователь
 
Регистрация: 27.12.2008
Сообщений: 27
По умолчанию

подсказали такое решение откомпиленное в VS 2008, но нужно в Turbo C ...

Код:
#include "stdafx.h"

#include <fstream>
#include <iostream>
#include <string>
#include <vector>

using namespace std;

void first_last(char *fn)
{
    ifstream fi(fn);
    vector<string> vs;
    char s[256];
    while (!fi.eof())
    {
        fi.getline(s, 256);
        vs.push_back(s);
    }
    fi.close();
    if (vs.size()>1)
    {
        string g=vs[0];
        vs[0]=vs[vs.size()-1];
        vs[vs.size()-1]=g;
        ofstream fo(fn);
        for (int i=0; i<vs.size(); i++)
            fo<<vs[i]<<endl;
    }
}

int main()
{
    char filename[]="D:\\1.txt";
    first_last(filename);
    return 0;
}
pixel_ вне форума Ответить с цитированием
Старый 28.05.2009, 19:10   #32
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
и как-то переставить их местами
Считываете элемент в начале. Смещаетесь к последнему элементов.
Считываете последний элемент. Смещаетесь снова к последнему. Пишете на его место первый. Смещаетесь к первому элементу. Пишете последний.

Цитата:
подсказали такое решение откомпиленное в VS 2008, но нужно в Turbo C ...
Ну так и разберитесь, что нужно убрать, чтобы работало. Для справки: этот пример на C++.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 12.12.2009, 12:24   #33
pixel_
Пользователь
 
Регистрация: 27.12.2008
Сообщений: 27
По умолчанию

Привет, делаю курсовик по программированию на C.
Нужна помощь.

Общее меню программы с функциями.
Код:
#include <stdio.h>
void sozdanie();
void dobavlenie();
void udalenie();
void korrektirovka();
void prosmotr();
void sortirovka();
void vivod();
void vihod();

void main(void)
    {
     char ch,v;
     do {
	 printf("1. Sozdanie \n");
	 printf("2. Dobavlenie \n");
	 printf("3. Udalenie \n");
	 printf("4. Korrektirovka \n");
	 printf("5. Prosmotr \n");
	 printf("6. Sortirovka \n");
	 printf("7. Vivod \n");
	 printf("8. Vihod \n");

	 printf("Vvedite nomer komandi: \n");

	 ch=getchar();
	 v=getchar();

	 switch (ch)
		{
		 case '1': sozdanie();break;
		 case '2': dobavlenie();break;
		 case '3': udalenie();break;
		 case '4': korrektirovka();break;
		 case '5': prosmotr();break;
		 case '6': sortirovka();break;
		 case '7': vivod();break;
		 }
	 } while ((ch)='1' && ch<='7');
}
void sozdanie()
{
printf ("Sozdanie faila \n");
}
void dobavlenie()
{
printf ("Dobavlenie faila \n");
}
void udalenie()
{
printf ("Udalenie faila \n");
}
void korrektirovka()
{
printf ("Korrektirovka faila \n");
}
void prosmotr()
{
printf ("Prosmotr faila \n");
}
void sortirovka()
{
printf ("Sortirovka faila \n");
}
void vivod()
{
printf ("Vivod faila \n");
}
void vihod()
{
printf ("Vihod \n");
}
Вместо printf ("Sozdanie faila \n"); printf ("Dobavlenie faila \n"); и т.д. буду вставлять функции.

Написал первую функцию


Нужно создать файл, где будет содержаться:
Название пункта назначения
Номер поезда
Время отправления

Код:
void sozdanie()
{struct poezd
{
char punkt[15];
int nomer;
int chas;
int minuta;
}; train;
FILE*f;
int i;
f=fopen ("test","w");
if(ferror(f)) perror("oshibca");
else{for(i=0;i<3;i++){
printf("\n nazvanie punkta naznachenya:");
scanf("%s", train.punkt);
printf("\n nomer poezda:");
scanf("%d",&train.nomer);
printf("\n chas");
scanf("%d",&train.chas);
printf("\n minuta");
scanf("%d", &train.minuta");
fwrite(&train,sizeof (struct poezd),1,f);
}
fclose(f);
}
Преподаватель сказал, что лучше во времени отправления взять час и минуту, как отдельные целые числа. Каким образом правильно сделать ввод времени пользователем при создании файла. То есть, чтобы было в виде, например, 11:30?
pixel_ вне форума Ответить с цитированием
Старый 12.12.2009, 21:55   #34
pixel_
Пользователь
 
Регистрация: 27.12.2008
Сообщений: 27
По умолчанию

Проблему решил, теперь в программе ошибки вылазиют

Код:
#include <stdio.h>
void sozdanie();
void dobavlenie();
void udalenie();
void korrektirovka();
void prosmotr();
void sortirovka();
void vivod();
void vihod();

void main(void)
    {
     char ch,v;
     do {
	 printf("1. Sozdanie \n");
	 printf("2. Dobavlenie \n");
	 printf("3. Udalenie \n");
	 printf("4. Korrektirovka \n");
	 printf("5. Prosmotr \n");
	 printf("6. Sortirovka \n");
	 printf("7. Vivod \n");
	 printf("8. Vihod \n");

	 printf("Vvedite nomer komandi: \n");

	 ch=getchar();
	 v=getchar();

	 switch (ch)
		{
		 case '1': sozdanie();break;
		 case '2': dobavlenie();break;
		 case '3': udalenie();break;
		 case '4': korrektirovka();break;
		 case '5': prosmotr();break;
		 case '6': sortirovka();break;
		 case '7': vivod();break;
		 }
	 } while ((ch)='1' && ch<='7');
}
void sozdanie()
{
struct poezd
{
char punkt[15];
int nomer;
int chas;
int minuta;
}train;
FILE*f;
int i;
f=fopen ("test","w");
if(ferror(f)) perror("oshibca");
else{for(i=0;i<3;i++){
printf("\n nazvanie punkta naznachenya:");
scanf("%s", train.punkt);
printf("\n nomer poezda:");
scanf("%d",&train.nomer);
printf("\n vremya otpravlenya");
scanf("%d:%d",&train.chas, &train.minuta);
fwrite(&train,sizeof (struct poezd),1,f);
}
fclose(f);
}
void dobavlenie()
{
printf ("Dobavlenie faila \n");
}
void udalenie()
{
printf ("Udalenie faila \n");
}
void korrektirovka()
{
printf ("Korrektirovka faila \n");
}
void prosmotr()
{
printf ("Prosmotr faila \n");
}
void sortirovka()
{
printf ("Sortirovka faila \n");
}
void vivod()
{
printf ("Vivod faila \n");
}
void vihod()
{
printf ("Vihod \n");
}

Последний раз редактировалось pixel_; 13.12.2009 в 09:27.
pixel_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа в С++ Clubber Помощь студентам 8 14.05.2011 15:12
1 программа Boris96_2007 Софт 4 17.04.2009 01:32
Программа на ТР zloygeniyrus Помощь студентам 2 22.03.2009 01:27
Программа Fartyna3000 Операционные системы общие вопросы 4 07.12.2008 20:36
Программа Fartyna3000 Операционные системы общие вопросы 4 06.12.2008 23:39