теряются значения gets(ptr[i]);
Ребята помогите плиз,укажите на ошибку,очень хочу понять!
Я пишу простую прогу на С есть меню нажимается цифры 1,2 или 3 и
начинается ввод данных с клавиатуры имена студентов и оценки
потом расчитывается результат и выводится на экран
массив данных должен быть динамическим
Проблема в том что на 2-й ,3-й раз данные теряются
P.S использовать другие функции нельзя
вот код :
#include<conio.h>
#include<stdio.h>
void TextCenter(char *vText,int x,int y)
{
gotoxy(x,y);
cprintf("%s",vText);
}
int Menu()
{
int vParam;
clrscr();
TextCenter("Menu",35,9);
TextCenter("1. Enter data",32,10);
TextCenter("2. Options",32,11);
TextCenter("3. Exit\n",32,12);
vParam=getch();
return vParam;
}
void Calc(int s,int p)
{
int i=0,j=0;
//--videlenie pameati
char **ptr=new char*
if(ptr==NULL)puts("Not found memory");
int **m=new int*
for(i=0;i<s;i++)
{
m=new int
;
if(m==NULL){puts("Not found memory");getch();break;}
}
float *avbs=new float;
float *avbo=new float
;
//---------------------------------------------------------
//vvod
for(i=0;i<s;i++)
{
clrscr();
printf("Enter name by student: ");
//ptr="asd";
gets(ptr);
for(j=0;j<p;j++)
{
printf("Enter ball for %s: ",ptr);
scanf("%d",m+j);
getchar();
//*(m+j)=i;
}
}
// ras4et
for(i=0;i<s;i++)
{
avbs=0;
for(j=0;j<p;j++)
{
avbs+=m[j];
}
avbs=avbs/(j);
}
for(i=0;i<p;i++)
{
avbo=0;
for(j=0;j<s;j++)
{
avbo+=m[j];
}
avbo=avbo/(j);
}
//vivod
clrscr();
for(i=0;i<s;i++)
{
printf("%s\t",ptr);
for(j=0;j<p;j++)
printf("%d\t",*(m+j));
printf("%2.2f\n",avbs);
}
for(i=0;i<p;i++)
printf("\t%2.2f",avbo);
getch();
for(i=0;i<s;i++)
delete[]m;
delete []m;
delete ptr;
delete avbs;
delete avbo;
}
void main()
{
int vhod=0;
while(vhod!=51)
{
vhod=Menu();
switch(vhod)
{
case 49:
{
int s,p;
clrscr();
printf("Enter count of studens: ");
scanf("%d",&s);
printf("\nEnter count of subjects: ");
scanf("%d",&p);
getchar();
Calc(s,p);
}
break;
case 50:
{
clrscr();
TextCenter("Catalog is not found...",32,10);
getch();
}
break;
case 51:break;
default:
{
clrscr();
TextCenter("Undefined Key...",32,10);
TextCenter("Press only 1,2,3 keys!",32,11);
getch();
}
}
}
}