成績管理系統

2021-09-16 13:41:38 字數 3571 閱讀 6827

/*為什麼我的這個成績管理系統  只要有兩個人的成績以後  再次使用add函式就不能新增了學生了*/

#include #include#includestruct student

*head=null;

int n=0;

int couting(struct student *head);

struct student *creat();

void change(struct student *head);

void search(struct student *head);

//void add(struct student* head);

void add(void);

void delect(struct student *head);

void printlist(struct student *head);

void sort(struct student *head);

void login();

void select();

void menu();

int main()

//建立鍊錶(建立學生的資訊)

struct student *creat()

end->next=null;

return head;

};//修改學生的資訊

void change(struct student *head)

while(1)

if(strcmp(p1->name,named)==0)

else }

else}};

//查詢學生的資訊,並且輸出

void search(struct student *head)

char key;

char named[20];

while(1)

if(p1->name==named)

else }

else}};

//增加乙個學生

//void add(struct student* head)

void add(void)

printf("還沒有學生的任何資訊,是否手動新增乙個y or n");

setbuf(stdin,null);

scanf("%c",&key);

if(key=='y'||key=='y')

printf("請輸入該學生的資訊,依次為學號,姓名,成績\n");

setbuf(stdin,null);

scanf("%d%s%d",&p2->number,p2->name,&p2->score);

head->next=p2;

p2->next=null;

printf("插入完畢是否繼續插入y/n");

setbuf(stdin,null);

scanf("%c",&key);

if(key=='y'||key=='y')

else }

else

}struct student *p3=(struct student *)malloc(sizeof(struct student));

struct student *p1=head;

struct student *p2;

printf("你想在**增加節點的資訊\n");

scanf("%d",&n);

if(n<=0)

for(int i=0;inext;

if(p1->next==null&&i==0)

else

} printf("是否願意插在這個學生之後呢y or n");

setbuf(stdin,null);

scanf("%c",&key);

if(key=='y'||key=='y')

else

} else }

if(n==n&&p1->next==null)

else }

else

}else

if(p1==null)

else }

else}}

if(p1->next!=null)

else

};//刪除學生的資訊

void delect(struct student *head)

char key;

if(head->next==null)

char names[20];

printf("請輸入你查詢的學生的名字\n");

scanf("%s",names);

struct student *p1=head->next,*p2=head;

while(strcmp(p1->name,names)!=0)

else }

if(p1->next==null&&strcmp(p1->name,names)!=0)

}if(strcmp(p1->name,names)==0)

else }

printf("找到該學生,是否現在刪除該學生的資訊\n(y/n)");

setbuf(stdin,null);

scanf("%c",&key);

if(key=='y'||key=='y')

else }

else}};

//遍歷鍊錶,列印所有學生資訊

void printlist(struct student *head)

int n;

struct student *p1=(head->next);

printf("你想列印多少個學生的資訊\n");

scanf("%d",&n);

if(n==0)

for(int i=0; inumber,p1->name,p1->score);

p1=p1->next;

if(p1==null)

}printf("列印完畢按任意鍵返回");

getchar();

}void sort(struct student *head)

int i,j,temp,n;

printf("你想對幾個學生的成績進行排序\n");

scanf("%d",&n);

for(i=1; inext,*p2=p1->next;

for(j=i; jscorescore)

if(p2->next==null)

p1=p1->next;

p2=p2->next;}}

printf("這些排序後的成績是\n");

printlist(head);

getchar();

return ;

}void menu()

void login()

j++;

printf("*");

}if(strcmp(nameme,"1")==0&&strcmp(passward,"1")==0)

else}}

}int couting(struct student *head)

return n;

}void select()

}

成績管理系統

file name slist.c 單向鍵結鍊錶,插入 刪除使用排序 學會對檔案操作檔案操作和單鏈表一起使用 include include include include void read func void void write func void void insert func void ...

C 成績管理系統

以防老師再次叫我們做這些,先寫好乙個在這裡 author 小陳 date 2019 03 17 11 04 17 last by 小陳 last time 2019 03 17 11 58 40 include pch.h include include include using namespac...

學生成績管理系統

include include include define n 50 定義符號常量,代表學生人數最大值 int count 0 全域性變數,用於記錄陣列的當前位置 struct student 定義結構體型別,代表學生資訊 void input struct student arr 函式宣告,輸入...