#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct student{ //定义结构体
char xh[10];
char name[10];
int grade;
struct student *next;
}xsc;
void dl();//登录界面
void add();//添加信息
void mod(xsc *head);//修改信息
void find(xsc *head);//搜索信息
void tj(xsc *head);//统计信息
//void px();//英语成绩排序
void end();//退出
int main() //主函数
{
dl();
return 0;
}
void add(xsc *head) //输入学生信息
{
// head=(xsc *)malloc(sizeof(xsc));
head->next=NULL;
char xh[10];
char name[10];
int grade;
xsc *p=NULL,*p1=NULL;
p1=(xsc *)malloc(sizeof(xsc));
p=head;
while(p->next!=NULL)
{
p=p->next;
}
printf("请输入学生信息:\n");
printf("请输入学号:\n");
scanf("%s",xh);
getchar();
printf("请输入姓名:\n");
scanf("%s",name);
getchar();
printf("请输入成绩:\n");
scanf("%d",&p1->grade);
getchar();
strcpy(p1->xh,xh);
strcpy(p1->name,name);
p->next=p1;
p=p->next;
p->next = NULL;
dl();
}
void mod(xsc *head) //修改学生信息
{
head=(xsc *)malloc(sizeof(xsc));
head->next=NULL;
xsc *p1 = head->next;
char xh[10];
char xh2[10];
char name[10];
char name1[10];
int grade;
int grade1;
char xh1[10];
printf("请输入你要修改的学生信息的学号:\n");
scanf("%s",xh1);
getchar();
while(p1->next!=NULL)
{
if(strcmp(p1->next->xh,xh1)==0)
{
printf("请输入该学生的修改信息:\n");
printf("请输入学号:\n");
scanf("%s",xh2);
getchar();
printf("请输入姓名:\n");
scanf("%s",name1);
getchar();
printf("请输入成绩:\n");
scanf("%d",&grade1);
getchar();
printf("信息修改成功!\n");
}
else
{
printf("未找到你所要修改学生信息的学号,请重新输入:\n");
dl();
}
p1=p1->next;
}
}
void find(xsc *head)//查找信息
{
// head=(xsc *)malloc(sizeof(xsc));
head->next=NULL;
xsc *p1 = head->next;
char xh[10];
char name[10];
int grade;
char xh1[10];
printf("请输入你要修改的学生信息的学号:\n");
scanf("%s",xh1[10]);
getchar();
while(p1!=NULL)
{
if(strcmp(p1->xh,xh1)==0)
{
printf("%s %s %d",p1->xh,p1->name,p1->grade);
}
p1=p1->next;
}
dl();
}
void tj(xsc *head) //统计学生信息
{
head=(xsc *)malloc(sizeof(xsc));
head->next=NULL;
xsc *p2 = head->next;
char xh[10];
char name[10];
int grade;
char xh1[10];
while(p2!=NULL)
{
printf("%s %s %d",p2->xh,p2->name,p2->grade);
p2=p2->next;
}
dl();
}
void end() //退出
{
printf("退出成功 !");
exit(0);
}
void dl()
{
int a;
xsc *head;
head=(xsc *)malloc(sizeof(xsc));
printf("-----------1.新增学生信息;--------------\n");
printf("-----------2.删除学生信息;--------------\n");
printf("-----------3.学生信息搜索;--------------\n");
printf("-----------4.学生信息统计;--------------\n");
printf("-----------5.按英语成绩排序;------------\n");
printf("-----------6.退出;----------------------\n");
printf("请在1-6之间选择:\n");
scanf("%d",&a);
switch(a)
{
case 1:add(head);break;
case 2:mod(head);break;
case 3:find(head);break;
case 4:tj(head);break;
// case 5:px();break;
case 6:end();break;
default :printf("请在1-6之间选择\n");break;
}
}
c语言大作业
最新推荐文章于 2024-01-11 13:06:57 发布