#include<stdio.h>
#include<stdlib.h>
#define MAX 100
#define NULL 0
typedef struct stu//學生資訊(鏈表)
{
char name[20];
int num;
int place;
float score;
}stu;
typedef struct lnode{
struct stu *data;
struct lnode *next;
}lnode,*linklist;
int n=0;
void menu();
void add(linklist);
//void display(linklist);
void main(){
menu();
}
void menu(){
linklist l=(linklist)malloc(sizeof(lnode));
l->next=NULL;
int a;
printf(" **********請選擇相應功能********** \n\n");
printf("| 1,輸入學生資訊 |\n");
printf("| 2,顯示所有學生資訊 |\n");
printf("| 3,查找學生資訊 |\n");
printf("| 4,查找某位置學生資訊 |\n");
printf("| 5,查找學生資訊 |\n");
printf("| 6,洗掉學生資訊 |\n");
printf("| 7,統計學生個數 |\n");
scanf("%d",&a);
if(a==1) add(l);
// if(a==2) display(l);
}
void add(linklist l){
int s;
linklist p;
printf("請輸入要輸入資訊的學生人數:");
scanf("%d",&s);
for(int i=1;i<=s;i++){
p=(linklist)malloc(sizeof(lnode));
printf("\n請輸入第%d個學生的姓名:",i);
scanf("%s",&p->data->name);
printf("\n請輸入第%d個學生的學號:",i);
scanf("%d",&p->data->num);
printf("\n請輸入第%d個學生的成績:",i);
scanf("%f",&p->data->score);
n++;
p->data->place=n;
l->next=p;
p->next=NULL;
}
printf("按1鍵回傳選單");
scanf("%d",&s);
if(s==1)menu();
}
uj5u.com熱心網友回復:
l->next=p;p->next=NULL;
如果l是頭指標的話,一般要另外定義一個指標,指向頭指標,用它來操作。頭指標一般不動,因為它是鏈表的開始,它動了就找不到頭了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/228631.html
標籤:C++ 語言
下一篇:請教一下wstring輸出的問題
