IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> прога на Си++/Си, подскажите что изменить
DocNo
сообщение 10.04.2008 16:53
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской

Репутация: -  0  +


у меня имется такая прога на Си++
говорю что она делает.

записывает информацию о N студентах для каждого
ФИО
Дата рождения
Дата поступления
Название факультета и кафедры
Группа
Номер зачетной книжки
Количество сессий (максимум 9) и предметов(в каждой сессии 10)
И
создает 4 файла

в первый файл идет вся информация о каждом студенте и о результатах каждой сессий вместе с предметом и оценкой

во второй файл записвывается Отличники с указанием отличивщейся сессии и информация о студенте от ФИО до Номера зачетки.

в третий и четвертый записывается что и в третий только информация о Хорошистах и Троешниках соответственно.

у меня пара вопросов.
1.что можно сделать (так сказать) для улучшения.

2.Так как в Си нет библиотеки <fstream> то, как будет лучше первести с Си++ на чистый Си. С помощью
fread или fputs? Если можно, то покажите эту реализацию на моем примере, хотя бы кусочке.

#include <conio.h>
#define c char
#define FNAME "C:\\BORLANDC\\BIN\\file.txt"
#define FNAME1 "C:\\BORLANDC\\BIN\\file1.txt"
#define FNAME2 "C:\\BORLANDC\\BIN\\file2.txt"
#define FNAME3 "C:\\BORLANDC\\BIN\\file3.txt"
#define FIO "F.I.O."
#define Date "Data rozhdeniya"
#define DateP "God postuplenia v instityt"
#define Fak "Fakultet. Kafeda"
#define Grup "Gruppa"
#define Zach "Nomer zachetnoi knigki"
#define Ses "Kolichestvo sessyi"
#define Nses "-aya sessiya"
#define Npr "-iy predmet"
#include <fstream.h>
#include <iostream.h>
     
void main()
{
 {
  ofstream face(FNAME);
  ofstream face1(FNAME1);
  ofstream face2(FNAME2);
  ofstream face3(FNAME3);
   c f[50];
   c im[50];
   c o[50];
   c dat[11];
   c datp[5];
   c ffak[20];
   c kaff[10];
   c group[10];
   c zac[8];
   c pr[10];
   c q[10];
    int y1,z1,x1,oc,s,n,k,j,i,x,s1,p1;
    int b,ss;
     x=1;
     x1=1;
     y1=1;
     z1=1;
      cout<<"Vvedite kolicestvo studentov"<<endl;
       cin>>n;
 do
  {
   clrscr();                     
      cout<<"\nDani pro "<<x++<<"-go studenta"<<endl;
  for(i=0;i<1;i++)
   {
      cout<<FIO<<endl;
       cin>>f>>im>>o;
      cout<<Date<<endl;
       cin>>dat;
      cout<<DateP<<endl;
       cin>>datp;
      cout<<Fak<<endl;
       cin>>ffak>>kaff;
      cout<<Grup<<endl;
       cin>>group;
      cout<<Zach<<endl;
       cin>>zac;

     face<<"\nDani pro "<<x-1<<"-go studenta"<<endl;
     face<<FIO<<endl<<f<<" "<<im<<" "<<o<<" "<<endl;
     face<<Date<<endl<<dat<<endl;
     face<<DateP<<endl<<datp<<endl;
     face<<Fak<<endl<<ffak<<" "<<kaff<<endl;
     face<<Grup<<endl<<group<<endl;
     face<<Zach<<endl<<zac<<endl;
     face<<"\n1-aya sessiya"<<endl;
      cout<<Ses<<endl;
       cin>>s;
  s1=1;
  ss=0;
     face1<<"\nOtlichnik №"<<x1++<<endl;
     face2<<"\nHoroshisty №"<<y1++<<endl;
     face3<<"\nTroeshniki №"<<z1++<<endl;     
 do   
  {
      cout<<endl<<s1++<<Nses<<endl;
  for (j=0;j<1;j++)
   {
      cout<<"Vvdite predmet i ocenky"<<endl;
  p1=1;
  b=0;
 do
    {
      cout<<p1++<<Npr<<endl;
  for (k=0;k<1;k++);     
     {
       cin>>pr>>oc;
     face<<p1-1<<Npr<<endl<<pr<<" "<<oc<<endl;
      
     b=b+oc;
     ss=ss+s;
   
     if ((b/10)==5)
     {face1<<ss/(s*10)<<" "<<"Sessiya"<<endl;  
     }
     }
     }
 while(p1<11);

     face<<"\n"<<s1<<Nses<<endl;    

     if ((b/10)==4)
     face2<<ss/(s*10)<<" "<<"Sessiya"<<endl;
     

     if ((b/10)==3)
     face3<<ss/(s*10)<<" "<<"Sessiya"<<endl;
     
     
     if ((b/10)==5)
     {face1<<FIO<<endl;
     face1<<f<<" "<<im<<" "<<o<<endl;
     face1<<Date<<endl<<dat<<endl;
     face1<<DateP<<endl<<datp<<endl;
     face1<<Fak<<endl<<ffak<<" "<<kaff<<endl;
     face1<<Grup<<endl<<group<<endl;
     face1<<Zach<<endl<<zac<<endl;
     }
     }
     } 
 while(s1<s+1);
    if ((b/10)==4)
     face2<<FIO<<endl;
     face2<<f<<" "<<im<<" "<<o<<endl;
     face2<<Date<<endl<<dat<<endl;
     face2<<DateP<<endl<<datp<<endl;
     face2<<Fak<<endl<<ffak<<" "<<kaff<<endl;
     face2<<Grup<<endl<<group<<endl;
     face2<<Zach<<endl<<zac<<endl;
     
     if ((b/10)==3)
     face3<<FIO<<endl;
     face3<<f<<" "<<im<<" "<<o<<endl;
     face3<<Date<<endl<<dat<<endl;
     face3<<DateP<<endl<<datp<<endl;
     face3<<Fak<<endl<<ffak<<" "<<kaff<<endl;
     face3<<Grup<<endl<<group<<endl;
     face3<<Zach<<endl<<zac<<endl;    
    }
    }
 while (x<n+1);
 }
      cout<<"Danie zapisani v file "<<FNAME<<endl;
        cin<<n;
  getch();
}


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 27.07.2025 22:39
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"