ami_65
سه شنبه 05 دی 1385, 01:19 صبح
سلام به همه دوستان
ببخشید من یه سوال داشتم !می خواستم بدونم چرا وقتی یه اشاره گری از نوع ساختمان ها در نظر می گیریم که یکی از فیلد های اون عددی هست به هیچ عنوان برنامه اون رو قبول نمی کنه(مسئله این هست که اصلا خطا نمی ده ولی تا به خطی می رسه که می خواد اون داده عددی رو بخونه از برنامه خارج می شه؟؟!!)
ممنون می شم اگه راهنمایی کنید
این هم کد هاش:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<iostream.h>
typedef struct
{
char *Name ;
char *Family ;
char *Field ;
char *Level ;
char Id[8] ;
int Age ;
int GPA ;
} Student;
Student *ST ;
void Scr(void)
{
clrscr() ;
gotoxy(20,4) ;
textcolor(13) ;
cprintf("Name :") ;
gotoxy(20,7) ;
cprintf("Family :") ;
gotoxy(20,10) ;
cprintf("Age :") ;
gotoxy(20,13) ;
cprintf("GPA :") ;
gotoxy(20,16) ;
cprintf("Id :") ;
gotoxy(20,19) ;
cprintf("Field :") ;
gotoxy(20,22) ;
cprintf("Level :") ;
}
int read_name(char *name){
char c;
int i=0;
c=getche();
while(c!=13)
{
*(name+i)=c;
i++;
c=getche();
}
*(name+i)='\0';
return(i);
}
int GetData(void)
{
int i,t;
Scr();
gotoxy(32,4);
int k=read_name(ST->Name);
for(i=0;k>0;i++)
{
gotoxy(32,10);
cin>>(ST+i)->Age;
gotoxy(32,13);
scanf("%f",(ST+i)->GPA);
gotoxy(32,7);
scanf("%s",(ST+i)->Family);
gotoxy(32,16);
scanf("%s",(ST+i)->Id);
gotoxy(32,19);
scanf("%s",(ST+i)->Field);
gotoxy(32,22);
scanf("%s",(ST+i)->Level);
Scr();
gotoxy(32,4);
k=read_name((ST+i+1)->Name);
}
t=i;
return(t);
}
void main()
{ textmode(C80);
Scr();
GetData();
getch();
}
ببخشید من یه سوال داشتم !می خواستم بدونم چرا وقتی یه اشاره گری از نوع ساختمان ها در نظر می گیریم که یکی از فیلد های اون عددی هست به هیچ عنوان برنامه اون رو قبول نمی کنه(مسئله این هست که اصلا خطا نمی ده ولی تا به خطی می رسه که می خواد اون داده عددی رو بخونه از برنامه خارج می شه؟؟!!)
ممنون می شم اگه راهنمایی کنید
این هم کد هاش:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<iostream.h>
typedef struct
{
char *Name ;
char *Family ;
char *Field ;
char *Level ;
char Id[8] ;
int Age ;
int GPA ;
} Student;
Student *ST ;
void Scr(void)
{
clrscr() ;
gotoxy(20,4) ;
textcolor(13) ;
cprintf("Name :") ;
gotoxy(20,7) ;
cprintf("Family :") ;
gotoxy(20,10) ;
cprintf("Age :") ;
gotoxy(20,13) ;
cprintf("GPA :") ;
gotoxy(20,16) ;
cprintf("Id :") ;
gotoxy(20,19) ;
cprintf("Field :") ;
gotoxy(20,22) ;
cprintf("Level :") ;
}
int read_name(char *name){
char c;
int i=0;
c=getche();
while(c!=13)
{
*(name+i)=c;
i++;
c=getche();
}
*(name+i)='\0';
return(i);
}
int GetData(void)
{
int i,t;
Scr();
gotoxy(32,4);
int k=read_name(ST->Name);
for(i=0;k>0;i++)
{
gotoxy(32,10);
cin>>(ST+i)->Age;
gotoxy(32,13);
scanf("%f",(ST+i)->GPA);
gotoxy(32,7);
scanf("%s",(ST+i)->Family);
gotoxy(32,16);
scanf("%s",(ST+i)->Id);
gotoxy(32,19);
scanf("%s",(ST+i)->Field);
gotoxy(32,22);
scanf("%s",(ST+i)->Level);
Scr();
gotoxy(32,4);
k=read_name((ST+i+1)->Name);
}
t=i;
return(t);
}
void main()
{ textmode(C80);
Scr();
GetData();
getch();
}