资源简介
班级通讯录管理系统
C语言课程设计
主要管理班级同学之间的通讯录
代码片段和文件信息
# include
# include
# include
typedef struct student //定义学生结点
{
char name[20]; //姓名
int age; //年龄
char addr[20]; //地址
char phone[20]; //电话
char post[20]; //邮编
char mail[20]; //E-mail
struct student *next;
}stud;
void Menu() //菜单
{
printf(“\n\n\n“);
printf(“**************************************班级通讯录管理系统***************************************\n\n“);
printf(“ 1.输入 2.编辑\n\n“);
printf(“ 3.查询(按姓名) 4.显示\n\n“);
printf(“ 5.排序后显示并保存到文本中(按年龄) 6.从文本中读取数据并显示\n\n“);
printf(“ 0.退出系统\n\n“);
printf(“************************************************************************************************\n“);
}
void Init(stud *H) //初始化
{
H->next=NULL;
}
void Input(stud *H) //输入
{
int n;
stud *p *q;
p=H;
while(p->next)
{
p=p->next; //p指向链表的最后一个结点
}
while(true)
{
q=(stud *)malloc(sizeof(stud)); //申请空间
q->next = NULL;
printf(“请输入学生信息:\n“);
printf(“姓名:“); scanf(“%s“ &q->name); printf(“\n“);
printf(“年龄:“); scanf(“%d“ &q->age); printf(“\n“);
printf(“地址:“); scanf(“%s“ &q->addr); printf(“\n“);
printf(“电话:“); scanf(“%s“ &q->phone); printf(“\n“);
printf(“邮编:“); scanf(“%s“ &q->post); printf(“\n“);
printf(“E-mail:“); scanf(“%s“ &q->mail); printf(“\n“);
p->next=q;
p=q;
system(“cls“); //清屏
printf(“是否接着输入:1(继续)/0(结束)\n“);
scanf(“%d“ &n);
if(n==0) break;
}
}
void Output(stud *H) //显示输出
{
system(“cls“);
stud *p;
p = H->next;
if(!p)
{
printf(“\n没有学生记录!\n“);
return ;
}
printf(“姓名 年龄 地址 电话 邮编 E-mail \n“);
while(p) //输出学生记录
{
printf(“%s %d %s %s %s %s\n“ p->name p->age p->addr p->phone p->mail p->mail);
p=p->next;
}
}
void Find(stud *H) //查询
{
system(“cls“);
char str[20];
bool f=false;
stud *p;
p=H->next;
printf(“请输入姓名:\n“);
scanf(“%s“ str);
if(!p)
{
printf(“没有符合条件的学生记录!\n“);
return ;
}
printf(“姓名 年龄 地址 电话 邮编 E-mail \n“);
while(p)
{
if(strcmp(str p->name)==0) //找到了一条符合条件的记录
{
f=true;
printf(“%s %d %s %s %s %s\n“
p->name p->age p->addr p->phone p->mail p->mail);
}
p=p->next;
}
if(!f)
{
printf(“没有符合条件的学生记录!\n“);
}
}
void Sort(stud *H) //按年龄排序后显示,并保存到文本中
{
system(“cls“);
stud a[1000];
stud *p *q;
p=H->next;
if(!p)
{
printf(“没有学生记录,不能排序!\n“);
return ;
}
int num=0 i j;
while(p)
{
a[num++] = *p;
p=p->next;
}
for(i=0;i {
int k=i;
for(j=i+1; j {
if(a[j].age {
k=j;
}
}
if(k!=i)
{
stud temp=a[k];
a[k]=a[i];
a[i]=temp;
}
}
H->next=NULL;
p=H;
for(i=0;i {
q=(stud *)malloc(sizeof(stud));
*q = a[i];
p->next=q;
q->next=NULL;
p=q;
}
printf(“按年龄排序后:\n“);
Output(H);
FILE *fp;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7310 2010-06-08 20:54 班级通讯录管理系统+C语言课程设计.cpp
----------- --------- ---------- ----- ----
7310 1
评论
共有 条评论