Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
Автор: enzo (30.01.2007 в 01:30) Господа программисты, требуется помощь по конверту листинга с Visual C++ на Turbo C++ под консоль. + наладка работоспособности программы, а именно сортировки Заранее ОГРОМНОЕ СПАСИБО!
#include "stdafx.h" #include <string.h> #define N 10 // максимальное количество слов #define M 50 //максимальная длина слова class FIO { public: int InterWord(); int PrintFile(); //int Print(); int Sort(); int Search(); FIO(); ~FIO(){} private: int count; int n; char fio[N][M]; }; FIO::FIO() { int i=0; int j=0; n=0; for(i=0;i<N;i++) for(j=0;j<M;j++) fio[i][j]=0; } int FIO::InterWord () { char str[M]={0}; if (n<N) { printf("\nInter new word (max length %d symbols):",M); scanf("%s",&fio[n]); //strcpy(&fio[n],str); n++; return 0; } else { printf("Can't add new string!"); return 1; } } int FIO::Sort () { int i; int j; int r; char str[M]={0}; for(i=0;i<n-1;i++) { for(j=0;j<n-i-1;j++) { if (strcmp(fio[j],fio[j+1])>0) { strcpy(str,fio[j]); strcpy(fio[j],fio[j+1]); strcpy(fio[j+1],str); } } } return 0; } int FIO::Search () { int i; int k; char str[M]={0}; printf("\nInter serach word:"); scanf("%s",str); printf("\n************* List ************\n"); for(i=0;i<n;i++) { if(strlen(fio[i])>strlen(str)) k=strlen(str); else k=strlen(fio[i]); if (strncmp(fio[i],str,k)==0) printf("\nFIO %s",fio[i]); } printf("\n************* List ************\n"); return 0; } int FIO::PrintFile () { int i; char str[100]={0}; FILE *f; printf("Inter file name:"); scanf("%s",str); if (strlen(str)==0) return 1; f=fopen(str,"w"); if (f!=NULL) { for(i=0;i<n;i++) { fprintf(f,"%02d. %s\n",i+1,fio[i]); } fclose(f); } return 0; } /*int FIO::Print () { int i; printf("\n************* List ************\n"); for(i=0;i<n;i++) { printf("%02d. %s\n",i+1,fio[i]); } printf("\n************* List ************"); return 0; } */ int main(int argc, char* argv[]) { int c=1; FIO mfio; while(c>0) { printf("\nInter command:\n0 - quit\n1 - add new word\n2 - search \n3 - sort list\n4 - print list to file\ncommand: "); scanf("%d",&c); if(c==0) break; if(c==1) { mfio.InterWord (); } if (c==2) { mfio.Search(); } if (c==3) { mfio.Sort (); } if (c==4) { mfio.PrintFile(); } } return 0; }
Ваше имя:
Пароль:
Цитировать Используйте тэги для выделения текста: Код: [code][/code] Жирный: [b][/b] Наклонный: [i][/i] URL: [url][/url]
Сообщение:
Прикрепить: