学生成绩管理系统基本C语言编写汇编

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学习-----好资料

//代码版权所有,不要copy,仅供参考学习。

#include stdio.h //标准输入输出函数库

#include stdlib.h //标准函数库

#include string.h //字符串函数库

#include conio.h //屏幕操作函数库

#define HEADER1 ***************************学生成绩信息

****************************** \n\n

#define HEADER2 学号姓名计算机数学英语总分平均分名次\n\n

#define FORMAT %-10s %-10s ] ] ] ] %.3f M \n

#define DATA

p->data.num,p->,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.total,p->data.ave,p->data.mingci

int saveflag=0; //是否需要存盘的标志变量

//定义与学生有关的数据结构

typedef struct student //标记为student

{

char num[12]; //学号

char name[15]; //姓名

int cgrade; //计算机成绩

int mgrade; //数学成绩

int egrade; //英语成绩

int total; //总分

float ave; //平均分

int mingci; //名次

}sqlist;

//定义每条记录或结点的数据结构,标记为:node

typedef struct node

{

struct student data;//数据域

struct node *next; //指针域

}Node,*Link; //Node为node类型的结构变量,*Link为node类型的指针变量

void menu() //主菜单

{

system(cls); //调用DOS命令,清屏.与clrscr()功能相同

printf( \n);

printf( 学生成绩管理信息系统主菜单\n\n);

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

printf( $ 1、添加记录6、统计记录$\n);

printf( $ 2、删除记录7、排序记录$\n);

更多精品文档.

学习-----好资料

printf( $ 3、查找记录8、保存记录$\n);

printf( $ 4、修改记录9、显示记录$\n);

printf( $ 5、插入信息0、退出系统$\n);

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

}

void printheader() //格式化输出表头

{

printf(HEADER1);

printf(HEADER2);

}

void printdata(Node *pp) //格式化输出表中数据

{

Node* p;

p=pp;

printf(FORMAT,DATA);

}

void Wrong() //输出按键错误信息

{

printf(\

\n\n\n\n**********Error:输入错误!请按任意键继续!!**********\n);

getchar();

}

void Nofind() //输出未查找此学生的信息

{

printf(\

=====>未查找此学生的信息!\n);

}

void Disp(Link l) //显示单链表l中存储的学生记录,内容为student结构中定义的内容

{

Node *p;

p=l->next; //l存储的是单链表中头结点的指针,该头结点没有存储学生信息,指针域指向的后继结点才有学生信息

if(!p) //p==NULL,NUll在stdlib中定义为0

{

printf(\

=====>无学生的记录!\n);

getchar();

return;

}

printf(\

\n);

printheader(); //输出表格头部

更多精品文档.

学习-----好资料

while(p) //逐条输出链表中存储的学生信息

{

printdata(p);

p=p->next; //移动直下一个结点

}

getchar(); getchar();

}

/*作用:用于定位链表中符合要求的节点,并返回指向该节点的指针

参数:findmess[]保存要查找的具体内容; nameornum[]保存按什么查找;在单链表l中查找;*/

Node* Locate(Link l,char findmess[],char nameornum[])

{

Node *r;

if(strcmp(nameornum,

um)==0) //按学号查询

{

r=l->next;

while(r)

{

if(strcmp(r->data.num,findmess)==0) //若找到findmess值的学号

return r;

r=r->next;

}

}

else if(strcmp(nameornum,

ame)==0) //按姓名查询

{

r=l->next;

while(r)

{

if(strcmp(r->,findmess)==0) //若找到findmess值的学生姓名

return r;

相关文档
最新文档