无标题文章
电装第三天,今天主要讲的电路板,老师教我们怎么画电路板,标准原理等等,因为没从事过弱点,一脸懵逼。
简单听了一会课,程序没写完,明天继续,好困
晚安。
#include#include//定一个结构体
typedef struct Student
{
char szName[20];
int nStuNum;
int nAge;
int nScore;
}Student;
struct tagNode
{
Student stu; //学生信息
struct tagNode*pNext; //指向下一个学生
}Node;
Node*g_pHead = NULL; //定一个头结点
//录入学生信息
void in();
void printStudent();
void SaveStudent();
void ReadStudent();
int main()
{
while(1)//死循环
{
printf("欢迎使用高校学生成绩管理系统\n");
printf("\t请输入功能\n");
printf("\t\t1.录入学生信息\n");
printf("\t\t2.打印学生信息\n");
printf("\t\t3.保存学生信息\n");
printf("\t\t4.读取学生信息\n");
printf("\t\t5.统计所有学生人数\n");
printf("\t\t6.查找学生信息\n");
printf("\t\t7.修改学生信息\n");
printf("\t\t8.删除学生信息\n");
printf("\t\t0.退出\n");
char ch;//ch=getchar();输入一个字符之后,他必须需要敲一下回车
ch = getch();
switch(ch)
{
case '1':
in();
break;
case '2':
PrintStudent();
break;
case '3':
void SaveStudent();
break;
case '4':
ReadStudent();
break;
case '5':
break;
case '6':
break;
case '7':
break;
case '8':
break;
case '0':
printf("欢迎再次使用!\n");
return 0;
break;
default:
printf("您输入有误,请重新输入!\n");
break;
}
}return 0;
}
void in()
{
printf("请输入学生信息:姓名 学号 年龄 成绩\n");
Node *p; //当前节点
p = g_pHead;
while(g_pHead !=NULL && p->pNext != NULL)
{
p = p->pNext;
}
//开辟一块内存
Node* pNewNode =(Node*)malloc(sizeof(Node));
pNewNode->pNext==NULL;
if(g_pHead == NULL)
{
g_pHead = pNewNode;
}
else
{
p->pNext =pNewNode;
}
//输入学员信息
scanf("%s %d %d %d",pNewNode->stu.szName,&pNewNode->stu.nStuNum,&pNewNode->stu.Age,&pNewNode->stu.nScore);
printf("输入成功");
}
void PrintStudent()
{
printf("所有学员信息");
Node *p;
p = g_pHead;
while(p!=NULL)
{
printf("学号:%d\t姓名:%s\t年龄:%d\t成绩:%d\n",
p->stu.nStuNum,
p->stu.nName,
p->stu.Age,
p->stu.nScore
);
p=p->pNext;
}
}
//保存学生信息
void SaveStudent()
{
FILE*pFile=fopen("D:\\studentinof.data","w");
if(pFile == NULL)
{
PRINTF("打开文件失败\n");
return;
}
//写入信息
while(p!=NULL)
{
fprintf(pFlie,"%d %s %d %d\n",
p->stu.nStuNum,
p->stu.szName,
p->stu.nAge,
p->stu.nScore
);
p=p->pNext;
}
printf("数据保存成功\n");
fclose(pFile);
}
void ReadStudent()
{
Node* p, *p2;
p=p2=g_pHead;
while(p2 !=NULL)
{
p=p->pNext;
free(p2);
p2 = p;
}
g_pHead = NULL;
//从文件读取,每一个学员信息保存到链表节点
FILE*pFile = fopen(D:\\)
if(pFile == NULL)
{
printf("打开文件失败\n");
return;
}
while(!feof(pFile))
{
Node* pTemp = (Node*)malloc(sizeof(Node));
fscanf(pFile,"%d %s %d %d\n",
&pTemp->stu.szName
)
}
}