code C cua Kec

Màu nền
Font chữ
Font size
Chiều cao dòng

#include<conio.h>

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#define TRUE 1

struct sinhvien

{

            char ht[30];

            int ns;

};

struct node

{

            sinhvien info;

            node *netx;

};

typedef node *ctronode;

ctronode first;

int menu(int *m);

void duyetds(ctronode *first);

ctronode themnode(void);

void xoanode(ctronode p);

void khoitao(ctronode *first);

int rong(ctronode *first);

void xoahet(ctronode *first);

void nhapsinhvien(ctronode *first);

void themdau(ctronode *first,sinhvien info);

void xoadau(ctronode *first);

int  sonode(ctronode *first);

ctronode searname(ctronode *first,sinhvien info);

void insafter(ctronode *first,ctronode p,sinhvien info);

void delsau(ctronode *first,ctronode p,sinhvien infor);

int ctro(ctronode *first,ctronode p);

main()

{

            int m=1,i,vitri,soluong;

            sinhvien info;

            ctronode p;

            char x;

            khoitao(&first);

            while(m!=0)

            {

                        menu(&m);

                        switch(m)

                        {

                        case 0:break;   

                        case 1:duyetds(&first);break;

                        case 2:printf("

Nhap so luong sinh vien : ");

                               scanf("%d",&soluong);

                               for(i=0;i<soluong;i++)

                               {

               printf("

Ho ten : ");

                               fflush(stdin);gets(info.ht);

                               printf("

Nam sinh : ");

                               scanf("%d",&info.ns);

                               themdau(&first,info);

                               }

                               break;

                        case 3:printf("

Ho ten : ")       ;

                               fflush(stdin);  gets(info.ht);

                               printf("

Nam sinh : ");

                               scanf("%d",&info.ns);

                               themdau(&first,info);

                               printf("

DA THEM THANH CONG");

                               break;

                        case 4:xoadau(&first) ;

                               printf("

DA XOA THANH CONG MOT SINH VIEN KHOI DANH SACH");

                               break;

                        case 5:printf("

Ho ten can tim : ")       ;

                               fflush(stdin);  gets(info.ht);

                               p=searname(&first,info);

                               if(p==NULL)   printf("

Khong co ten trong danh sach");

                               else printf("

Tim duoc tai vi tri : %i",ctro(&first,p)+1);                                    

                        }

            }

}

int menu(int *m)

{

    printf("

  CHUONG TRINH QUAN LY DANH SACH SINH VIEN   ");

    printf("

          Tran Van Quang - 08CDTH1A          ");

            printf("

---------------------------------------------");

            printf("

1- Duyet danh sach");

            printf("

2- Them nhieu sinh vien vao danh sach");

            printf("

3- Them 1 sinh vien vao danh sach");

            printf("

4- Xoa sinh vien khoi danh sach");

            printf("

5- Tim theo ten mot sinh vien trong danh sach");

            printf("

0- Thoat chuong trinh");

            printf("

---------------------------------------------");

            printf("

Nhap lua chon cua ban : ")   ;

            scanf("%d",m);

            return  *m;

}

void khoitao(ctronode *first)

{

            *first=NULL;

}

ctronode themnode(void)

{

            ctronode p;

            p=(ctronode) malloc(sizeof(struct node));

            return p;

}

void xoanode(ctronode p)

{

            free(p);

}

int rong(ctronode *first)

{

            return *first==NULL?1:0;

}

//****************Hien thi danh sach sinh vien*******************

void duyetds(ctronode *first)

{

            int stt=0;

            ctronode p;

            if(*first==NULL)

            {

                        printf("

Danh sach trong ! ");

                        return;

            }

            else

            {

                        printf("

So sinh vien hien co la : %d ",sonode(first));

                        p=*first;

                        while(p!=NULL)

                        {

                                    printf("

%d\t%s\t%d",++stt,p->info.ht,p->info.ns);

                                    p=p->netx;

                        }

            }

}

// ****** Them sinh vien vao dau danh sach*********

void themdau(ctronode *first,sinhvien info)

{

            ctronode p;

            p=themnode();

            p->info=info;

            p->netx=*first;

            *first=p;

}

void xoahet(ctronode *first)

{

            *first=NULL;

}

void xoadau(ctronode *first)

{

            ctronode p;

            p=*first;

            *first=p->netx;

            xoanode(p);

}

ctronode searname(ctronode *first,sinhvien info)

{

            ctronode p;

            int vitri=0;

            p=*first;

            while((p!=NULL)&&(strcmp(p->info.ht,info.ht)!=0))

            {

                        vitri++;

                        p=p->netx;

            }

    return p;

}

int  sonode(ctronode *first)

{

            int i=0;

            ctronode p;

            p=*first;

            while(p!=NULL)

            {

                        i++;

                        p=p->netx;

            }

            return i;

}

int ctro(ctronode *first,ctronode p)

{

            int i=0;

            ctronode q;

            q=*first;

            while(q!=p&&q!=NULL)

            {

                        q=q->netx;

                        i++;

            }

            if(q==NULL) return -1;         

  else return i;

}

Bạn đang đọc truyện trên: Truyen2U.Pro

#nam