用c 写十个人管理系统
时间: 2023-11-06 09:05:43 浏览: 22
好的,这是一个简单的十个人管理系统的 C 代码实现,包含姓名、年龄、性别和电话号码四个字段:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LEN 20
#define MAX_PHONE_LEN 15
#define MAX_PERSONS 10
typedef struct {
char name[MAX_NAME_LEN + 1];
int age;
char gender;
char phone[MAX_PHONE_LEN + 1];
} Person;
int main() {
Person persons[MAX_PERSONS];
int count = 0;
while (count < MAX_PERSONS) {
Person p;
printf("Enter name (max %d chars): ", MAX_NAME_LEN);
scanf("%s", p.name);
if (strcmp(p.name, "exit") == 0) {
break;
}
printf("Enter age: ");
scanf("%d", &p.age);
printf("Enter gender (M/F): ");
scanf(" %c", &p.gender);
printf("Enter phone (max %d chars): ", MAX_PHONE_LEN);
scanf("%s", p.phone);
persons[count] = p;
count++;
}
printf("\n-----\n");
printf("Total persons: %d\n", count);
printf("Name\tAge\tGender\tPhone\n");
for (int i = 0; i < count; i++) {
printf("%s\t%d\t%c\t%s\n", persons[i].name, persons[i].age, persons[i].gender, persons[i].phone);
}
return 0;
}
```
该程序使用了一个 `Person` 结构体来表示每个人的信息,其中包含了姓名、年龄、性别和电话号码四个字段。程序使用一个 `persons` 数组来存储所有的人,最多存储十个人。程序通过一个 `count` 变量来记录当前已经输入了多少个人的信息,每次输入一个新的人的信息后,将其存储在 `persons` 数组中,并将 `count` 值加一。如果输入的姓名为 "exit",则退出输入循环。最后,程序会打印出所有输入的人的信息。
需要注意的是,由于在输入性别时需要读取一个字符,因此在 `%c` 前面需要加一个空格,以避免读取到上一次输入的换行符。此外,为了避免输入的字符串超过数组的最大长度,需要使用 `scanf("%s", ...) ` 函数来读取字符串,而不能使用 `gets()` 函数。