这个东东是第一次写的一个比较大的程序(这个大只能对我这个刚入门的菜鸟来说),前面发表过一次,这次修改了一些功能,信息的保存,刚好最近开始玩博客,因为每次做题的时候看那结题报告都是在别人的博客里,觉得自己每次也可以发表自己的和大家讨论,也见证自己的菜鸟成长........所以发一次到博客
代码风格很烂....哎哎
#include<stdio.h>
#include<windows.h>//清屏头文件
#include<malloc.h>//用于malloc函数动态开辟存储空间
#define LEN sizeof(struct student)//定义LEN为结构体student的大小
#include<string.h>//后面用于姓名比较
struct student
{
int number;
char name[20];
char tel_num[12];
char e_mail[20];
struct student *next;
}*head,*p,*pre;
int sum;//记录学生人数
FILE *op;//文件指针
void show_select()
{
system("cls");
printf(" ************************************\n");
printf(" * 学生通讯管理系统 *\n");
printf(" * 1.查询通讯录 *\n");
printf(" * 2.增加学生通讯录信息 *\n");
printf(" * 3.删除学生通讯录信息 *\n");
printf(" * 4.修改学生通讯录信息 *\n");
printf(" * 0.退出学生通讯录系统 *\n");
printf(" ************************************\n");
printf("请输入你的选择: ");
}
//创建
void set_in()
{
system("cls");
head=p=(struct student *)malloc(LEN);
head->next=NULL;
printf("创建一个学生信息:\n");
printf("请输入一个学生学号:");
scanf("%d",&p->number);
printf("请输入此同学姓名:");
scanf("%s",&p->name);
printf("请输入此同学电话号码:");
scanf("%s",&p->tel_num);
printf("请输入此同学E-mail:");
scanf("%s",&p->e_mail);
getchar();//吸收回车
sum++;//创建之后学生人数为1
printf("创建完毕,按回车键返回主菜单。\n");
getchar();
}
void panduan()
{
printf("没有学生通讯信息,为你创建并请你输入一个同学信息:\n");
printf("按回车键开始创建:");
getchar();
set_in();
}
//查询
void refer()
{
system("cls"); //清屏
if(sum == 0)
{
panduan();
}
else
{
printf("总共有%d个学生,信息如下:\n",sum);
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("* *\n");
printf("* 学号 姓名 电话 E-mail *\n");
p=head;
do
{
printf("* %-7d%-10s%-15s%-19s *\n",p->number,p