C语言程序设计
帮忙找个180-220行的C语言程序!!要求简单易懂句句有解释的..谢谢!
追问:详细点 看不懂
答案:哈哈,送你一个自己上学时候写的同学录,简单易懂。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include <windows.h>
typedef struct classmate
{
char num[15];
char Name[10];
char Tel[15];
struct classmate *next;
} CM;
void enterSystem() //进入系统
{
int i,N,M;
printf("\t\t\t 欢迎进入同学录系统!\n");
for (i=0;i<30;i++)
{
printf(">");
Sleep(30);
}
system("cls");
system("color 3e");
}
void menu() //菜单
{
printf("\n***********************************************");
printf("\n***********************************************");
printf("\n1、创建同学录");
printf("\n2、查看全部同学信息");
printf("\n3、查看某个同学信息");
printf("\n4、添加一个同学信息");
printf("\n5、删除某个同学信息");
printf("\n6、修改某个同学信息");
printf("\n7、帮助信息");
printf("\n8、退出系统");
printf("\n***********************************************");
printf("\n***********************************************\n");
}
void help()
{
printf("\n===============================================\n");
printf("1、必须先创建同学录,才能进行其他的操作!!!\n");
printf("2、在选择操作的时候,如果输入的不是数字或者输入\n的数字超出范围的话,会报错!!!\n");
printf("===============================================\n\n");
}
void exitSystem() //退出系统
{
int i;
printf("\t\t\t谢谢你使用本系统!再见。\n");
printf("正在退出本系统,请等待");
for (i=0;i<10;i++)
{
printf(".");
Sleep(100);
}
system("cls");
exit(0);
}
CM *BuildCm() //创建同学录
{
int n,i;
CM *pfirst,*p,*pnext;
pfirst=p=pnext=NULL;
pfirst=(CM *)malloc(sizeof(CM));
p=pfirst;
printf("请输入班级人数(n>0):");
while (1!=scanf("%d",&n)||n<0)
{
printf("输入错误,请重新输入班级人数:");
fflush(stdin);
}
system("cls");
for (i=1;i<=n;i++)
{
pnext=(CM *)malloc(sizeof(CM));
p->next=pnext;
printf("请输入第%d个同学的学号: ",i);
scanf("%s",pnext->num);
printf("请输入第%d个同学的姓名: ",i);
scanf("%s",pnext->Name);
printf("请输入第%d个同学的电话: ",i);
scanf("%s",pnext->Tel);
pnext->next=NULL;
p=pnext;
}
system("cls");
printf("\t\t\t创建同学录成功!!!\n");
return pfirst;
}
void visit(CM *p) //遍历同学录
{
if (p->next==NULL)
{
printf("\t\t\t该同学录中没有内容!!!\n");
}
else
{
p=p->next;
while (p != NULL)
{
printf("****************************************************\n");
printf("学号:%s 姓名:%s 电话:%s\n",p->num,p->Name,p->Tel);
printf("****************************************************\n");
p=p->next;
}
printf("\n\n");
}
}
void Find(CM *p) //查找同学
{
char name[10];
printf("请输入要查找的同学的姓名: ");
scanf("%s",name);
system("cls");
p=p->next;
while ((p != NULL) && (strcmp(p->Name,name)!=0))
{
p=p->next;
}
if (p != NULL)
{
printf("查找成功,此同学的信息为:\n\n");
printf("****************************************************\n");
printf("学号:%s 姓名:%s 电话:%s\n",p->num,p->Name,p->Tel);
printf("****************************************************\n\n");
}
else
printf("\t\t\t查找失败,没有该同学的信息记录!\n");
}
void Insert(CM *p) //插入学生信息
{
CM *p1,*pnew;
pnew=(CM *)malloc(sizeof(CM));
printf("\t\t\t请输入要插入的同学的信息:\n");
printf("学号:");
scanf("%s",pnew->num);
printf("姓名:");
scanf("%s",pnew->Name);
printf("电话:");
scanf("%s",pnew->Tel);
p1=p;
p=p->next;
while (p!=NULL)
{
p1=p;
p=p->next;
}
p1->next=pnew;
pnew->next=NULL;
system("cls");
printf("\t\t\t插入该同学信息成功!!!\n");
}
void delCM(CM *p) //删除同学信息
{
CM *p1;
char name[10];
printf("请输入要删除的同学的姓名: ");
scanf("%s",name);
system("cls");
p1=p;
p=p->next;
while ((p != NULL) && (strcmp(p->Name,name)!=0))
{
p1=p;
p=p->next;
}
if (p!=NULL)
{
上一个:c语言编程问题
下一个:什么是C语言?