Форум программистов, компьютерный форум CyberForum.ru

Структуры, Графика, Консоль, MSVS2010 - убрать лишнее - C++

Восстановить пароль Регистрация
 
Chatsky
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 4
08.07.2012, 18:16     Структуры, Графика, Консоль, MSVS2010 - убрать лишнее #1
Помогите, что здесь не так?
Пытаюсь адаптировать код борланда для MSVS 2010 ... ещё будет здорово , если кто-нибудь подскажет альтернативу window(); textbackground(); textbackground();textcolor(); ..


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

typedef struct
{
 char fam[25];
 char inits[4];
 char grup[7];
 int marks[5];
} student;

void vvod_personala(student *x,int fl)
{
  int i, j, n;
  FILE  *lab11;
  if(fl==0)
  {
    lab11=fopen("laba11.txt","w");
  }
  else
  {
   lab11=fopen("laba11.txt","a");
  }
  printf("Vvedite kolichestvo dobavlyaemih studentov: ");
  scanf("%d",&n);

  for(i=0;i<n;i++)
  {
    system("cls");
	printf("\n Vvedite familiyu: ");
	scanf("%s",&(x->fam));
	
	printf("\n Vvedite initsiali: ");
	scanf("%s",&(x->inits));
	
	printf("\n Vvedite gruppu: ");
	scanf("%s",&(x->grup));
	printf("\n Vvedite ocenki: ");
	for(j=0;j<5;j++)
	{
		printf("\n %d - ", j+1);
		scanf("%d",&(x->marks[j]));
	}

	fprintf(lab11,"\n %s %s %s %d %d %d %d %d",x->fam, x->inits, x->grup,
		x->marks[0], x->marks[1], x->marks[2], x->marks[3], x->marks[4]);
  }
  fclose(lab11);
  system("cls");

  lab11=fopen("laba11.txt","r");
  i=1;
  while(!feof(lab11))
   {
	fscanf(lab11,"\n %s %s %s %d %d %d %d %d", &(x->fam), &(x->inits), &(x->grup),
		&(x->marks[0]), &(x->marks[1]), &(x->marks[2]), &(x->marks[3]), &(x->marks[4]));
	printf("\n %s %s %s %d %d %d %d %d",x->fam, x->inits, x->grup,
		x->marks[0], x->marks[1], x->marks[2], x->marks[3], x->marks[4]);
	i++;
   }
  fclose(lab11);
  getch();
}

 void izmenenie(student *x)
{
  student lab[10];
  FILE *ff;
  ////window(1,1,80,50);
   system("cls");
  int n=1, nom, k=0, NUMBER, j;

  ff=fopen("laba11.txt","r");
   while(!feof(ff))
   {
	fscanf(ff,"\n %s %s %s %d %d %d %d %d", &(x->fam), &(x->inits), &(x->grup),
		&(x->marks[0]), &(x->marks[1]), &(x->marks[2]), &(x->marks[3]), &(x->marks[4]));
	lab[n-1]=*x;
	printf("\n %d",n);
	printf(") %s %s %s %d %d %d %d %d",x->fam, x->inits, x->grup,
		x->marks[0], x->marks[1], x->marks[2], x->marks[3], x->marks[4]);
	n++;
   }
   n--;
  fclose(ff);

 printf("\n Vvedite nomer izmenyaemoi zapisi: ");
 scanf("%d",&nom);
  nom=nom-1;
   ff=fopen("laba11.txt","w");

   for(k=0;k<n;k++)
   {
	*x=lab[k];
	 if(k==nom)
	{
	 printf("\n Vvedite nomer izmenyaemogo parametra: \n");
	 scanf("%d",&NUMBER);
	if(NUMBER==1)
	{
	 printf("\n Vvedite familiyu: ");
	 scanf("%s",&(x->fam));
	}
	if(NUMBER==2)
	{
	 printf("\n Vvedite initsiali: ");
	 scanf("%s",&(x->inits));
	}
	if(NUMBER==3)
	{
	 printf("\n Vvedite gruppu: ");
	 scanf("%s",&(x->grup));
	}
	if(NUMBER==4)
	{
	 printf("\n Vvedite pervuyu ocenku: ");
	 scanf("%d",&(x->marks[0]));
	}
	if(NUMBER==5)
	{
	 printf("\n Vvedite vtoruyu ocenku: ");
	 scanf("%d",&(x->marks[1]));
	}
	if(NUMBER==6)
	{
	 printf("\n Vvedite teretyu ocenku: ");
	 scanf("%d",&(x->marks[2]));
	}
	if(NUMBER==7)
	{
	 printf("\n Vvedite chetvertuyu ocenku: ");
	 scanf("%d",&(x->marks[3]));
	}
	if(NUMBER==8)
	{
	 printf("\n Vvedite paytuyu ocenku: ");
	 scanf("%d",&(x->marks[4]));
	}
}
     fprintf(ff,"\n %s %s %s %d %d %d %d %d",x->fam, x->inits, x->grup,
		x->marks[0], x->marks[1], x->marks[2], x->marks[3], x->marks[4]);
   }
  fclose(ff);

  system("cls");
  ff=fopen("laba11.txt","r");
    while(!feof(ff))
    {
	fscanf(ff,"\n %s %s %s %d %d %d %d %d", &(x->fam), &(x->inits), &(x->grup),
		&(x->marks[0]), &(x->marks[1]), &(x->marks[2]), &(x->marks[3]), &(x->marks[4]));
	printf("\n %s %s %s %d %d %d %d %d",x->fam, x->inits, x->grup,
		x->marks[0], x->marks[1], x->marks[2], x->marks[3], x->marks[4]);
    }
  fclose(ff);
  getch();
}

void del_zapis(student *x)
 {
  system("cls");
  int flag=0;
  int  i,k,n,m=0;
  student lab[20];
  FILE  *lab11;
  for(;;)
  {
  lab11=fopen("laba11.txt","r");
  n=1;
  while(!feof(lab11))
   {
	fscanf(lab11,"\n %s %s %s %d %d %d %d %d", &(x->fam), &(x->inits), &(x->grup),
		&(x->marks[0]), &(x->marks[1]), &(x->marks[2]), &(x->marks[3]), &(x->marks[4]));
	lab[n-1]=*x;
	printf("\n %d",n);
	printf(") %s %s %s %d %d %d %d %d",x->fam, x->inits, x->grup,
		x->marks[0], x->marks[1], x->marks[2], x->marks[3], x->marks[4]);
    n++;
   }
   n--;
  printf("\n Vvedite nomer udalyaemoi zapisi: ");
 scanf("%d",&k);
  system("cls");
 for(i=k-1;i<n;i++)
 {
   lab[i]=lab[i+1];
   flag=1;
 }
 if(flag==1)
 {
   lab11=fopen("laba11.txt","w");
   n--;
   while(m<n)
   {
    *x=lab[m];
    fprintf(lab11,"\n %s %s %s %d %d %d %d %d",x->fam, x->inits, x->grup,
		x->marks[0], x->marks[1], x->marks[2], x->marks[3], x->marks[4]);
    printf("\n %s %s %s %d %d %d %d %d",x->fam, x->inits, x->grup,
		x->marks[0], x->marks[1], x->marks[2], x->marks[3], x->marks[4]);
    m++;
  }
   fclose(lab11);
   break;
   }
   else{
      printf("Takoi zapisi net. Povtorite popitku.");
      getch();
   }
  }
  getch();
}


void sort_zapisei(student *x)
{
 int i, n=0, fl;
 float sr[30], sr1;
 student lab[30], dop;
 FILE  *lab11;
 lab11=fopen("laba11.txt","r");

   while(!feof(lab11))
   {
    fscanf(lab11,"\n %s %s %s %d %d %d %d %d", &(x->fam), &(x->inits), &(x->grup),
		&(x->marks[0]), &(x->marks[1]), &(x->marks[2]), &(x->marks[3]), &(x->marks[4]));
    lab[n]=*x;
    n++;
   }
     system("cls");
 fclose(lab11);

	lab11 = fopen("laba11.txt","w");
     for(i=0;i<n;i++)
	 {
		sr[i] = (float)(lab[i].marks[0] + lab[i].marks[1] + lab[i].marks[2] + lab[i].marks[3] + lab[i].marks[4]) / 5;
	 }

	do
	{
		fl = 0;
		for(i=0;i<n-1;i++)
		{
			if(sr[i] < sr[i+1])
			{
				dop = lab[i];
				lab[i] = lab[i+1];
				lab[i+1] = dop;
				fl = 1;
				sr1 = sr[i];
				sr[i] = sr[i+1];
				sr[i+1] = sr1;
			}
		}
	}
	while(fl == 1);

	printf("\n Srednie bali: ");
	for(i=0;i<n;i++)
		printf("%d)-%3.1f ", i+1, sr[i]);

      for(i=0;i<n;i++)
	   {
		*x = lab[i];
	    printf("\n %s %s %s %d %d %d %d %d",x->fam, x->inits, x->grup,
		x->marks[0], x->marks[1], x->marks[2], x->marks[3], x->marks[4]);
		fprintf(lab11,"\n %s %s %s %d %d %d %d %d",x->fam, x->inits, x->grup,
		x->marks[0], x->marks[1], x->marks[2], x->marks[3], x->marks[4]);
	   }
  fclose(lab11);

   getch();
}

void poisk(student *x)
{
 int i, n=0, fl;
 int ch[30], j, max;
 student lab[30];
 FILE  *lab11, *odn;
 lab11=fopen("laba11.txt","r");


  for(i=0;i<30;i++)
	ch[i] = 0;
  char sim; 
   while(!feof(lab11))
   {
    fscanf(lab11,"\n %s %s %s %d %d %d %d %d", &(x->fam), &(x->inits), &(x->grup),
		&(x->marks[0]), &(x->marks[1]), &(x->marks[2]), &(x->marks[3]), &(x->marks[4]));
    lab[n]=*x;
    n++;
   }
     system("cls");
 fclose(lab11);

	odn = fopen("odnofamiltsi.txt","w");
	fl = 0;
     for(i=0;i<n;i++)
	 {
		for(j=0;j<n;j++)
		{
			if(i == j)
				j++;
			if(strcmp(lab[i].fam, lab[j].fam) == 0)
			{
				ch[i]++;
				fl = 1;
			}
		}
	 }

	max = -100;
	for(i=0;i<n;i++)
		if(ch[i] > max)
			max = ch[i];
	printf("\nNaibolshee kolichestvo odnofamiltsev = %d ", max+1);

     for(i=0;i<n;i++)
	if(ch[i] == max)
	{
		printf("\n %s %s",lab[i].fam, lab[i].grup);
		fprintf(odn,"\n %s %s",lab[i].fam, lab[i].grup);
	}

     if(fl == 0)
	{
		system("cls");
		printf("\n Odnofamiltsev net.");
	}
  fclose(odn);

   getch();
}

void prosmotr(student *x)
{char sim; 
  FILE *lab11;
  lab11 = fopen("laba11.txt","r");
  printf("\n Tekushii spisok \n");
  while(!feof(lab11))
   {
	fscanf(lab11,"\n %s %s %s %d %d %d %d %d", &(x->fam), &(x->inits), &(x->grup),
		&(x->marks[0]), &(x->marks[1]), &(x->marks[2]), &(x->marks[3]), &(x->marks[4]));
	printf("\n %s %s %s %d %d %d %d %d",x->fam, x->inits, x->grup,
		x->marks[0], x->marks[1], x->marks[2], x->marks[3], x->marks[4]);
   }
  fclose(lab11);
  getch();
}

 void menu(int *m)
{char sim=0; 
  char text[7][30]={
		    "Dobavlenie",
		    "Izmenenie",
		    "Udalenie",
		    "Sortirovka po otsenkam",
		    "Poisk odnofamiltsev",
		    "Tekushii spisok",
		    "Exit"};
 int n,k=7, xm=25,ym=18;
 ////window(1,1,80,50);
 //textbackground(0);
 system("cls");
 n=0;
 while(n<k)
 {
  ////window(xm,ym+n,xm+30,ym+n);
  //textbackground(BLACK);
  
  //textcolor(15);
  system("cls");
  printf("%s",text[n]);
  n++;
 }
 n=0;

while(sim!=13 && sim!=27)
 {
  //textbackground(GREEN); textcolor(15);
  ////window(xm,ym+n,xm+30,ym+n);
  system("cls");
  printf("%s",text[n]);
  sim=getch();
//  textbackground(BLACK); textcolor(15);
  system("cls");
 // //window(xm,ym+n,xm+30,ym+n);
  printf("%s",text[n]);
  kbhit();
 switch(sim)
 {
  case 72: if(n==0) n=k-1; else n--; break;
  case 80: if(n==k-1) n=0; else n++; break;
 }
 *m=n;}
 }


  void main()
  {
   int k,c;char sim; 
   student *y=0;
   system("cls");
  // vvod_personala(y,0);
   menu(&c);
   for(;;)
   {
   if(c==0)  { //window(1,1,80,50);
   system("cls");vvod_personala(y,1);}
   if(c==1)  { //window(1,1,80,50);
	   system("cls");izmenenie(y);}
   if(c==2)  { //window(1,1,80,50);
	   system("cls");del_zapis(y);}
   if(c==3)  { //window(1,1,80,50);
	   system("cls");sort_zapisei(y);}
   if(c==4)  { //window(1,1,80,50);
	   system("cls");poisk(y);}
   if(c==5)  { //window(1,1,80,50);
	   system("cls");prosmotr(y);}
   if(c==6)  { exit(1); break;}
   menu(&c);
   }
   getch();
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2012, 18:16     Структуры, Графика, Консоль, MSVS2010 - убрать лишнее
Посмотрите здесь:

C++ Консоль, кубизм, минимализм, как быть? (графика и алгоритмы)
Не удается открыть файл *.lib в MSVS2010 C++
Настройки MSVS2010 для минимального размера C++
C++ C++ Консоль. Графика
C++ Вывод содержимого структуры COMMPROP на консоль
Как убрать консоль при запуске приложения с OpenGL? C++
C++ Убрать консоль при запуске программы
Графика + консоль. Как? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 12:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru