C++基础学生管理系统

2025-05-27 0 49

本文实例为大家分享了C++基础学生管理系统的实现代码,供大家参考,具体内容如下

适用于c++6.0,codeblocks等常用工具

1. 链表处理部分

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74
#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#include"linklist.h"

#include"elem.h"

void dispnode(linklist h)

{

node *p;

p=h->next;

while(p)

{

dispelem(p);

p=p->next;

}

}

int inputnode(linklist h,T e)

{

node *p;

node *q;

p=h;

while(p->next&& (p->next->data).id<=e.id)

{

if((p->next->data).id==e.id)

return 0;

p=p->next;

}

q=(node*)malloc(sizeof(node));

q->data=e;

q->next=p->next;

p->next=q;

return 1;

}

int delnode(linklist h,int id)

{

node *p;

p=h;

while(p->next&&(p->next->data).id!=id)

p=p->next;

if(p->next)

{

node *t=p->next;

p->next=t->next;

free(t);

return 1;

}

else

return 0;

}

node* searchname(linklist h,char name[])

{

node *p;

p=h-next;

while( p && strcmp((p->data).name ,name)!=0)

p=p->next;

return p;

}

node* searchid(linklist h,int id)

{

node *p;

p=h->next;

while( p->next && (p->next->data).id <= e.id )

p=p->next;

return p;

}

2. 数据处理部分

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77
#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#include"linklist.h"

#include"elem.h"

void dispnode(linklist h)

{

node *p;

p=h->next;

while(p)

{

dispelem(p);

p=p->next;

}

}

int inputnode(linklist h,T e)

{

node *p;

node *q;

p=h;

while(p->next&& (p->next->data).id<=e.id)

{

if((p->next->data).id==e.id)

return 0;

p=p->next;

}

q=(node*)malloc(sizeof(node));

q->data=e;

q->next=p->next;

p->next=q;

return 1;

}

int delnode(linklist h,int id)

{

node *p;

p=h;

while(p->next&&(p->next->data).id!=id)

p=p->next;

if(p->next)

{

node *t=p->next;

p->next=t->next;

free(t);

return 1;

}

else

return 0;

}

node* searchname(linklist h,char name[])

{

node *p;

p=h-next;

while( p && strcmp((p->data).name ,name)!=0)

p=p->next;

return p;

}

node* searchid(linklist h,int id)

{

node *p;

p=h->next;

while( p->next && (p->next->data).id <= e.id )

p=p->next;

return p;

}


3. 文件处理部分

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77
#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#include"linklist.h"

#include"elem.h"

void dispnode(linklist h)

{

node *p;

p=h->next;

while(p)

{

dispelem(p);

p=p->next;

}

}

int inputnode(linklist h,T e)

{

node *p;

node *q;

p=h;

while(p->next&& (p->next->data).id<=e.id)

{

if((p->next->data).id==e.id)

return 0;

p=p->next;

}

q=(node*)malloc(sizeof(node));

q->data=e;

q->next=p->next;

p->next=q;

return 1;

}

int delnode(linklist h,int id)

{

node *p;

p=h;

while(p->next&&(p->next->data).id!=id)

p=p->next;

if(p->next)

{

node *t=p->next;

p->next=t->next;

free(t);

return 1;

}

else

return 0;

}

node* searchname(linklist h,char name[])

{

node *p;

p=h-next;

while( p && strcmp((p->data).name ,name)!=0)

p=p->next;

return p;

}

node* searchid(linklist h,int id)

{

node *p;

p=h->next;

while( p->next && (p->next->data).id <= e.id )

p=p->next;

return p;

}

4. 主菜单自定义部分

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67
#include <stdio.h>

#include <stdlib.h>

#include "linklist.h"

#include "elem.h"

#include "fileop.h"

void mainmenu();

void searchlinklist(linlist h)

{

linklist h;

h=(linklist)malloc(sizeof(node));

h->next=NULL;

loadfile(h);

mainmenu(h);

savefile(h);

printf("\\n");

return 0;

}

void mainmenu()

{

node *p;

int id;

T e;

int select;

int count=1;

do

{

printf("\\n");

printf(" ----------------¡¶SSMGS OS¡· ---------------\\n");

printf(" 1 displaying 2 searching 3 adding 4 deleting\\n\\n");

printf(" 5 changing 6 extiting \\n");

printf(" --------------------welcome ------------------------\\n");

printf("please input your select: ");

scanf("%d", &select);

switch(select)

{

case 1:

dispnode(h);

break;

case 2:

searchlinlist(h);

break;

case 3:

inputelem(&e);

if(inputnode(h,e))

printf("succeed\\n");

else

printf("failed\\n");

break;

case 4:

printf("please input id:");

scanf("%d",&id);

break;

case 5://功能引用

break;

case 6://功能引用

count=0;

break;

}

}while(count);

}

5.头文件集合部分

elem.h部分

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75
#ifndef LINKLIST_H_INCLUDED

#define LINKLIST_H_INCLUDED

#include"elem.h"

typedef struct node

{

T data;

struct node *next;

}node;

typedef node* linklist;

void dispnode(linklist h);

int inputnode(linklist h,T e);

int delnode(linklist h,int id);

node* searchname(linklist h,char name[]);

node* searchid(linklist h,int id);

#endif // LINKLIST_H_INCLUDED

fileop.h部分

#ifndef FILEOP_H_INCLUDED

#define FILEOP_H_INCLUDED

#include"linklist.h"

void savefile(linklist h);

void loadfile(linklist h);

#endif // FILEOP_H_INCLUDED

linklist.h部分

#ifndef LINKLIST_H_INCLUDED

#define LINKLIST_H_INCLUDED

#include"elem.h"

typedef struct node

{

T data;

struct node *next;

}node;

typedef node* linklist;

void dispnode(linklist h);

int inputnode(linklist h,T e);

int delnode(linklist h,int id);

node* searchname(linklist h,char name[]);

node* searchid(linklist h,int id);

#endif // LINKLIST_H_INCLUDED

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 C++基础学生管理系统 https://www.kuaiidc.com/75272.html

相关文章

发表评论
暂无评论