0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 33
1

Составить блок-схему

20.12.2010, 15:35. Показов 487. Ответов 0
Метки нет (Все метки)

Код
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
//#include <unistd.h>
//#include <windows.h>


struct DTP
{
      char dtp_district[30];
      int date[3];
      char FIO[20];
      int victims_num; 
};
DTP d_mas[50]={0};
int mas_date1[3]; 
int mas_date2[3]; 
int count;
       int size=sizeof(DTP);
       FILE *fp;

void Sort()
{
  DTP buf;
 for(int i=0;i<count-1;i++)
   for(int i=0;i<count-1;i++)
   {
           if(d_mas[i].date[2]<d_mas[i+1].date[2])
           {
             buf=d_mas[i];
             d_mas[i]=d_mas[i+1];
             d_mas[i+1]=buf;                                
           }
           else
           {
               if(d_mas[i].date[2]==d_mas[i+1].date[2])
               {
                  if(d_mas[i].date[1]<d_mas[i+1].date[1])
                  {
                   buf=d_mas[i];
                   d_mas[i]=d_mas[i+1];
                   d_mas[i+1]=buf; 
                                                            
                  }
                  else
                  {
                      if(d_mas[i].date[1]==d_mas[i+1].date[1])
                      {
                        if(d_mas[i].date[0]<d_mas[i+1].date[0])
                         {
                           buf=d_mas[i];
                           d_mas[i]=d_mas[i+1];
                           d_mas[i+1]=buf;                                       
                         }
                      }
                  }
               }
           }   
   }
}
void FillDate(int ind)
{
     int day,month,year;
     char c;
     printf("\n‚ўҐ¤ЁвҐ ¤*вг „’Џ\n");
     scanf("%d%d%d",&day,&month,&year);
     d_mas[ind].date[0]=day;
     d_mas[ind].date[1]=month;
     d_mas[ind].date[2]=year;
     
    
}
int  CheckDate(int mas[])
{
    if(mas[0]<=0||mas[0]>31)
    {
     printf("\n‚ўҐ¤ЁвҐ Є®а४в*л© ¤Ґ*м (*Ґ Ў®«ҐҐ 31)");
     getch();
     return 0;
    }
    if(mas[1]<=0||mas[1]>12)
    {
     printf("\n‚ўҐ¤ЁвҐ Є®а४в*л© ¬Ґбпж!");
     getch();
    return 0;
    } 
    if(mas[2]< 1900 || mas[2] > 2010)
    {
     printf("\n‚ўҐ¤ЁвҐ Є®а४в*л© Ј®¤");
     getch();
     return 0;
    }
    
 return 1;   
}

int CheckDate1(int mas1[],int mas2[])
{
    if(mas1[2]>mas2[2])
    {
      printf("\n‚ўҐ¤ЁвҐ Є®а४в*л© Ј®¤(ЇҐаўл© Ј®¤ ¤®«¦Ґ* Ўлвм > ўв®а®Ј®)");
      return 0;
    } 
    else
    {
        if(mas1[2]==mas2[2])
        {
          if(mas1[1]>mas2[1])
          {
             printf("\n‚ўҐ¤ЁвҐ Є®а४в*л© ¬Ґбпж(ЇҐаўл© ¬Ґбпж ¤®«¦Ґ* Ўлвм > ўв®а®Ј®)");
     return 0;
          }
          else
          {
              if(mas1[1]==mas2[1])
              {
                   if(mas1[0]>mas2[0])
                   {
                       printf("\n‚ўҐ¤ЁвҐ Є®а४в*л© ¤Ґ*м (ЇҐаўл© ¤Ґ*м ¤®«¦Ґ* Ўлвм > ўв®а®Ј®");
                       return 0;
                                 
                   }             
              }
          }
        }
    }
    return 1; 
}
void ViewAll()
{
   Sort();
   int i=0,n=1;
   
	    printf("\n ЙНННННЛННННННННННННННННННННЛННННННННННЛНННННННННЛНННННННННН»");
	    printf("\n єЌ®¬epє”a¬Ё«Ёп,Ё¬п,oвзecвўoє*a§ў. а**.єЄ®«.¦Ґавўє ¤*в* „’Џ є");
	    printf("\n МНННННОННННННННННННННННННННОННННННННННОНННННННННОНННННННННН№");

      for(int s=0;s<count;s++)
      {
      	      printf("\n є%5iє",n);
      	      for(int k=0;k<=19;k++)
	      printf("%1c",d_mas[s].FIO[k]);
	      printf("є%10sє",d_mas[s].dtp_district);
	      printf("%9iє",d_mas[s].victims_num);
	      printf("%2d.%2d.%4dє",d_mas[s].date[0],d_mas[s].date[1],d_mas[s].date[2]);
	      n++;
      }
      printf("\n ИНННННКННННННННННННННННННННКННННННННННКНННННННННКННННННННННј");
    getch();
}

    void ViewSome(DTP el,int n,int flag)
{
if(flag==0)
  {
	    printf("\n ЙНННННЛННННННННННННННННННННЛННННННННННЛНННННННННЛНННННННННН»");
	    printf("\n єЌ®¬epє”a¬Ё«Ёп,Ё¬п,oвзecвўoє*a§ў. а**.єЄ®«.¦Ґавўє ¤*в* „’Џ є");
	    printf("\n МНННННОННННННННННННННННННННОННННННННННОНННННННННОНННННННННН№"); 
 }    
      
              
     	      printf("\n є%5iє",n);
      	      for(int k=0;k<=19;k++)
	      printf("%1c",el.FIO[k]);
	      printf("є%10sє",el.dtp_district);
	      printf("%9iє",el.victims_num);
	      printf("%2d.%2d.%4dє",el.date[0],el.date[1],el.date[2]);
          printf("\n ИНННННКННННННННННННННННННННКННННННННННКНННННННННКННННННННННј");
      
 
}
    void ViewSome2(DTP el,int n,int flag)
{
if(flag==0)
  {
	    printf("\n ЙНННННЛННННННННННННННННННННЛННННННННННЛНННННННННЛНННННННННН»");
	    printf("\n єЌ®¬epє”a¬Ё«Ёп,Ё¬п,oвзecвўoє*a§ў. а**.єЄ®«.¦Ґавўє ¤*в* „’Џ є");
	    printf("\n МНННННОННННННННННННННННННННОННННННННННОНННННННННОНННННННННН№"); 
 }    
      
              
     	      printf("\n є%5iє",n);
      	      for(int k=0;k<=19;k++)
	      printf("%1c",el.FIO[k]);
	      printf("є%10sє",el.dtp_district);
	      printf("%9iє",el.victims_num);
	      printf("%2d.%2d.%4dє",el.date[0],el.date[1],el.date[2]);
      
 
}

void Add()
{
     int n = 0,k = 0,check=0;
     char d[30];
     char fio[30], *p;
     
     p = fio;
     
     printf("‚ўҐ¤ЁвҐ Ё*д®а¬*жЁо ® „’Џ: \n");
     
     printf("‚ўҐ¤ЁвҐ ”?Ћ ўЁ*®ў*®Ј®: ");


     while((*p++ = getchar())!= '\n') ;
     *p = '\0'; 
     gets(d_mas[count].FIO);
     
     do {
     memset(d, '\0', 30);
     printf("‚ўҐ¤ЁвҐ а*©®* „’Џ: \n");
     scanf("%s",&d);
     if(strlen(d) >= 30) {
     printf("?¬п ¤®«¦*® Ўлвм *Ґ Ў®«ҐҐ 30 бЁ¬ў®«®ў\n");
     } else {
     k = 1;
     strcpy(d_mas[count].dtp_district,d);
     memset(d, '\0', 30);
     }
     } while(k != 1);
     
     printf("‚ўҐ¤ЁвҐ Є®««ЁзҐбвў® ¦Ґавў: ");
     scanf("%d",&n);
     d_mas[count].victims_num=n;
     check = 0;
       while(check==0)
     {
        FillDate(count);
        check=CheckDate(d_mas[count].date);            
     }
   count++;
}


void Del()
{
      int n_del,i;
 if(count==0) printf ("\nЃ„ Їгбв*!");
           else{
      ViewAll();
   printf("\n‚ўҐ¤ЁвҐ *®¬Ґа §*ЇЁбЁ: ");
   scanf("%i",&n_del);
   if((n_del<=0)||(n_del>count))
   printf("\n‚ўҐ¤Ґ* *ҐўҐа*л© *®¬Ґа!");
   else{
           if(n_del!=count) {
           for(i=n_del;i<=count-1;i++)
   d_mas[i-1]=d_mas[i];
   }
    count--;
    printf("\n‡*ЇЁбм %2i г¤*«Ґ**.",n_del);
   
   }
  }
 getch ();
}

void ChangeSome(int i)
{
    int ch,n,num,check=0;
    char fio[30];
    char d[30];
     printf("\n ‚ўҐ¤ЁвҐ Ї®«Ґ:" );
     printf("1-”?Ћ ўЁ*®ў*ЁЄ* „’Џ: \n");
     printf("2-ђ*©®* „’Џ: \n");
     printf("3-Љ®«ЁзҐбвў® †Ґавў: \n");
     printf("4-„*в* „’Џ: \n");
     printf("‚*и ўлЎ®а->");
     scanf("%d",&ch);
      switch(ch){
                case 1:
                       printf("‚ўҐ¤ЁвҐ ”?Ћ ўЁ*®ў*ЁЄ* „’Џ: \n");
                       scanf("%s",&fio);
                       strcpy(d_mas[i].FIO,fio);
                       break;
                case 2:       
                       printf("‚ўҐ¤ЁвҐ а*©®* „’Џ: \n");
                       scanf("%s",&d);
                       strcpy(d_mas[i].dtp_district,d);
                       break;  
                case 3:                           
                       printf("\n‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® ¦Ґавў: ");
                       scanf("%d",&n);
                       d_mas[i].victims_num=n;
                       break;
                case 4:     
                        while(check==0)
                       {
                        FillDate(i);
                        check=CheckDate(d_mas[i].date);            
                        }
                       
                       break;
                }
       
}

void Change()
{
     int ch,n,num,c=0,check=0;
     char fio[20]={0};
     char d[20]={0};
     ViewAll();
      
   printf("\n‚ўҐ¤ЁвҐ *®¬Ґа §*ЇЁбЁ :");
   scanf("%i",&num);
   if((num<=0)||(num>count))
   printf("\n‚ўҐ¤Ґ* *ҐўҐа*л© *®¬Ґа!");
     
    else
     {
     printf("1-?§¬Ґ*Ёвм ўбҐ Ї®«п\n2-?§¬Ґ*Ёвм *ҐЄ®в®алҐ Ї®«п");
     printf("\n‚*и ўлЎ®а->");
     scanf("%d",&ch);
     switch(ch){
                case 1:
                       printf("‚ўҐ¤ЁвҐ ”?Ћ ўЁ*®ў*ЁЄ* „’Џ: \n");
                       scanf("%s",&fio);
                       strcpy(d_mas[num-1].FIO,fio);
                       
                       printf("‚ўҐ¤ЁвҐ а*©®* „’Џ: \n");
                       scanf("%s",&d);
                       strcpy(d_mas[num-1].dtp_district,d);
                                              
                       printf("‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® ¦Ґавў: ");
                       scanf("%d",&n);
                       d_mas[num-1].victims_num=n;
                       
                       while(check==0)
                      {
                        FillDate(num-1);
                        check=CheckDate(d_mas[num-1].date);            
                        }
                       break;
                       
                  case 2:ChangeSome(num-1);
                         break;
                      
                                        
                
    }
}
}

void View_1()
{
     int day1,month1,year1,day2, month2, year2,flag=0,n=1,check1=0,check2=0,check3=0,check_d=0;

     char c=0;
     char d[30];
     while(check_d==0)
     {
     printf("\n‚ўҐ¤ЁвҐ а*©®*: ");
     scanf("%s",&d);
     for(int i=0;i<count;i++)
     {
             if(!strcmp(d,d_mas[i].dtp_district)) {
             check_d=1;
             break;
             }
     }
     if(check_d==0)
     {
      printf("‚ўҐ¤ЁвҐ Є®а४в*л© а*©®*\n");
     }
     }
     
     while(check3<1)
     {
     while(check1==0)
     {
     printf("\n‚ўҐ¤ЁвҐ ЇҐаўго ¤*вг: ");
     scanf("%d%d%d",&day1,&month1,&year1);
     mas_date1[0]=day1;
     mas_date1[1]=month1;
     mas_date1[2]=year1;
     check1=CheckDate(mas_date1);
     }
     
    
                      
    while(check2==0)
     {
     printf("\n‚ўҐ¤ЁвҐ ўв®аго ¤*вг: ");
     scanf("%d%d%d",&day2, &month2 ,&year2);
     mas_date2[0]=day2;
     mas_date2[1]=month2;
     mas_date2[2]=year2;
     check2=CheckDate(mas_date2);
     }
     check3=CheckDate1(mas_date1,mas_date2);
     if(check3==0)
     check1=0;
    
     
     
}
     for(int i=0;i<count;i++)
     {
          if(strcmp(d_mas[i].dtp_district,d)==0)
          {
              if(d_mas[i].date[2]>=mas_date1[2]&&d_mas[i].date[2]<=mas_date2[2])
              {
               if(d_mas[i].date[1]>=mas_date1[1]&&d_mas[i].date[1]<=mas_date2[1])
               {
                 if(d_mas[i].date[0]>=mas_date1[0]&&d_mas[i].date[0]<=mas_date2[0])
                 {
                  ViewSome(d_mas[i],n,flag);
                  flag=1;
                  n++;             
                 }
               }
              }                                                                 
                                                                                     
             }
             
     }
     if(n <= 1 ) {
          printf("\nЌ…ЏђЂ‚…‹Ќ›‰ ‚‚Ћ„ „›ЌЌ• !");
          }
 getch();
}                    
                       
     
     
  


void View_2(DTP mas[])
{
      DTP buf;
      int flag=0,n=1;
 for(int i=0;i<count-1;i++)
   for(int i=0;i<count-1;i++)
   {
           if(mas[i].victims_num<mas[i+1].victims_num)
           {
             buf=mas[i];
             mas[i]=mas[i+1];
             mas[i+1]=buf;                                                
           }
   }
   printf("\n		     <Ќ*ЁЎ®«м襥 Є®«. ¦Ґавў>                \n\n");
   for(int s=0;s<2;s++)
   {
     ViewSome2(mas[s],n,flag);
     flag=1;
     n++;
  }
  if(n <= 1 ) {
   printf("\n„***ле *Ґв.");
   } else {
   printf("\n ИНННННКННННННННННННННННННННКННННННННННКНННННННННКННННННННННј");
   }

  flag=0,n=1;
   printf("\n		            <ЃҐ§ ¦Ґавў>                    \n\n");
   for(int c=0;c<count;c++)
   {
	   if(mas[c].victims_num==0)
	   {
		 ViewSome2(mas[c],n,flag);
		 flag=1;
		 n++;
	   }
   }
   if(n <= 1 ) {
   printf("\n„***ле *Ґв.");
   } else {
   printf("\n ИНННННКННННННННННННННННННННКННННННННННКНННННННННКННННННННННј");
   }
   getch();
}
void Menu()
{
     int ch;
     
     do
     {
    system("cls");
    printf("\n1. ‚뢥бвЁ ўбҐ ");
	printf("\n2. „®Ў*ўЁвм §*ЇЁбм");
	printf("\n3. “¤*«Ёвм §*ЇЁбм");
	printf("\n4. ?§¬Ґ*Ёвм §*ЇЁбм");
	printf("\n5. Џ®Є*§*вм Ё*д®а¬*жЁо ® Ї®бва*¤*ўиЁе ў а*©®*Ґ §* ЇҐаЁ®¤ ўаҐ¬Ґ*Ё.");
	printf("\n6. Џ®Є*§*вм ”?Ћ ўЁ*®ў*ЁЄ®ў „’Џ б **Ё®Ў®«миЁ¬ Є®«. ¦Ґавў Ё „’Џ ЎҐ§ ¦Ґавў ");
	printf("\n0. ‚л室");
	
	printf("\n‚лЎ®а->");
	scanf("%d",&ch);
	switch(ch)
	{
              default: {
                       printf("\n‚ўҐ¤вҐ Є®а४в*л© *®¬Ґа");
                       getch();
                       break;
                       }
              
              case 1:
                      ViewAll();
                      break;                   
              case 2:
                      Add();
                      break;
              case 3:
                      Del();
                      break;
              case 4:
                      Change();
                      break;
              case 5:
                      View_1();
                      break;
              case 6:
                      View_2(d_mas);
                      break;
              case 0: {
                      if((fp=fopen("C:\\file.dat","wb"))==NULL) {
          fputs("\nЌҐў®§¬®¦*® ®вЄалвм Ѓ„.",stderr);
		      getch();
		     }
		   else { 
            for(int i=0;i<=count-1;i++)
			fwrite(&d_mas[i],size,1,fp);
			fclose(fp);
		       }
		   break;
		  }
       }

    }
     while(ch!=0);
}

int main()
{
   if((fp=fopen("C:\\file.dat","rb"))==NULL){   
        fputs("\nЌҐў®§¬®¦*® ®вЄалвм Ѓ„",stderr);
           count=0;
              getch();
              } else {
                    count=0;
                         while(fread(&d_mas[count],size,1,fp)==1)
                    	    count++;
                                   fclose(fp);
                                       }
    Menu();
  getch();
   return 0; 
}
кто сможет помочь? код без коментов...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2010, 15:35
Ответы с готовыми решениями:

Составить схему алгоритма(блок-схему) по заданию
Дана матрица S. Нужно составить схему алгоритма, который элементы в каждом столбце этой матрицы...

Составить блок-схему (2)
#include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;locale&gt; void draw_main_menu(void); ...

Составить блок-схему
Привет всем) Помогите нарисовать блок-схему к этой задачи, плиз) using System; using...

Составить блок-схему
Выполнить слияние двух рассортированных текстовых файлов в третий упорядоченный файл. Сортировок не...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2010, 15:35
Помогаю со студенческими работами здесь

Составить блок-схему
начертите блок схему по этому коду . пжлст #include &lt;iostream&gt; #include &lt;vector&gt; using...

Составить блок-схему
есть код программы: #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; int main ( )...

Составить блок схему
Составить блок схему: ЛИНЕЙНЫЕ АЛГОРИТМЫ: Дано натуральное число N. Составить алгоритм для...

Составить блок-схему
Здравствуйте, помогите пожалуйста составить блок-схему для этой задачки . Определить, попадает ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru