当前位置:首页 » 课程大全 » 大一c语言课程设计通讯录系统

大一c语言课程设计通讯录系统

发布时间: 2021-02-25 11:24:07

A. C语言课程设计:通讯录管理系统

/*
* main_tongxunlu.c
*
* Created on: 2011-6-21
* Author: zhanglujin
*/

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
struct record
{
char name[20]; //姓名
char phone[12]; //电话
char adress[50]; //地址
char postcode[8]; //邮政编码
char e_mail[20]; //电子邮件。
}student[100]; //假设最大数为100.
//定义全局变量num,表示已经输入的人数 。
int num; //这里使用数组解决通讯录的问题,实际上使用链表更好。
int menu_select()
{
char s[80];
int a;/*定义整形变量*/
system("cls");
printf("\t\t***********欢迎进入通讯管理界面********\n\n");
printf("\t\t\t0. 输入记录\n");
printf("\t\t\t1. 显示记录\n");
printf("\t\t\t2. 按姓名查找\n");
printf("\t\t\t3. 按电话号码查找\n");
printf("\t\t\t4. 插入记录 \n");
printf("\t\t\t5. 按姓名排序\n");
printf("\t\t\t6. 删除记录\n");
printf("\t\t\t7. Quit\n");
printf("\t\t***********************************************\n\n");
do{
printf("Enter you choice(0~7):");
scanf("%s",s);
a=atoi(s);
}
while (a<0 || a>7);
return a;
}
int adser()
{
printf("\t\t\t**************** 请输入用户信息 ****************\n");
printf("\t\t\t输入姓名:\n");
scanf("%s",student[num].name);
printf("\t\t\t输入电话号码:\n");
scanf("%s",student[num].phone);
printf("\t\t\t输入地址:\n");
scanf("%s",student[num].adress);
printf("\t\t\t输入邮编:\n");
scanf("%s",student[num].postcode);
printf("\t\t\t输入e-mail:\n");
scanf("%s",student[num].e_mail);
num++;
printf("\t\t\t是否继续添加?(Y/N):\n");
if(getch()=='y' || getch()=='Y')
adser();
return(0);
}
void list()
{
int i;
system("cls");
if(num!=0)
{
printf("\t\t\t*************** 以下为通讯录所有信息************\n");
for (i=0;i<num;i++)
{
printf("\t\t\t姓名:%s\n",student[i].name);
printf("\t\t\t电话:%s\n",student[i].phone);
printf("\t\t\t地址:%s\n",student[i].adress);
printf("\t\t\t邮编:%s\n",student[i].postcode);
printf("\t\t\te-mail:%s\n",student[i].e_mail);
if(i+1<num)
{
system("pause");
}
}
printf("\t\t\t************************************************\n");
}
else
printf("\t\t\t通讯录中无任何纪录\n");
printf("\t\t\t按任意键返回主菜单:\n");
getch(); //这里是无回显的输入字符,你输入的字符不会显示在屏幕上。
return;
}
int searchbyname()
{
int mark=0;
int i;
printf("\t\t\t***************** 按姓名查找 *******************\n");
char name[20];
printf("\t\t\t请输入姓名:\n");
scanf("%s",name);
for(i=0;i<num;i++)
{
if (strcmp(student[i].name,name)==0)
{
printf("\t\t\t************* 以下是您查找的用户信息 ***********\n");
printf("\t\t\t姓名: %s",student[i].name);
printf("\t\t\t电话: %s",student[i].phone);
printf("\t\t\t地址: %s",student[i].adress);
printf("\t\t\te-mail:%s",student[i].e_mail);
printf("\t\t\t************************************************\n");
mark++;
if((i+1)<num)
{
printf("\t\t\t是否继续查找相同名字的用户信息:(y/n)\n");
if(getch()=='y' || getch()=='Y')
{
continue;
}
else
return(0);
}
else
{
printf("\t\t\t按任意键返回主菜单");
getch();
return(0);
}
}
}
if(mark == 0)
{
printf("\t\t\t没有相同姓名的用户纪录\n");
printf("\t\t\t按任意键返回主菜单\n");
getch();
return(0);
}
return 0;
}
int searchbyphone()
{
int mark=0;
int i;
printf("\t\t\t****************** 按电话查找 ******************\n");
char phone[10];
printf("\t\t\t请输入电话号码:\n");
scanf("%s",phone);
for(i=0;i<num;i++)
{
if (strcmp(student[i].phone,phone)==0)
{
printf("\t\t\t************** 以下是您查找的用户信息 **********\n");
printf("\t\t\t姓名: %s",student[i].name);
printf("\t\t\t电话: %s",student[i].phone);
printf("\t\t\t地址: %s",student[i].adress);
printf("\t\t\te-mail:%s",student[i].e_mail);
printf("\t\t\t************************************************\n");
printf("\t\t\t按任意键返回主菜单\n");
mark++;
getch();
return(0);
}
}
if (mark==0)
{
printf("\t\t\t没有改用户的信息\n");
printf("\t\t\t按任意键返回主菜单\n");
getch();
return(0);
}
return(0);
}
void deletebyphone()
{
int i,j;
int deletemark=0;
char phone[20];
printf("\t\t\t请输入要删除用户电话号码:\n");
scanf("%s",phone);
if(num==0)
{
printf("\t\t\t对不起,文件中无任何纪录\n");
printf("\t\t\t按任意键返回主菜单\n");
getch();
return;
}
for (i=0;i<num;i++)
{
if (strcmp(student[i].phone,phone)==0)
{
printf("\t\t\t以下是您要删除的用户纪录:\n");
printf("\t\t\t姓名: %s",student[i].name);
printf("\t\t\t电话: %s",student[i].phone);
printf("\t\t\t地址: %s",student[i].adress);
printf("\t\t\te-mail:%s",student[i].e_mail);
printf("\t\t\t是否删除?(y/n)");
if (getch()=='y' || getch()=='Y')
{
for (j=i;j<num-1;j++)
student[j]=student[j+1];
num--;
deletemark++;
printf("\t\t\t删除成功");
printf("\t\t\t是否继续删除?(y/n)");
if (getch()=='y' || getch()=='Y')
deletebyphone();
return;
}
else
return;
}
continue;
}
if (deletemark==0)
{
printf("\t\t\t没有该用户的纪录");
printf("\t\t\t是否继续删除?(y/n)");
if(getch()=='y' || getch()=='Y')
deletebyphone();
return;
}
return;
}
void deletebyname()
{
int a=0;
int findmark=0;
int j;
int deletemark=0;
int i;
char name[20];
printf("\t\t\t请输入要删除用户姓名:\n");
scanf("%s",name);
for (i=a;i<num;i++)
{
if(strcmp(student[i].name,name)==0)
{
printf("\t\t\t以下是您要删除的用户纪录:");
findmark++;
printf("\t\t\t________________________________");
printf("\t\t\t姓名: %s",student[i].name);
printf("\t\t\t电话: %s",student[i].phone);
printf("\t\t\t地址: %s",student[i].adress);
printf("\t\t\te-mail:%s",student[i].e_mail);
printf("\t\t\t________________________________");
printf("\t\t\t是否删除?(y/n)");
if (getch()=='y' || getch() == 'Y')
{
for(j=i;j<num-1;j++)
student[j]=student[j+1];
num--;
deletemark++;
printf("\t\t\t删除成功");
if((i+1)<num)
{
printf("\t\t\t是否继续删除相同姓名的用户信息?(y/n)");
if (getch()=='y')
{
a=i;
continue;
}
}
printf("\t\t\t是否继续删除?(y/n)");
if (getch()=='y')
deletebyname();
return;
}
if((i+1)<num)
{
printf("\t\t\t是否继续删除相同姓名的用户信息?(y/n)");
if (getch()=='y' || getch() == 'Y')
{
a=i;
continue;
}
}
}
else
continue;
}
if ((deletemark==0)&&(findmark==0))
{
printf("\t\t\t没有该用户的纪录");
printf("\t\t\t是否继续删除?(y/n)");
if(getch()=='y' || getch() == 'Y')
deletebyphone();
return;
}
else if (findmark!=0)
{
printf("\t\t\t没有重名信息");
printf("\t\t\t没有该用户的纪录");
printf("\t\t\t是否继续删除?(y/n)");
if(getch()=='y' || getch() == 'Y')
deletebyphone();
return;
}
}
int dele()
{
char choic;
printf("\t\t\t1-按电话号码删除 2-按姓名删除");
printf("\t\t\t请选择:");
choic=getch();
switch (choic)
{
case '1':deletebyphone();break;
case '2':deletebyname();break;
}
return(0);
}
int sortbyname() //按姓名进行排序
{
int i,j;
struct record tmp;
for (i=1;i<num;i++)
{
if(strcmp(student[i].name,student[i-1].name)<0)
{
tmp=student[i];
j=i-1;
do
{
student[j+1]=student[j];
j--;
}while ((strcmp(tmp.name,student[j].name)<0&&j>=0));
student[j+1]=tmp;
}
}
printf("\t\t\t排序成功,是否显示?(y/n)");
if (getch()=='y')
list();
return(0);
}
int main()
{
printf("\t\t************************************************\n");
printf("\t\t********welcome to TONGXUNLU *******************\n");
printf("\t\t###########code by XXXXX ###################\n");
printf("\t\t*************************************************\n");
printf("按任意键进入主菜单\n");
getch();
int selectnum;
while(1)
{
selectnum = menu_select();
switch(selectnum)
{
case 0:
{
adser();
break;
}
case 1:
{
list();
break;
}
case 2:
{
searchbyname();
break;
}
case 3:
{
searchbyphone();
break;
}
case 4:
{
adser(); //这里插入,应该能指定位置,不过意义不大,所以和添加记录一样了。
break;
}
case 5:
{
sortbyname();
break;
}
case 6:
{
dele();
break;
}
case 7:
{
printf("BYE BYE!\n");
system("pause");
getchar();
exit(0);
}
}
}
getchar();
return 0;
}

B. 求〈c语言〉课程设计 通讯录管理系统

望采纳

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef struct
{
score; /*编号*/
char name[10]; /*姓名*/
char num[15]; /*号码*/
char email[20]; /*邮箱*/
char age[8]; /*年龄*/
char adds[20]; /*住址*/
}Person;

Person pe[80];

//登陆函数
logon()
{printf("\n\n\n\t\t\t 通讯录管理系统\n\n");
printf("\t\t\t 版本号:1.0\n\n");
printf("\n\n\n\n\n\t\t\t 2011年4月29日\n\n");
printf("\t\t\t 程序设计第三组\n");
system("pause");
}
int menu_select()
{ char c;
logon();
do{
system("cls");
printf("\t\t *****通讯录***** \n");
printf("\t\t┌───────┐\n");
printf("\t\t│ 1. 添加记录 │\n");
printf("\t\t│ 2. 显示记录 │\n");
printf("\t\t│ 3. 删除记录 │\n");
printf("\t\t│ 4. 查询记录 │\n");
printf("\t\t│ 5. 修改记录 │\n");
printf("\t\t│ 6. 保存记录 │\n");
printf("\t\t│ 0. 退出程序 │\n");
printf("\t\t└───────┘\n");
printf("\t\t请您选择(0-6):");
c=getchar();
}while(c<'0'||c>'6');
return(c-'0');
}

int Input(Person per[],int n)
{
int i=0;
char sign,x[10];
while(sign!='n'&&sign!='N')
{
printf("\t编号:");
scanf("\t%d",&per[n+i].score);
printf("\t姓名:");
scanf("\t%s",per[n+i].name);
printf("\t年龄:");
scanf("\t%s",per[n+i].age);
printf("\t电话号码:");
scanf("\t%s",per[n+i].num);
printf("\t通讯住址:");
scanf("\t%s",per[n+i].adds);
printf("\t电子邮箱:");
scanf("\t%s",per[n+i].email);

gets(x);
printf("\n\t是否继续添加?(Y/N)");
scanf("\t%c",&sign);
i++;
}
return(n+i);
}

void Display(Person per[],int n)
{
int i;
printf("----------------------------------------------------------------------\n"); /*格式*/
printf("编号 姓名 年龄 电话号码 通讯地址 电子邮箱\n");
printf("----------------------------------------------------------------------\n");
for(i=1;i<n+1;i++)
{
printf("%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email);
if(i>1&&i%10==0)
{
printf("\t-----------------------------------\n");
printf("\t");
system("pause");
printf("\t-----------------------------------\n");
}
}
printf("----------------------------------------------------------------------\n");
system("pause");
}

int Delete_a_record(Person per[],int n)
{
char s[20];
int i=0,j;
printf("\t请输入想删除记录中的名字:");
scanf("%s",s);
while(strcmp(per[i].name,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return(n);
}
for(j=i;j<n-1;j++)
{
strcpy(per[j].num,per[j+1].num);
strcpy(per[j].name,per[j+1].name);
strcpy(per[j].age,per[j+1].age);
strcpy(per[j].adds,per[j+1].adds);
strcpy(per[j].email,per[j+1].email);
per[j].score=per[j+1].score;
}
printf("\t\t\t已经成功删除!\n");
return(n-1);
}

void Query_a_record(Person per[],int n)
{

int m;
printf("\t\n请选择查询方式:\n");
printf("\t┌──────┐\n");
printf("\t│1------姓名 │\n");
printf("\t│2------电话 │\n");
printf("\t│3------地址 │\n");
printf("\t│4------返回 │\n");
printf("\t└──────┘\n");
printf("请选择:");
scanf("%d",&m);
while(m!=1&&m!=2&&m!=3&&m!=4)
{
printf("输入错误,请重新选择:");
scanf("%d",&m);
}

if(m==1)
{
char s[20];
int i=0;
printf("\t请输入想查询的姓名:");
scanf("\t%s",s);
while(strcmp(per[i].name,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;
}
printf("\t此人编号: %d\n",per[i].score);
printf("\t此人年龄: %s\n",per[i].age);
printf("\t电话号码: %s\n",per[i].num);
printf("\t通讯地址: %s\n",per[i].adds);
printf("\t电子邮箱: %s\n",per[i].email);
} ;

if(m==2)
{
char s[20];
int i=0;
printf("\t请输入想查询的电话:");
scanf("\t%s",s);
while(strcmp(per[i].num,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;

}
printf("\t此人编号: %d\n",per[i].score);
printf("\t此人姓名: %s\n",per[i].name);
printf("\t此人年龄: %s\n",per[i].age);
printf("\t通讯地址: %s\n",per[i].adds);
printf("\t电子邮箱: %s\n",per[i].email);
} ;

if(m==3)
{
char s[20];
int i=0;
printf("\t请输入想查询的地址:");
scanf("\t%s",s);
while(strcmp(per[i].adds,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;
}
printf("\t此人编号: %d\n",per[i].score);
printf("\t此人姓名: %s\n",per[i].name);
printf("\t此人年龄: %s\n",per[i].age);
printf("\t电话号码: %s\n",per[i].num);
printf("\t电子邮箱: %s\n",per[i].email);
} ;
}

void Change(Person per[],int n)
{
char s[20];
int i=0;
printf("\t请输入想修改的记录中的名字:");
scanf("%s",s);
while(strcmp(per[i].name,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;
}
printf("\t编号:");
scanf("\t%d",&per[i].score);
printf("\t姓名:");
scanf("\t%s",per[i].name);
printf("\t年龄:");
scanf("\t%s",per[i].age);
printf("\t电话号码:");
scanf("\t%s",per[i].num);
printf("\t通讯住址:");
scanf("\t%s",per[i].adds);
printf("\t电子邮箱:");
scanf("\t%s",per[i].email);
printf("\t修改成功!");
}

void WritetoText(Person per[],int n)
{
int i=0;
FILE *fp; /*定义文件指针*/
char filename[20]; /*定义文件名*/
printf("\t保存到文件\n"); /*输入文件名*/
printf("\t请输入所保存的文件名:");
scanf("\t%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("\t无法打开文件\n");
system("pause");
return;
}
fprintf(fp,"******************************************通讯录******************************************\n");
fprintf(fp,"编号 姓名 年龄 电话号码 通讯地址 电子邮箱\n");
fprintf(fp,"------------------------------------------------------------------------------------------\n");
while(i<n)
{
fprintf(fp,"%-3d\t%-6s\t%-3s\t%-13s\t%-20s\t%-20s\n",per[i].score,per[i].name,per[i].age,per[i].num,per[i].adds,per[i].email);
i++;
}
fprintf(fp,"------------------------------------------------------------------------------------------\n");
fprintf(fp,"***************************************共有%d条记录****************************************\n",n);
fclose(fp); /*关闭文件*/
printf("保存成功!\n");
}

void main()
{
int n=0;
for(;;)
{
switch(menu_select())
{
case 1:
printf("\n\t添加记录到通讯录\n"); n=Input(pe,n);
break;

case 2:
printf("\n\t\t\t 通讯录记录表\n");
Display(pe,n);
break;

case 3:
printf("\n\t从通讯录中删除记录\n");
n=Delete_a_record(pe,n);
printf("\t");
system("pause");
break;

case 4:
printf("\n\t在通讯录中查找记录\n");
Query_a_record(pe,n);
printf("\t");
system("pause");
break;

case 5:
printf("\n\t修改通讯录中的记录\n");
Change(pe,n);
printf("\t");
system("pause");
break;

case 6:
printf("\n\t保存功能\n");
WritetoText(pe,n);
printf("\t");
system("pause");
break;

case 0:
printf("\n\t\t谢谢使用,再见!\n");
printf("\n\t\t");
system("pause");
exit(0);
}
}
}
另外,虚机团上产品团购,超级便宜

C. 急急急!!求C语言课程设计——通讯录管理系统

留个邮箱发给你

D. 求一份C语言课程设计:通讯录管理系统,1200行代码

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef struct
{
char score; /*编号*/
char name[10]; /*姓名*/
char num[15]; /*号码*/
char email[20]; /*邮箱*/
char age[8]; /*年龄*/
char adds[20]; /*住址*/
}Person;

Person pe[80];

//登陆函数
logon()
{printf("\n\n\n\t\t\t 通讯录管理系统\n\n");
printf("\t\t\t 版本号:1.0\n\n");
printf("\n\n\n\n\n\t\t\t 2011年4月29日\n\n");
printf("\t\t\t 程序设计第三组\n");
system("pause");
}
int menu_select()
{ char c;
logon();
do{
system("cls");
printf("\t\t *****通讯录***** \n");
printf("\t\t┌───────┐\n");
printf("\t\t│ 1. 添加记录 │\n");
printf("\t\t│ 2. 显示记录 │\n");
printf("\t\t│ 3. 删除记录 │\n");
printf("\t\t│ 4. 查询记录 │\n");
printf("\t\t│ 5. 修改记录 │\n");
printf("\t\t│ 6. 保存记录 │\n");
printf("\t\t│ 0. 退出程序 │\n");
printf("\t\t└───────┘\n");
printf("\t\t请您选择(0-6):");
c=getchar();
}while(c<'0'||c>'6');
return(c-'0');
}

int Input(Person per[],int n)
{
int i=0;
char sign,x[10];
while(sign!='n'&&sign!='N')
{
printf("\t编号:");
scanf("\t%d",&per[n+i].score);
printf("\t姓名:");
scanf("\t%s",per[n+i].name);
printf("\t年龄:");
scanf("\t%s",per[n+i].age);
printf("\t电话号码:");
scanf("\t%s",per[n+i].num);
printf("\t通讯住址:");
scanf("\t%s",per[n+i].adds);
printf("\t电子邮箱:");
scanf("\t%s",per[n+i].email);

gets(x);
printf("\n\t是否继续添加?(Y/N)");
scanf("\t%c",&sign);
i++;
}
return(n+i);
}

void Display(Person per[],int n)
{
int i;
printf("----------------------------------------------------------------------\n"); /*格式*/
printf("编号 姓名 年龄 电话号码 通讯地址 电子邮箱\n");
printf("----------------------------------------------------------------------\n");
for(i=1;i<n+1;i++)
{
printf("%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email);
if(i>1&&i%10==0)
{
printf("\t-----------------------------------\n");
printf("\t");
system("pause");
printf("\t-----------------------------------\n");
}
}
printf("----------------------------------------------------------------------\n");
system("pause");
}

int Delete_a_record(Person per[],int n)
{
char s[20];
int i=0,j;
printf("\t请输入想删除记录中的名字:");
scanf("%s",s);
while(strcmp(per[i].name,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return(n);
}
for(j=i;j<n-1;j++)
{
strcpy(per[j].num,per[j+1].num);
strcpy(per[j].name,per[j+1].name);
strcpy(per[j].age,per[j+1].age);
strcpy(per[j].adds,per[j+1].adds);
strcpy(per[j].email,per[j+1].email);
per[j].score=per[j+1].score;
}
printf("\t\t\t已经成功删除!\n");
return(n-1);
}

void Query_a_record(Person per[],int n)
{

int m;
printf("\t\n请选择查询方式:\n");
printf("\t┌──────┐\n");
printf("\t│1------姓名 │\n");
printf("\t│2------电话 │\n");
printf("\t│3------地址 │\n");
printf("\t│4------返回 │\n");
printf("\t└──────┘\n");
printf("请选择:");
scanf("%d",&m);
while(m!=1&&m!=2&&m!=3&&m!=4)
{
printf("输入错误,请重新选择:");
scanf("%d",&m);
}

if(m==1)
{
char s[20];
int i=0;
printf("\t请输入想查询的姓名:");
scanf("\t%s",s);
while(strcmp(per[i].name,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;
}
printf("\t此人编号: %d\n",per[i].score);
printf("\t此人年龄: %s\n",per[i].age);
printf("\t电话号码: %s\n",per[i].num);
printf("\t通讯地址: %s\n",per[i].adds);
printf("\t电子邮箱: %s\n",per[i].email);
} ;

if(m==2)
{
char s[20];
int i=0;
printf("\t请输入想查询的电话:");
scanf("\t%s",s);
while(strcmp(per[i].num,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;

}
printf("\t此人编号: %d\n",per[i].score);
printf("\t此人姓名: %s\n",per[i].name);
printf("\t此人年龄: %s\n",per[i].age);
printf("\t通讯地址: %s\n",per[i].adds);
printf("\t电子邮箱: %s\n",per[i].email);
} ;

if(m==3)
{
char s[20];
int i=0;
printf("\t请输入想查询的地址:");
scanf("\t%s",s);
while(strcmp(per[i].adds,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;
}
printf("\t此人编号: %d\n",per[i].score);
printf("\t此人姓名: %s\n",per[i].name);
printf("\t此人年龄: %s\n",per[i].age);
printf("\t电话号码: %s\n",per[i].num);
printf("\t电子邮箱: %s\n",per[i].email);
} ;
}

void Change(Person per[],int n)
{
char s[20];
int i=0;
printf("\t请输入想修改的记录中的名字:");
scanf("%s",s);
while(strcmp(per[i].name,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;
}
printf("\t编号:");
scanf("\t%d",&per[i].score);
printf("\t姓名:");
scanf("\t%s",per[i].name);
printf("\t年龄:");
scanf("\t%s",per[i].age);
printf("\t电话号码:");
scanf("\t%s",per[i].num);
printf("\t通讯住址:");
scanf("\t%s",per[i].adds);
printf("\t电子邮箱:");
scanf("\t%s",per[i].email);
printf("\t修改成功!");
}

void WritetoText(Person per[],int n)
{
int i=0;
FILE *fp; /*定义文件指针*/
char filename[20]; /*定义文件名*/
printf("\t保存到文件\n"); /*输入文件名*/
printf("\t请输入所保存的文件名:");
scanf("\t%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("\t无法打开文件\n");
system("pause");
return;
}
fprintf(fp,"******************************************通讯录******************************************\n");
fprintf(fp,"编号 姓名 年龄 电话号码 通讯地址 电子邮箱\n");
fprintf(fp,"------------------------------------------------------------------------------------------\n");
while(i<n)
{
fprintf(fp,"%-3d\t%-6s\t%-3s\t%-13s\t%-20s\t%-20s\n",per[i].score,per[i].name,per[i].age,per[i].num,per[i].adds,per[i].email);
i++;
}
fprintf(fp,"------------------------------------------------------------------------------------------\n");
fprintf(fp,"***************************************共有%d条记录****************************************\n",n);
fclose(fp); /*关闭文件*/
printf("保存成功!\n");
}

void main()
{
int n=0;
for(;;)
{
switch(menu_select())
{
case 1:
printf("\n\t添加记录到通讯录\n"); n=Input(pe,n);
break;

case 2:
printf("\n\t\t\t 通讯录记录表\n");
Display(pe,n);
break;

case 3:
printf("\n\t从通讯录中删除记录\n");
n=Delete_a_record(pe,n);
printf("\t");
system("pause");
break;

case 4:
printf("\n\t在通讯录中查找记录\n");
Query_a_record(pe,n);
printf("\t");
system("pause");
break;

case 5:
printf("\n\t修改通讯录中的记录\n");
Change(pe,n);
printf("\t");
system("pause");
break;

case 6:
printf("\n\t保存功能\n");
WritetoText(pe,n);
printf("\t");
system("pause");
break;

case 0:
printf("\n\t\t谢谢使用,再见!\n");
printf("\n\t\t");
system("pause");
exit(0);
}
}
}

E. C语言 大一 课程设计 通讯录管理系统开发

同学,您好:

看了你这个,写了一个。

下面是运行的结果。

方便的话留个邮箱

F. C语言 通讯录 大一课程设计

Such so easy!

G. 急求一份C语言课程设计 通讯录管理系统 谢谢了!

望采纳

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef struct
{
char score; /*编号*/
char name[10]; /*姓名*/
char num[15]; /*号码*/
char email[20]; /*邮箱*/
char age[8]; /*年龄*/
char adds[20]; /*住址*/
}Person;

Person pe[80];

//登陆函数
logon()
{printf("\n\n\n\t\t\t 通讯录管理系统\n\n");
printf("\t\t\t 版本号:1.0\n\n");
printf("\n\n\n\n\n\t\t\t 2011年4月29日\n\n");
printf("\t\t\t 程序设计第三组\n");
system("pause");
}
int menu_select()
{ char c;
logon();
do{
system("cls");
printf("\t\t *****通讯录***** \n");
printf("\t\t┌───────┐\n");
printf("\t\t│ 1. 添加记录 │\n");
printf("\t\t│ 2. 显示记录 │\n");
printf("\t\t│ 3. 删除记录 │\n");
printf("\t\t│ 4. 查询记录 │\n");
printf("\t\t│ 5. 修改记录 │\n");
printf("\t\t│ 6. 保存记录 │\n");
printf("\t\t│ 0. 退出程序 │\n");
printf("\t\t└───────┘\n");
printf("\t\t请您选择(0-6):");
c=getchar();
}while(c<'0'||c>'6');
return(c-'0');
}

int Input(Person per[],int n)
{
int i=0;
char sign,x[10];
while(sign!='n'&&sign!='N')
{
printf("\t编号:");
scanf("\t%d",&per[n+i].score);
printf("\t姓名:");
scanf("\t%s",per[n+i].name);
printf("\t年龄:");
scanf("\t%s",per[n+i].age);
printf("\t电话号码:");
scanf("\t%s",per[n+i].num);
printf("\t通讯住址:");
scanf("\t%s",per[n+i].adds);
printf("\t电子邮箱:");
scanf("\t%s",per[n+i].email);

gets(x);
printf("\n\t是否继续添加?(Y/N)");
scanf("\t%c",&sign);
i++;
}
return(n+i);
}

void Display(Person per[],int n)
{
int i;
printf("----------------------------------------------------------------------\n"); /*格式*/
printf("编号 姓名 年龄 电话号码 通讯地址 电子邮箱\n");
printf("----------------------------------------------------------------------\n");
for(i=1;i<n+1;i++)
{
printf("%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email);
if(i>1&&i%10==0)
{
printf("\t-----------------------------------\n");
printf("\t");
system("pause");
printf("\t-----------------------------------\n");
}
}
printf("----------------------------------------------------------------------\n");
system("pause");
}

int Delete_a_record(Person per[],int n)
{
char s[20];
int i=0,j;
printf("\t请输入想删除记录中的名字:");
scanf("%s",s);
while(strcmp(per[i].name,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return(n);
}
for(j=i;j<n-1;j++)
{
strcpy(per[j].num,per[j+1].num);
strcpy(per[j].name,per[j+1].name);
strcpy(per[j].age,per[j+1].age);
strcpy(per[j].adds,per[j+1].adds);
strcpy(per[j].email,per[j+1].email);
per[j].score=per[j+1].score;
}
printf("\t\t\t已经成功删除!\n");
return(n-1);
}

void Query_a_record(Person per[],int n)
{

int m;
printf("\t\n请选择查询方式:\n");
printf("\t┌──────┐\n");
printf("\t│1------姓名 │\n");
printf("\t│2------电话 │\n");
printf("\t│3------地址 │\n");
printf("\t│4------返回 │\n");
printf("\t└──────┘\n");
printf("请选择:");
scanf("%d",&m);
while(m!=1&&m!=2&&m!=3&&m!=4)
{
printf("输入错误,请重新选择:");
scanf("%d",&m);
}

if(m==1)
{
char s[20];
int i=0;
printf("\t请输入想查询的姓名:");
scanf("\t%s",s);
while(strcmp(per[i].name,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;
}
printf("\t此人编号: %d\n",per[i].score);
printf("\t此人年龄: %s\n",per[i].age);
printf("\t电话号码: %s\n",per[i].num);
printf("\t通讯地址: %s\n",per[i].adds);
printf("\t电子邮箱: %s\n",per[i].email);
} ;

if(m==2)
{
char s[20];
int i=0;
printf("\t请输入想查询的电话:");
scanf("\t%s",s);
while(strcmp(per[i].num,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;

}
printf("\t此人编号: %d\n",per[i].score);
printf("\t此人姓名: %s\n",per[i].name);
printf("\t此人年龄: %s\n",per[i].age);
printf("\t通讯地址: %s\n",per[i].adds);
printf("\t电子邮箱: %s\n",per[i].email);
} ;

if(m==3)
{
char s[20];
int i=0;
printf("\t请输入想查询的地址:");
scanf("\t%s",s);
while(strcmp(per[i].adds,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;
}
printf("\t此人编号: %d\n",per[i].score);
printf("\t此人姓名: %s\n",per[i].name);
printf("\t此人年龄: %s\n",per[i].age);
printf("\t电话号码: %s\n",per[i].num);
printf("\t电子邮箱: %s\n",per[i].email);
} ;
}

void Change(Person per[],int n)
{
char s[20];
int i=0;
printf("\t请输入想修改的记录中的名字:");
scanf("%s",s);
while(strcmp(per[i].name,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;
}
printf("\t编号:");
scanf("\t%d",&per[i].score);
printf("\t姓名:");
scanf("\t%s",per[i].name);
printf("\t年龄:");
scanf("\t%s",per[i].age);
printf("\t电话号码:");
scanf("\t%s",per[i].num);
printf("\t通讯住址:");
scanf("\t%s",per[i].adds);
printf("\t电子邮箱:");
scanf("\t%s",per[i].email);
printf("\t修改成功!");
}

void WritetoText(Person per[],int n)
{
int i=0;
FILE *fp; /*定义文件指针*/
char filename[20]; /*定义文件名*/
printf("\t保存到文件\n"); /*输入文件名*/
printf("\t请输入所保存的文件名:");
scanf("\t%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("\t无法打开文件\n");
system("pause");
return;
}
fprintf(fp,"******************************************通讯录******************************************\n");
fprintf(fp,"编号 姓名 年龄 电话号码 通讯地址 电子邮箱\n");
fprintf(fp,"------------------------------------------------------------------------------------------\n");
while(i<n)
{
fprintf(fp,"%-3d\t%-6s\t%-3s\t%-13s\t%-20s\t%-20s\n",per[i].score,per[i].name,per[i].age,per[i].num,per[i].adds,per[i].email);
i++;
}
fprintf(fp,"------------------------------------------------------------------------------------------\n");
fprintf(fp,"***************************************共有%d条记录****************************************\n",n);
fclose(fp); /*关闭文件*/
printf("保存成功!\n");
}

void main()
{
int n=0;
for(;;)
{
switch(menu_select())
{
case 1:
printf("\n\t添加记录到通讯录\n"); n=Input(pe,n);
break;

case 2:
printf("\n\t\t\t 通讯录记录表\n");
Display(pe,n);
break;

case 3:
printf("\n\t从通讯录中删除记录\n");
n=Delete_a_record(pe,n);
printf("\t");
system("pause");
break;

case 4:
printf("\n\t在通讯录中查找记录\n");
Query_a_record(pe,n);
printf("\t");
system("pause");
break;

case 5:
printf("\n\t修改通讯录中的记录\n");
Change(pe,n);
printf("\t");
system("pause");
break;

case 6:
printf("\n\t保存功能\n");
WritetoText(pe,n);
printf("\t");
system("pause");
break;

case 0:
printf("\n\t\t谢谢使用,再见!\n");
printf("\n\t\t");
system("pause");
exit(0);
}
}
}
另外,虚机团上产品团购,超级便宜

H. 急求c语言课程设计通讯录系统,谢谢了

/**main_tongxunlu.c**Createdon:2011-6-21*Author:zhanglujin*/#include#include#include#includestructrecord{charname[20];//姓名charphone[12];//电话charadress[50];//地址charpostcode[8];//邮政编码chare_mail[20];//电子邮件。}student[100];//假设最大数为100.//定义全局变量num,表示已经输入的人数。intnum;//这里使用数组解决通讯录的问题,实际上使用链表更好。intmenu_select(){chars[80];inta;/*定义整形变量*/system("cls");printf("\t\t***********欢迎进入通讯管理界面********\n\n");printf("\t\t\t0.输入记录\n");printf("\t\t\t1.显示记录\n");printf("\t\t\t2.按姓名查找\n");printf("\t\t\t3.按电话号码查找\n");printf("\t\t\t4.插入记录\n");printf("\t\t\t5.按姓名排序\n");printf("\t\t\t6.删除记录\n");printf("\t\t\t7.Quit\n");printf("\t\t***********************************************\n\n");do{printf("Enteryouchoice(0~7):");scanf("%s",s);a=atoi(s);}while(a7);returna;}intadser(){printf("\t\t\t****************请输入用户信息****************\n");printf("\t\t\t输入姓名:\n");scanf("%s",student[num].name);printf("\t\t\t输入电话号码:\n");scanf("%s",student[num].phone);printf("\t\t\t输入地址:\n");scanf("%s",student[num].adress);printf("\t\t\t输入邮编:\n");scanf("%s",student[num].postcode);printf("\t\t\t输入e-mail:\n");scanf("%s",student[num].e_mail);num++;printf("\t\t\t是否继续添加?(Y/N):\n");if(getch()=='y'||getch()=='Y')adser();return(0);}voidlist(){inti;system("cls");if(num!=0){printf("\t\t\t***************以下为通讯录所有信息************\n");for(i=0;i=0));student[j+1]=tmp;}}printf("\t\t\t排序成功,是否显示?(y/n)");if(getch()=='y')list();return(0);}intmain(){printf("\t\t************************************************\n");printf("\t\t********welcometoTONGXUNLU*******************\n");printf("\t\t###########codebyXXXXX###################\n");printf("\t\t*************************************************\n");printf("按任意键进入主菜单\n");getch();intselectnum;while(1){selectnum=menu_select();switch(selectnum){case0:{adser();break;}case1:{list();break;}case2:{searchbyname();break;}case3:{searchbyphone();break;}case4:{adser();//这里插入,应该能指定位置,不过意义不大,所以和添加记录一样了。break;}case5:{sortbyname();break;}case6:{dele();break;}case7:{printf("BYEBYE!\n");system("pause");getchar();exit(0);}}}getchar();return0;}

I. c语言课程设计要求做一个通讯录管理系统,求大神帮忙,要求如下

一般这个可以使复用链表做
不过制题目中说明信息条数不得超过20所以也可以使用数组来做,不过还是建议使用链表来做
不管什么数组还是链表,都可以使用结构体存储相应信息
在添加一个新的信息的时候通过前一个信息的编号加一就可递增编号了
删除时不知道是否要保持编号连续还是可以有中断
如果要保持连续的话需要对当前删除的位置向后将所有后面的编号依次减一

如果代码不想自己写的话
我可以有偿代劳

J. c语言课程设计报告通讯录

就放大师傅的说法都是法国

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919