当前位置:编程学习 > C/C++ >>

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语言?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,