#include <stdio.h>
#define ZIPLEN 10
#define PHONLEN 15
/*struct addrç±»åå®ä¹*/ struct addr
{
char *name;/*å§å*/
char *address;/*å°å*/
char zip[ZIPLEN];/*é®æ¿ç¼ç */
char phone[PHONLEN];/*çµè¯å·ç */
}; main()/*æ¬ä¸»å½æ°ç¤ºæä¸è¿°è¾å
¥è¾åºå½æ°çç¨æ³*/
{
struct addr p[100];
int i,j;
clrscr();
for(i=0;readaddr(p+i);i++);
for(j=0;j<i;j++) writeaddr(p+j);
puts("\n Press any key to quit...");
getch();
} /* å½æ°readaddrç¨äºè¾å
¥ä¸ä¸ªéä¿¡å½å½æ° */
int readaddr(struct addr *dpt)
{
int len;
char buf[120];/*è¾å
¥å符串çç¼å²åº*/ printf("\nPlease input the Name:\n");/*è¾å
¥å§å*/
if(scanf("%s",buf)==1)
{
len=strlen(buf);
dpt->name=(char *)malloc(len+1);/*ç³è¯·åè´®å§åç空é´*/
strcpy(dpt->name,buf);
}
else return 0;/*Ctrl+Zç»æè¾å
¥*/
printf("Please input the Address:\n");/*è¾å
¥å°å*/
if(scanf("%s",buf)==1)
{
len=strlen(buf);
dpt->address=(char *)malloc(len+1);/*ç³è¯·åè´®å°åç空é´*/
strcpy(dpt->address,buf);
}
else
{/*Ctrl+Zç»æè¾å
¥*/
free(dpt->name);/*éæ¾åè´®å§åç空é´*/
return 0;
}
printf("Please input the Zip code:\n");/*è¾å
¥é®ç¼*/
if(scanf("%s",buf)==1)
strncpy(dpt->zip,buf,ZIPLEN-1);
else
{
free(dpt->name);/*éæ¾åè´®å§åç空é´*/
free(dpt->address);/*éæ¾åè´®å°åç空é´*/
return 0;/*Ctrl+Zç»æè¾å
¥*/
}
printf("Please input the Phone number:\n");/*è¾å
¥çµè¯å·ç */
if(scanf("%s",buf)==1)
strncpy(dpt->phone,buf,PHONLEN-1);
else
{
free(dpt->name);
free(dpt->address);
return 0;/*Ctrl+Zç»æè¾å
¥*/
}
return 1;
} /* å½æ°writeaddrç¨äºè¾åºéè®¯å½ */
int writeaddr(struct addr*dpt)
{
printf("Name : %s\n", dpt->name);/*è¾åºå§å*/
printf("Address : %s\n", dpt->address);/*è¾åºå°å*/
printf("Zip : %s\n", dpt->zip);/*è¾åºé®ç¼*/
printf("Phone : %s\n\n", dpt->phone);/*è¾åºçµè¯å·ç */
}
温馨提示:答案为网友推荐,仅供参考