|
发表于 2023-12-7 16:24:55
|
显示全部楼层
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define DSIZE 1024
struct Person {
char name[20];
char phone[12];
};
int len = 0;
struct Contacts {
struct Person person[DSIZE];
};
void getinput(struct Person *person) {
printf("输入名字:");
scanf("%s", person->name);
printf("输入号码:");
scanf("%s", person->phone);
}
void addperson(struct Contacts *contacts) {
if (len >= DSIZE) {
fprintf(stderr, "内存已满\n");
exit(1);
}
getinput(&contacts->person[len]);
len++;
}
void displayperson(struct Person person) {
printf("姓名:%s\n", person.name);
printf("电话:%s\n", person.phone);
}
void displaycontacts(struct Contacts contacts) {
int i;
for (i = 0; i < len; i++) {
displayperson(contacts.person[i]);
printf("\n");
}
}
int main() {
struct Contacts contacts;
int choice;
while (1) {
printf("请选择操作:\n");
printf("1. 添加联系人\n");
printf("2. 显示联系人\n");
printf("3. 退出程序\n");
printf("请输入数字(1-3):");
scanf("%d", &choice);
switch (choice) {
case 1:
addperson(&contacts);
break;
case 2:
displaycontacts(contacts);
break;
case 3:
printf("感谢使用,再见!\n");
return 0;
default:
printf("输入无效,请重新选择。\n");
break;
}
}
return 0;
}
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。 |
|