📄 7_1.c
字号:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
struct student{
int Number;
char Name[20];
char SClass[5];
char CNumber[2];
int score;
struct student *next;
};
struct student *ptrthis,*ptrhead;//全局变量
void instructions()
{
printf("输入1时表示输入新的记录\n");
printf("输入2时表示将所有学生数据输出\n");
printf("输入3时表示根据学号查询学生信息\n");
printf("输入0时则程序终止\n");
}
//插入新的学生信息
void newrecord()
{
int num;
struct student *p,*ptrnew;
ptrnew=(struct student*)malloc(sizeof(struct student));/*创建一个新的结点*/
printf("input the information(number is 0 means input is end).\n");
printf("number:");
scanf("%d",&num);
p=ptrhead;
while(p!=NULL)
{
if(p->Number==num)
{
printf("error!please input again!\n");
scanf("%d",&num);
}
p=p->next;
}//判断新输入的号码是否和已经存在的号码冲突
ptrnew->Number=num;
printf("name:");
scanf("%s",ptrnew->Name);
ptrnew->Name[19]='\0';
printf("s_class:");
scanf("%s",ptrnew->SClass);
ptrnew->SClass[4]='\0';
printf("course_number:");
scanf("%s",ptrnew->CNumber);
ptrnew->CNumber[1]='\0';
printf("score:");
scanf("%d",&ptrnew->score);
ptrnew->next=NULL;
if(ptrhead==NULL)
ptrthis=ptrhead=ptrnew;
else
ptrthis->next=ptrnew;
ptrthis=ptrnew;
}
//输出所有学生信息
void listall()
{
struct student *p;
p=ptrhead;
printf("\nNumber\t\tName\t\tSClass\t\tCNumber\t\tscore\n");
while(p!=NULL)
{
printf("%d\t\t%s\t\t%s\t\t%s\t\t%d\n",p->Number,p->Name,p->SClass,p->CNumber,p->score);
p=p->next;
}
}
//根据学号查询学生信息
void query()
{
int num;
struct student *p;
int flag=0;//标记是否找到需要查找的学号
printf("please enter hte student number:");
scanf("%d",&num);
p=ptrhead;
while(p!=NULL)
{
if(p->Number==num)
{
flag=1;
printf("\n%d\t\t%s\t\t%d\t\t%d\t\t%d\n",p->Number,p->Name,p->SClass,p->CNumber,p->score);
break;
}
p=p->next;
}
if(flag==0)
{
printf("error!\n");
getch();
exit(1);
}
}
main()
{
int a;
ptrthis=ptrhead=NULL;
instructions();
while(1)
{
printf("enter a number(1 or 2 or 3)\n:");
scanf("%d",&a);
if(a==0)
exit(1);
switch(a)
{
case 1:
newrecord();
break;
case 2:
listall();
break;
case 3:
query();
break;
default:
printf("error!\n");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -