黑马程序员技术交流社区
标题:
利用结构体数组,实现简易通信录 C语言代码
[打印本页]
作者:
l5681065
时间:
2015-11-26 16:09
标题:
利用结构体数组,实现简易通信录 C语言代码
代码一
/*
定义一个结构,姓名 电话号码
让用户从键盘上输入要保存的姓名和电话号码
输入完成后,可以打印出来
*/
#include <stdio.h>
#include <stdlib.h>
#define len 1000
int main(int argc, char *argv[]) {
struct Contacts{
char name[21];
char num[21];
}person[len];
char a='Y';
int i=0;
while(1)
{
if(a=='N'||a=='n')
break;
else if(a=='Y'||a=='y')
{
printf("\n姓名:");
gets(person[i].name);
printf("\n号码:");
gets(person[i].num);//
i++;
}
else
{
printf("输入错误\n");
}
printf("是否继续输入Y/N\n");
scanf("%c",&a);
getchar();
//printf("a=%c\n",a);
}
int n=0;
for(n=0;n<i;n++)
{
printf("姓名%s\n",person[n].name);
printf("号码%s\n",person[n].num);
}
return 0;
}
**************************************************************
代码二
/*
定义一个结构,姓名 电话号码
让用户从键盘上输入要保存的姓名和电话号码
输入完成后,可以打印出来
*/
#include <stdio.h>
#include <stdlib.h>
#define len 1000
int main(int argc, char *argv[]) {
struct Contacts{
char name[21];
//char num[21];
int num;
}person[len];
char a='Y';
int i=0;
while(1)
{
if(a=='N'||a=='n')
break;
else if(a=='Y'||a=='y')
{
printf("\n姓名:");
gets(person[i].name);
printf("\n号码:");
//gets(person[i].num);
scanf("%d",&person[i].num);
getchar();
i++;
}
else
{
printf("输入错误\n");
}
printf("是否继续输入Y/N\n");
scanf("%c",&a);
getchar();
printf("a=%c\n",a);
}
int n=0;
for(n=0;n<i;n++)
{
printf("姓名%s\n",person[n].name);
//printf("号码%s\n",person[n].num);
printf("号码%d\n",person[n].num);
}
return 0;
}
作者:
IPswhatb“is”
时间:
2015-11-27 00:04
真大神 啊
作者:
Q曲
时间:
2015-11-27 10:37
char a='Y';
定义这个是干什么的呀~?
作者:
l5681065
时间:
2015-11-29 13:28
初始化字符.如果少了这条语句 a的值将是一个不确定的字符,if语句无法判断除"Y,y,N,n"以外的别的字符,程序将进入死循环;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2