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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2009, 14:54   #1
stranger_508
 
Регистрация: 05.03.2009
Сообщений: 4
По умолчанию сортировка в алфавитном порядке

Цитата:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#define SEEK SET 0
//---------------------------------------------------------------------------

#pragma argsused
struct stud2
{
char fam [8], name[7];
int kurs,fiz,mat,prog;
}v[20];
struct stud
{
char fam[8],name[7],pol[2];
int godr;
}a[20];

int main(int argc, char* argv[])
{
FILE *stud,*stud2;
int k=0,ob=0;
string name1;

cin>>k;
stud=fopen("stud.txt","rb");
stud2=fopen("stud2.txt","rb");

if((stud=fopen("stud.txt","rb")) !=NULL)
{
fscanf(stud,"%d\n",&k);
fseek (stud,0,SEEK_SET) ;
for (int i=0;i<k;i++)
{
fgets(a[i].fam,8,stud);
fseek (stud,1,SEEK_CUR);
fgets(a[i].name,7,stud);
fseek (stud,1,SEEK_CUR);
fgets(a[i].pol,2,stud);
fscanf(stud,"%d ",&a[i].godr);
}
}
fclose(stud);

if((stud2=fopen("stud2.txt","rb")) !=NULL)
{
fscanf(stud2,"%d\n",&k);
fseek (stud2,0,SEEK_SET) ;
for (int i=0;i<k;i++)
{
fgets(v[i].fam,8,stud2);
fseek (stud2,1,SEEK_CUR);
fgets(v[i].name,7,stud2);
fseek (stud2,1,SEEK_CUR);
fscanf(stud2,"%d ",&v[i].kurs);
fscanf(stud2,"%d ",&v[i].fiz);
fscanf(stud2,"%d ",&v[i].mat);
fscanf(stud2,"%d ",&v[i].prog);
}
}
fclose(stud2);



for(int i=0;i<k-1;i++)
for(int j=i+1;j<k;j++)
if(strcmp(a[i].fam,a[j].fam)>0)
{
strcpy(temp,a[i].fam); - на этой строке ругается
strcpy(a[i].fam,a[j].fam);
strcpy(a[j].fam,temp);
}


getch ();
return 0;
}
//---------------------------------------------------------------------------
Надо сделать сортировку фамилий по алфавиту из файла "stud.txt" переменной a[i].fam . В файле stud.txt данные расположены примерно в таком виде

Sidorov Pasha m 1987
Petrov Sasha m 1987
Ivanova Lena j 1987
sidorova Alexa j 1987
Ivanov Ivan m 1987
Petrova Dasha j 1987
Butova Alena j 1987
Pushina Alexa j 1987

и еще вывести отсортированный список на экран

при отладке выдает

Цитата:
Build
[C++ Error] Unit1.cpp(72): E2034 Cannot convert 'string' to 'char *'
[C++ Error] Unit1.cpp(72): E2342 Type mismatch in parameter '__dest' (wanted 'char *', got 'string')
[C++ Error] Unit1.cpp(74): E2034 Cannot convert 'string' to 'const char *'
[C++ Error] Unit1.cpp(74): E2342 Type mismatch in parameter '__src' (wanted 'const char *', got 'string')
stranger_508 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упорядочить слова в алфавитном порядке sasha45 Общие вопросы C/C++ 36 20.06.2011 11:03
[C++] Вывод в алфавитном порядке? sailol Помощь студентам 6 27.04.2009 21:37
Сортировка в алфавитном порядке [MI_nor] Общие вопросы C/C++ 14 17.03.2009 23:12
Вывод списка в алфавитном порядке ErvinR PHP 4 24.10.2008 16:03
отсортировать таблицу сначала в алфавитном порядке фамилий продавцов, затем в порядке возростания получен Lora Microsoft Office Excel 1 31.05.2008 17:22