1. 首页 > 智能数码 >

简单的系统设计_系统设计怎么做

用C++设计一个简单的学生管理系统

额。。。最近好多人要这个东东。。不明白是什么意思。。。我自己写了一个,你看看。。。

简单的系统设计_系统设计怎么做简单的系统设计_系统设计怎么做


#include "stdio.h"

#include "stdlib.h"

#include "string.h"

#include "malloc.h"

typedef char ElemType;

#define OK 1

#define ERROR 0

#define OVER -1

typedef struct node

{int number;

char name[20];

int chinese,math,english;

struct node *next;

} LinkList;

LinkList *InitList()

{LinkList *H;

H=(LinkList *)malloc(sizeof(LinkList));

H->next=NULL;

return(H);

}int Length_list(LinkList *H)

{LinkList *p;

int j=0;

p=H;

while(p->next!=NULL)

{ p=p->next;

j++;

}return j;

}void CreateList(LinkList *H,int n)

{int i;

LinkList *s,*last;

char ch;

last=H;

for(i=1;i<=n;i++)

{ s=(LinkList *)malloc(sizeof(LinkList));

printf("\n请输入第%d个学生的学号:",i);

scanf("%d",&s->number);

printf("\n请输入第%d个学生的姓名:",i);

scanf("%s",&s->name);

printf("\n请输入第%d个学生的语文、数学和英语成绩:",i);

scanf("%d%d%d",&s->chinese,&s->math,&s->english);

s->next=NULL;

last->next=s;

last=s;

}}

LinkList *Locate(LinkList *H,int num)

{LinkList *p;

p=H->next;

while(p!=NULL&&p->number!=num)

p=p->next;

return p;

}LinkList *GetList(LinkList *H,int i)

{LinkList *p;

int j=0;

p=H;

while(p->next!=NULL &&j

{p=p->next;

j++;

}if(j==i)

return p;

else

return NULL;

}int InsList(LinkList *p,LinkList x)

{LinkList *s;

s=(LinkList *)malloc(sizeof(LinkList));

s->number=x.number;

strcpy(s->name,x.name);

s->chinese=x.chinese;

s->math=x.math;

s->english=x.english;

s->next=p->next;

p->next=s;

return OK;

}int Ins_List(LinkList *H,int i,LinkList x)

{LinkList *p;

p=GetList(H,i-1);

if(p!=NULL)

{InsList(p,x);

return OK;

}else

return ERROR;

}int DelList(LinkList *p,LinkList *x)

{LinkList *s;

s=p->next;

x->number=s->number;

strcpy(x->name,s->name);

x->chinese=s->chinese;

x->math=s->math;

x->english=s->english;

p->next=s->next;

free(s);

return OK;

}int Del_List(LinkList *H,int i,LinkList *x)

{LinkList *p;

p=GetList(H,i-1);

if(p!=NULL&&p->next!=NULL)

{DelList(p,x);

return OK;

}else

return ERROR;

}out()

{printf("\n*****************************************");

printf("\n请输入序号(0-4)选择要进行的操作:");

printf("\n0-------退出");

printf("\n1-------建立一个学生信息表");

printf("\n2-------插入一个学生信息");

printf("\n3-------删除一个学生信息");

printf("\n4-------查找一个学生是否在该学生信息表中");

printf("\n*****************************************\n");

}void DisLinkList(LinkList *H)

{LinkList *p;

printf("\n所有学生的信息如下:");

printf("\n 学号 姓名 语文 数学 英语\n");

p=H->next;

while(p!=NULL)

{printf("%2d%10s%9d%9d%9d\n",p->number,p->name,p->chinese,p->math,p->english);

p=p->next;

}}

void main()

{LinkList *H,*p,*q,x;

int i,n,menux,flag,num;

//clrscr();

out();

H=InitList();

scanf("%d",&menux);

do{switch(menux)

{case 0: exit(0); break;

case 1:

printf("\n请输入要生成学生信息表的元素各数:");

scanf("%d",&n);

CreateList(H,n);

printf("建立的学生信息表为:\n");

DisLinkList(H);

break;

case 2:

printf("\n请输入要插入的学生位置:");

scanf("%d",&i);

printf("\n请输入要插入的学生信息:");

printf("\n请输入学生的学号:");

scanf("%d",&x.number);

printf("\n请输入学生的姓名:");

scanf("%s",&x.name);

printf("\n请输入学生的语文 数学和英语成绩:");

scanf("%d%d%d",&x.chinese,&x.math,&x.english);

flag=Ins_List(H,i,x);

if(flag)

{printf("\n插入后的学生信息表为:");

DisLinkList(H);

}break;

case 3:

printf("请输入要删除的学生的位置:");

scanf("%d",&i);

flag=Del_List(H,i,&x);

if(flag)

{printf("\n删除第%d个学生后,表中信息为:",i);

DisLinkList(H);

}break;

case 4:

printf("\n请输入查找的学生学号:\n");

scanf("%d",&num);

if((q=Locate(H,num))!=NULL)

{printf("\n在学生信息表中存在着学号为%d的学生!",num);

printf("\n学号 姓名 语文 数学 英语\n");

printf("%2d%10s%9d%9d%9d",q->number,q->name,q->chinese,q->math,q->english);

}else

printf("\n在学生信息表中不存在着学号为%d的学生!",num);

break;

default:

printf("\n输入选项错误,请重新输入(0-4)!");

}out();

scanf("%d",&menux);

}while(1);

}

student.h

#include

class CHAIN{

public:

long num;

char name[30];

char sex;

int age;

CHAIN*link;

};

class STUDENT{

public:

STUDENT();

~STUDENT();

void add();

void amend();

void taxis();

void det();

void show();

void search();

private:

CHAIN*top;

};

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息