作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2019-2 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10669) |
我在这个课程的目标是 | 跟上大佬们的步伐 |
作业正文 | https://www.cnblogs.com/znlkdsw/p/12788130.html |
参考文献 | 百度 |
2.2.2 需求分析
通讯录要能记录,查询,删除,编辑,因为通讯录空间有限。
2.2.3 程序代码
2.2.3.1 源代码
#include
#include
#include
#define N 50
int num = 0;
typedef struct {
int num;
char name[20];
char tele[20];
}student;
student stu[N] = { 0 };
int menu();
int opreat();
void add(int numl);
void deletel();
int baibai();
void rewrite();
void sortl();
void detect();
int main()
{
int chioce, m = 0;
while (m >= 0)
{
system("cls");
chioce = menu();
switch (chioce)
{
case 1:add(num++); break;
case 2:deletel(); break;
case 3:rewrite(); break;
case 4:sortl(); break;
case 5:detect(); break;
case 6:m = baibai(); break;
default:printf("输入错误,请重新输入"); break;
}
}
}
int menu()
{
int i;
printf("==========通讯录============\n");
for (i = 0; i <= num; i++)
{
if (stu[i].num != 0)
{
printf("编号:%d\t\t姓名:%s\t\t电话号码:%s\t\t\n", stu[i].num, stu[i].name, stu[i].tele);
}
}
printf("===========首页=============\n");
return opreat();
}
int opreat()
{
int choice;
printf("1.添加\t\t2.删除\t\t3.修改\t\t\n");
printf("4.排序\t\t5.查找\t\t6.退出\t\t\n");
printf("请输入你的选择:");
scanf("%d", &choice);
getchar();
return choice;
}
void add(int numl)
{
int num0;
printf("请输入编号;");
scanf("%d", &num0);
getchar();
if (num0 > 50)
{
printf("输入的编号超过最大值");
system("pause");
return;
}
else
{
for (int p = 0; p < N; p++)
{
if (stu[p].num == num0)
{
printf("该编号联系人已经存在");
system("pause");
return;
}
}
stu[numl].num = num0;
printf("请输入姓名:");
scanf("%s", &stu[numl].name);
printf("请输入电话号码:");
scanf("%s", &stu[numl].tele);
}
}
void deletel()
{
int num1;
printf("请输入你要删除的编号;");
scanf("%d", &num1);
getchar();
if (num1 > 50)
{
printf("输入的编号超过最大值");
system("pause");
return;
}
for (int p = 0; p < N; p++)
{
if (stu[p].num == num1)
{
stu[p].num = 0;
printf("删除完毕\n");
system("pause");
return;
}
}
printf("不存在该编号联系人\n");
system("pause");
}
int baibai()
{
int a;
a = -1;
return a;
}
void rewrite()
{
int num2;
char rename[20];
char retele[20];
printf("请输入你要修改的编号:");
scanf("%d", &num2);
getchar();
if (num2 > 50)
{
printf("输入的编号超过最大值");
system("pause");
return;
}
for (int p = 0; p < N; p++)
{
if (stu[p].num == num2)
{
printf("请输入你要修改的姓名:");
scanf("%s", &rename);
strcpy(stu[p].name, rename);
printf("请输入你要修改的电话号码:");
scanf("%s", &retele);
strcpy(stu[p].tele, retele);
printf("修改完成\n");
system("pause");
return;
}
}
printf("不存在编号联系人\n");
system("pause");
}
void sortl()
{
int choice;
printf("请问你要用什么排序\n");
printf("1.编号\t\t2.姓名\t\t\n");
printf("请选择;");
scanf("%d", &choice);
switch (choice)
{
case 1:int num3;
int k;
for (int i = 0; i < N; i++)
{
num3 = stu[i].num;
for (int j = i + 1; j < N - 1; j++)
{
if (stu[j].num < num3)
{
k = stu[j].num;
stu[j].num = stu[i].num;
stu[i].num = k;
}
}
}
return;
break;
case 2:
char name1[20];
char g[20];
for (int i = 0; i < N; i++)
{
strcpy(name1,stu[i].name);
for (int j = i + 1; j < N - 1; j++)
{
if (strcmp(stu[j].name,name1)<0)
{
strcpy(g,stu[j].name);
strcpy(stu[j].name,stu[i].name);
strcpy(stu[i].name,g);
}
}
}
return;
break;
default:return; break;
}
return;
}
void detect()
{
int choice;
printf("请问你要用什么查找\n");
printf("1.编号\t\t2.姓名\t\t3.电话号码\t\t\n");
printf("请选择;");
scanf("%d", &choice);
switch (choice)
{
case 1:
int num4;
printf("请输入你要查找的编号:");
scanf("%d", &num4);
if (num4 > 50)
{
printf("输入的编号超过最大值");
system("pause");
return;
}
for (int p = 0; p < N; p++)
{
if (stu[p].num = num4)
{
printf("编号:%d\t\t姓名:%s\t\t电话号码:%s\t\t\n", stu[p].num, stu[p].name, stu[p].tele);
printf("查找完毕\n");
system("pause");
return;
}
}
printf("不存在该编号联系人\n");
system("pause");;
break;
case 2:
char name1[20];
printf("请输入你要查找的姓名:");
scanf("%s", &name1);
for (int p = 0; p < N; p++)
{
if (strcmp(stu[p].name, name1) == 0)
{
printf("编号:%d\t\t姓名:%s\t\t电话号码:%s\t\t\n", stu[p].num, stu[p].name, stu[p].tele);
printf("查找完毕\n");
system("pause");
return;
}
}
printf("不存在该姓名联系人\n");
system("pause");
;
break;
case 3:
char telel[20];
printf("请输入你要查找的电话号码:");
scanf("%s", &telel);
for (int p = 0; p < N; p++)
{
if (strcmp(stu[p].tele, telel) == 0)
{
printf("编号:%d\t\t姓名:%s\t\t电话号码:%s\t\t\n", stu[p].num, stu[p].name, stu[p].tele);
printf("查找完毕\n");
system("pause");
return;
}
}
printf("不存在该姓名联系人\n");
system("pause");;
break;
default:return; break;
}
}