急急急?。「呤职镂易鞯捞猓 。?/h2>网上的例子 , 挺好的,自己改一下吧
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int shoudsave=0; //
struct student
{
char num[10];//学号
char name[20];
char sex[4];
int cgrade;
int mgrade;
int egrade;
int totle;
int ave;
char neartime[10];//最近更新时间
};
typedef struct node
{
struct student data;
struct node *next;
}Node,*Link;
void menu()
{
printf("********************************************************************************");
printf("\t1输入学生资料\t\t\t\t\t2删除学生资料\n");
printf("\t3查询学生资料\t\t\t\t\t4修改学生资料\n");
printf("\t5显示学生资料\t\t\t\t\t6统计学生成绩\n");
printf("\t7排序学生成绩\t\t\t\t\t8保存学生资料\n");
printf("\t9获取帮助信息\t\t\t\t\t0退出系统\n");
printf("********************************************************************************\n");
}
void printstart()
{
printf("-----------------------------------------------------------------------\n");
}
void Wrong()
{
printf("\n=====提示:输入错误!\n");
}
void Nofind()
{
printf("\n=====提示:没有找到该学生!\n");
}
void printc() // 本函数用于输出中文
{
printf(" 学号\t姓名性别 英语成绩 数学成绩 C语言成绩总分 平均分\n");
}
void printe(Node *p)//本函数用于输出英文
{
printf("%-12s%s\t%s\t%d\t%d\t%d\t%d\t %d\n",p-data.num,p-data.name,p-data.sex,p-data.egrade,p-data.mgrade,p-data.cgrade,p-data.totle,p-data.ave);
}
Node* Locate(Link l,char findmess[],char nameornum[]) //该函数用于定位连表中符合要求的接点,并返回该指针
{
Node *r;
if(strcmp(nameornum,"num")==0) //按学号查询
{
r=l-next;
while(r!=NULL)
{
if(strcmp(r-data.num,findmess)==0)
return r;
r=r-next;
}
}
else if(strcmp(nameornum,"name")==0) //按姓名查询
{
r=l-next;
while(r!=NULL)
{
if(strcmp(r-data.name,findmess)==0)
return r;
r=r-next;
}
}
return 0;
}
void Add(Link l) //增加学生
{
Node *p,*r,*s;
char num[10];
r=l;
s=l-next;
while(r-next!=NULL)
r=r-next; //将指针置于最末尾
while(1)
{
printf("请你输入学号(以'0'返回上一级菜单:)");
scanf("%s",num);
if(strcmp(num,"0")==0)
break;
while(s)
{
if(strcmp(s-data.num,num)==0)
{
printf("=====提示:学号为'%s'的学生已经存在,若要修改请你选择'4 修改'!\n",num);
printstart();
printc();
printe(s);
printstart();
printf("\n");
return;
}
s=s-next;
}
p=(Node *)malloc(sizeof(Node));
strcpy(p-data.num,num);
printf("请你输入姓名:");
scanf("%s",p-data.name);
getchar();
printf("请你输入性别:");
scanf("%s",p-data.sex);
getchar();
printf("请你输入c语言成绩:");
scanf("%d",p-data.cgrade);
getchar();
printf("请你输入数学成绩:");
scanf("%d",p-data.mgrade);
getchar();
printf("请你输入英语成绩:");
scanf("%d",p-data.egrade);
getchar();
p-data.totle=p-data.egrade+p-data.cgrade+p-data.mgrade;
p-data.ave=p-data.totle / 3;
//信息输入已经完成
p-next=NULL;
r-next=p;
r=p;
shoudsave=1;
}
}
void Qur(Link l) //查询学生
{
int sel;
char findmess[20];
Node *p;
if(!l-next)
{
printf("\n=====提示:没有资料可以查询!\n");
推荐阅读
- hbase建设,hbase搭建 简书
- 梅州微信小程序开发的公司,微信小程序开发公司xchxkf
- 开发独立游戏合作,独立游戏 开发
- 270粉丝直播视频教程,2700万粉丝
- php调用数据库图片地址 php怎么调用图片
- c语言ns流程图三种基本结构,c语言ns流程图
- thinkphpblog源码,thinkphp社区论坛源码
- ppt如何分享到今日头条,ppt如何分享到今日头条上
- vb.net读取文件函数 vbnet config文件读取