數據結構實訓學生成績
❶ 數據結構。求程序。學生成績管理(用順序表)
#include<stdio.h>
#include<stdlib.h>
#define N 10 //順序表的最大容量
int length=0; //順序表的當前元素個數
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define LIST_INIT_SIZE 100//線性表存儲的空間初始化分配量
#define LISTINCREAMENT 10 //線性表存儲空間的分配增量
typedef struct LNode//線性單鏈表存儲結構
{
int data;
struct LNode *next;
}LNode,*LinkList;
int CreatList_L(LinkList&L)//創建一個線性鏈表
{
L=(LinkList)malloc(sizeof(LNode));//分配一個空間給鏈表,作為頭結點
if(!L) exit(OVERFLOW);
L->next=NULL;
return OK;
}
int DestroyList_L(LinkList &L)//銷毀鏈表
{
if(L) free(L);
return OK;
}
int ListInsert_L(LinkList&L,int i,int e)//再練表的第i個元素前插入一個元素e
{
LinkList p=L;//p指針定位於i-1
LNode *s;
int j=0;
while(p&&j<i-1) {p=p->next;j++;}//定位
if(!p||j>i-1) return ERROR;//如果i<1或大於鏈表元素個數+1
s=(LNode*)malloc(sizeof(LNode));
if(!s) exit(OVERFLOW);
s->data=e; //完成插入操作
s->next=p->next;
p->next=s;
return OK;
}
int ListDelet_L(LinkList&L,int i,int&e)//刪除鏈表L中的第i個元素,並返回給e;
{
LinkList p=L;
LNode* q;
int j=0;
while(!p&&j<i-1) {p=p->next;j++;}//p指針定位於i-1;
if(!p->next||j>i-1) return ERROR;
e=p->next->data; //完成刪除操作
q=p->next;
p->next=p->next->next;
free(q);
return OK;
}
int ListTraverse_L(LinkList L,int n)//鏈表的遍歷
{
int i=0;
if(!L)return ERROR;
L=L->next;
while(L)
{
if(L->data==n)return i;
L=L->next;
i++;
}
return FALSE;
}
int InverseSingleList_L(LinkList &L)
{
if(!L->next||!L->next->next)//如果鏈表少於2個Node那麼鏈表不需要改變順序
return OK;
LNode *p,*q;
p=L->next; //第一次因為p是最後一個連接所以把p->next設為空
q=p->next;
p->next=NULL;
p=q;
while(p)
{
q=p->next; //用q去保留p後面一個Node;
p->next=L->next;
L->next=p;
p=q;
}
return OK;
}
int main()
{
int List[N];
LinkList L;
int ch,exit='N';
do
{
system("CLS");
printf("\t\t********************************************\n");
printf("\t\t* 1.創建一個順序表 .........(1) *\n");
printf("\t\t* 2.在順序表中查找元表.........(2) *\n");
printf("\t\t* 3.在順序表中插入元表.........(3) *\n");
printf("\t\t* 4.在順序表中刪除元表.........(4) *\n");
printf("\t\t* 5.退出 .........(5) *\n");
printf("\t\t********************************************\n");
printf("\n請選擇操作代碼:");
ch=getchar();
switch(ch)
{
case '1':
printf("\n請輸入十個元素");
CreatList_L(L);
for(length=0;length<N;length++)
{
scanf("%d",&List[length]);
getchar();
ListInsert_L(L,length+1,List[length]);
}
printf("\n創建成功!");
getchar();
break;
case '2':
scanf("%d",&List[0]);
if(ListTraverse_L(L,List[0]))printf("該元素存在該年表的第%d個位置",ListTraverse_L(L,List[0]));
else printf("不存在該元素");
getchar();
break;
case '3':
scanf("%d%d",&length,&List[0]);
ListInsert_L(L,length,List[0]);
system("pause");
break;
case '4':
scanf("%d",&length);
ListDelet_L(L,length,List[0]);
system("pause");
break;
case '5':
printf("\n您是否真的要退出程序(Y/N):");
getchar();
exit=getchar();
break;
default:
getchar();
printf("\n無效輸入,請重新選擇...:");
getchar();
break;
}
}while(exit!='y'&&exit!='Y');
}
❷ 數據結構線性表的操作,學生成績管理
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int shoudsave=0; /* */
struct student
{
char num[10];/* 學號 */
char name[20];
char sex[4];
int cgrade;
int mgrade;
int egrade;
int totle;
int ave;
char neartime[10];/* 最近更新時間 */
}; typedef struct node
{
struct student data;
struct node *next;
}Node,*Link; void menu()
{
printf("********************************************************************************");
printf("\t1登記學生資料\t\t\t\t\t2刪除學生資料\n");
printf("\t3查詢學生資料\t\t\t\t\t4修改學生資料\n");
printf("\t5保存學生資料\t\t\t\t\t6作者介紹\n");
printf("\t0退出系統\n");
printf("********************************************************************************\n");
} void printstart()
{
printf("-----------------------------------------------------------------------\n");
}
void Wrong()
{
printf("\n=====>提示:輸入錯誤!\n");
} void Nofind()
{
printf("\n=====>提示:沒有找到該學生!\n");
} void printc() /* 本函數用於輸出中文 */
{
printf(" 學號\t 姓名 性別 英語成績 數學成績 C語言成績 總分 平均分\n");
} void printe(Node *p)/* 本函數用於輸出英文 */
{
printf("%-12s%s\t%s\t%d\t%d\t%d\t %d\t %d\n",p->data.num,p->data.name,p->data.sex,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.totle,p->data.ave);
} Node* Locate(Link l,char findmess[],char nameornum[]) /* 該函數用於定位連表中符合要求的接點,並返回該指針 */
{
Node *r;
if(strcmp(nameornum,"num")==0) /* 按學號查詢 */
{
r=l->next;
while(r!=NULL)
{
if(strcmp(r->data.num,findmess)==0)
return r;
r=r->next;
}
}
else if(strcmp(nameornum,"name")==0) /* 按姓名查詢 */
{
r=l->next;
while(r!=NULL)
{
if(strcmp(r->data.name,findmess)==0)
return r;
r=r->next;
}
}
return 0;
} void Add(Link l) /* 增加學生 */
{
Node *p,*r,*s;
char num[10];
r=l;
s=l->next;
while(r->next!=NULL)
r=r->next; /* 將指針置於最末尾 */
while(1)
{
printf("請你輸入學號(以'0'返回上一級菜單:)");
scanf("%s",num);
if(strcmp(num,"0")==0)
break;
while(s)
{
if(strcmp(s->data.num,num)==0)
{
printf("=====>提示:學號為'%s'的學生已經存在,若要修改請你選擇'4 修改'!\n",num);
printstart();
printc();
printe(s);
printstart();
printf("\n");
return;
}
s=s->next;
} p=(Node *)malloc(sizeof(Node)); strcpy(p->data.num,num);
printf("請你輸入姓名:");
scanf("%s",p->data.name);
getchar();
printf("請你輸入性別:");
scanf("%s",p->data.sex);
getchar();
printf("請你輸入c語言成績:");
scanf("%d",&p->data.cgrade);
getchar();
printf("請你輸入數學成績:");
scanf("%d",&p->data.mgrade);
getchar();
printf("請你輸入英語成績:");
scanf("%d",&p->data.egrade);
getchar();
p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade;
p->data.ave=p->data.totle / 3;
/* 信息輸入已經完成 */
p->next=NULL;
r->next=p;
r=p;
shoudsave=1; }
} void Qur(Link l) /* 查詢學生 */
{
int sel;
char findmess[20];
Node *p; if(!l->next)
{
printf("\n=====>提示:沒有資料可以查詢!\n");
return;
}
printf("\n=====>1按學號查找\n=====>2按姓名查找\n");
scanf("%d",&sel);
if(sel==1)/* 學號 */
{
printf("請你輸入要查找的學號:");
scanf("%s",findmess);
p=Locate(l,findmess,"num");
if(p)
{
printf("\t\t\t\t查找結果\n");
printstart();
printc();
printe(p);
printstart();
}
else
Nofind();
}
else if(sel==2) /* 姓名 */
{
printf("請你輸入要查找的姓名:");
scanf("%s",findmess);
p=Locate(l,findmess,"name");
if(p)
{
printf("\t\t\t\t查找結果\n");
printstart();
printc();
printe(p);
printstart();
}
else
Nofind();
}
else
Wrong(); } void Del(Link l) /* 刪除 */
{
int sel;
Node *p,*r;
char findmess[20];
if(!l->next)
{
printf("\n=====>提示:沒有資料可以刪除!\n");
return;
}
printf("\n=====>1按學號刪除\n=====>2按姓名刪除\n");
scanf("%d",&sel);
if(sel==1)
{
printf("請你輸入要刪除的學號:");
scanf("%s",findmess);
p=Locate(l,findmess,"num");
if(p)
{
r=l;
while(r->next!=p)
r=r->next;
r->next=p->next;
free(p);
printf("\n=====>提示:該學生已經成功刪除!\n");
shoudsave=1;
}
else
Nofind();
}
else if(sel==2)
{
printf("請你輸入要刪除的姓名:");
scanf("%s",findmess);
p=Locate(l,findmess,"name");
if(p)
{
r=l;
while(r->next!=p)
r=r->next;
r->next=p->next;
free(p);
printf("\n=====>提示:該學生已經成功刪除!\n");
shoudsave=1;
}
else
Nofind();
}
else
Wrong();
} void Modify(Link l)
{
Node *p;
char findmess[20];
if(!l->next)
{
printf("\n=====>提示:沒有資料可以修改!\n");
return;
}
printf("請你輸入要修改的學生學號:");
scanf("%s",findmess);
p=Locate(l,findmess,"num");
if(p)
{
printf("請你輸入新學號(原來是%s):",p->data.num);
scanf("%s",p->data.num);
printf("請你輸入新姓名(原來是%s):",p->data.name);
scanf("%s",p->data.name);
getchar();
printf("請你輸入新性別(原來是%s):",p->data.sex);
scanf("%s",p->data.sex);
printf("請你輸入新的c語言成績(原來是%d分):",p->data.cgrade);
scanf("%d",&p->data.cgrade);
getchar();
printf("請你輸入新的數學成績(原來是%d分):",p->data.mgrade);
scanf("%d",&p->data.mgrade);
getchar();
printf("請你輸入新的英語成績(原來是%d分):",p->data.egrade);
scanf("%d",&p->data.egrade);
p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade;
p->data.ave=p->data.totle/3;
printf("\n=====>提示:資料修改成功!\n");
shoudsave=1;
}
else
Nofind(); } void Disp(Link l)
{
int count=0;
Node *p;
p=l->next; if(!p)
{
printf("\n=====>提示:沒有資料可以顯示!\n");
return;
}
printf("\t\t\t\t顯示結果\n");
printstart();
printc();
printf("\n");
while(p)
{
printe(p);
p=p->next;
}
printstart();
printf("\n");
} void Tongji(Link l)
{
Node *pm,*pe,*pc,*pt,*pa; /* 用於指向分數最高的接點 */
Node *r=l->next;
if(!r)
{
printf("\n=====>提示:沒有資料可以統計!\n");
return ;
}
pm=pe=pc=pt=pa=r;
while(r!=NULL)
{
if(r->data.cgrade>=pc->data.cgrade)
pc=r;
if(r->data.mgrade>=pm->data.mgrade)
pm=r;
if(r->data.egrade>=pe->data.egrade)
pe=r;
if(r->data.totle>=pt->data.totle)
pt=r;
if(r->data.ave>=pa->data.ave)
pa=r;
r=r->next;
}
printf("------------------------------統計結果--------------------------------\n");
printf("總分最高者:\t%s %d分\n",pt->data.name,pt->data.totle);
printf("平均分最高者:\t%s %d分\n",pa->data.name,pa->data.ave); printf("英語最高者:\t%s %d分\n",pe->data.name,pe->data.egrade);
printf("數學最高者:\t%s %d分\n",pm->data.name,pm->data.mgrade);
printf("c語言最高者:\t%s %d分\n",pc->data.name,pc->data.cgrade);
printstart();
}
void Writer()
{
printf(" 我就是傳說中的SDDF.啊哈哈\n\n");
}
void Sort(Link l)
{
Link ll;
Node *p,*rr,*s; ll=(Link)malloc(sizeof(Node)); /* 用於做新的連表 */
ll->next=NULL; if(l->next==NULL)
{
printf("\n=====>提示:沒有資料可以排序!\n");
return ;
}
p=l->next;
while(p)
{
s=(Node*)malloc(sizeof(Node)); /* 新建接點用於保存信息 */
s->data=p->data;
s->next=NULL; rr=ll;
while(rr->next!=NULL && rr->next->data.totle>=p->data.totle)
rr=rr->next;
if(rr->next==NULL)
rr->next=s;
else
{
s->next=rr->next;
rr->next=s;
}
p=p->next;
}
free(l);
l->next=ll->next;
printf("\n=====>提示:排序已經完成!\n");
} void Save(Link l)
{
FILE* fp;
Node *p;
int flag=1,count=0;
fp=fopen("c:\\student","wb");
if(fp==NULL)
{
printf("\n=====>提示:重新打開文件時發生錯誤!\n");
exit(1);
}
p=l->next; while(p)
{
if(fwrite(p,sizeof(Node),1,fp)==1)
{
p=p->next;
count++;
}
else
{
flag=0;
break;
}
}
if(flag)
{
printf("\n=====>提示:文件保存成功.(有%d條記錄已經保存.)\n",count);
shoudsave=0;
}
fclose(fp);
} void main()
{
Link l;/* 連表 */
FILE *fp; /* 文件指針 */
int sel;
char ch;
char jian; int count=0;
Node *p,*r;
printf("\t\t\t\t學生成績管理系統\n\t\t\t\t\n");
l=(Node*)malloc(sizeof(Node));
l->next=NULL;
r=l; fp=fopen("C:\\student","rb");
if(fp==NULL)
{
printf("\n=====>提示:文件還不存在,是否創建?(y/n)\n");
scanf("%c",&jian);
if(jian=='y'||jian=='Y')
fp=fopen("C:\\student","wb");
else
exit(0);
}
printf("\n=====>提示:文件已經打開,正在導入記錄......\n"); while(!feof(fp))
{
p=(Node*)malloc(sizeof(Node));
if(fread(p,sizeof(Node),1,fp)) /* 將文件的內容放入接點中 */
{
p->next=NULL;
r->next=p;
r=p; /* 將該接點掛入連中 */
count++;
}
} fclose(fp); /* 關閉文件 */
printf("\n=====>提示:記錄導入完畢,共導入%d條記錄.\n",count); while(1)
{
menu();
printf("請你選擇操作:");
scanf("%d",&sel); if(sel==0)
{
if(shoudsave==1)
{ getchar();
printf("\n=====>提示:資料已經改動,是否將改動保存到文件中(y/n)?\n");
scanf("%c",&ch);
if(ch=='y'||ch=='Y')
Save(l);
}
printf("\n=====>提示:你已經退出系統,再見!\n");
break;
}
switch(sel)
{
case 1:Add(l);break; /* 增加學生 */
case 2:Del(l);break;/* 刪除學生 */
case 3:Qur(l);break;/* 查詢學生 */
case 4:Modify(l);break;/* 修改學生 */
case 5:Save(l);break;/* 保存學生 */
case 6:Writer();break;/*作者介紹*/
case 9:printf("\t\t\t==========幫助信息==========\n");break;
default: Wrong();getchar();break;
}
}
}
/* */
數據結構課程設計
要求的是什麼
任務是,
最理想的+口
❹ 數據結構實驗:運用順序表或鏈表,實現對學生成績的輸入、輸出、查詢、插入、刪除、修改、排序等功能
這個問題你可以用易微庫表這個工具試下,工具可以在網路軟體http://rj..com/中搜索易微庫表,使用手冊可以在網路文庫http://wenku..com/中搜索易微庫表,以下是簡介
普通人也可以自己設計程序,根據平時處理業務數據時總結的表格、方法、公式等信息,創建一個自己的程序。數據結構自定義、自動計算記錄數、自動計算列合計、錄入首字母自動顯示相應的屬性類值、Excel數據處理、數據去重、數據整理、數據統計、數據一維表變成二維表的列轉行,數據公式計算、數據首字母檢索、數據快速檢索、Excel數據導入、Excel數據導出、數據顯示排序、查詢結果計算百分比、查詢結果計算順序名次、數據查詢條件自定義、數據高級篩選、小數據量數據挖掘、自定義顯示欄位名稱等等這些功能都可以通過簡單配置後即可實現。如此神奇的事情,趕快創建一個屬於自己的庫表程序吧。
❺ 數據結構實驗--學生成績管理,要求建立學生成績表,用單鏈表實現
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
{
char name[20];
char num[10];
float score;
}Grade;
typedef struct Lnode
{
Grade mark;
struct Lnode *next;
}Lnode,*Linklist;
Linklist create()
{
int flag=1;
Linklist p,head;
head=NULL;
while(flag!=0)
{
p=(Linklist)malloc(sizeof(Lnode));
printf("請輸入學生的姓名、學生的學號以及學生的成績\n");
scanf("%s%s%f",p->mark.name,p->mark.num,&p->mark.score);
fflush(stdin);
p->next=head;
head=p;
printf("請輸入flag的值,為0或者為1,0代表結束輸入、1代表繼續輸入\n");
scanf("%d",&flag);
fflush(stdin);
}
return head;
}
void output(Linklist head)
{
Linklist p;
p=(Linklist)malloc(sizeof(Lnode));
printf("學生姓名、學號、成績分別為:\n");
for(p=head;p!=NULL;p=p->next)
printf("%s %s %.2f\n",p->mark.name,p->mark.num,p->mark.score);
}
void search(Linklist head,char *num)
{
Linklist p;
p=(Linklist)malloc(sizeof(Lnode));
for(p=head;p!=NULL && strcmp(p->mark.num,num)!=0;p=p->next);
printf("查詢的結果為\n");
printf("%s %s %.2f\n",p->mark.name,p->mark.num,p->mark.score);
}
void insert(Linklist head,Grade mark,char *num)//在學號num之前插入一條學生成績記錄
{
Linklist p,q;
p=(Linklist)malloc(sizeof(Lnode));
q=(Linklist)malloc(sizeof(Lnode));
for(p=head;p!=NULL && strcmp(p->next->mark.num,num)!=0;p=p->next);
strcpy(q->mark.name,mark.name);
strcpy(q->mark.num,mark.num);
q->mark.score=mark.score;
q->next=p->next;
p->next=q;
}
void delet(Linklist head,char *num)
{
Linklist p;
p=(Linklist)malloc(sizeof(Lnode));
for(p=head;p!=NULL && strcmp(p->next->mark.num,num)!=0;p=p->next);
p->next=p->next->next;
}
void main()
{
Linklist head;
Grade mark;
head=(Linklist)malloc(sizeof(Lnode));
head=NULL;
head=create();
printf("請輸入姓名、學號、成績");
scanf("%s%s%f",mark.name,mark.num,&mark.score);
output(head);
search(head,"03");
insert(head,mark,"02");
output(head);
delet(head,"03");
output(head);
}
❻ 數據結構課程設計 學生成績查詢系統
這個是我自己寫的..我也在學習中,不足之處請諒解:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
void newinf(void);
void showinf(void);
void insertinf(void);
void deleteinf(void);
void saveinf(void);
void infoinf(void);
void sortinf(void);
void searchinf(void);
void menu(void);
struct inf{
int number;
char name[80];
int score;
inf * prev,* next;
};
inf * head,* tail;
int high,low,average;
int total=0;
void main(void)
{ system("cls");
system("color 1a");
system("title 成績管理系統");
menu();
int choice;
scanf("%d",&choice);
system("cls");
switch(choice){
case 0:
exit(0);
break;
case 1:
newinf();
main();
break;
case 2:
searchinf();
main();
break;
case 3:
insertinf();
main();
break;
case 4:
deleteinf();
main();
break;
case 5:
sortinf();
main();
break;
case 6:
showinf();
main();
break;
case 7: //數據統計
printf("共有學生%d人\n",total);
system("pause");
main();
break;
case 8: //保存
saveinf();
main();
break;
}
}
void newinf(void)
{
inf * temp;
temp=(inf *)malloc(sizeof(inf));
printf("請輸入學號\n");
scanf("%d",&temp->number);
printf("請輸入姓名\n");
scanf("%s",&temp->name);
printf("請輸入成績\n");
scanf("%d",&temp->score);
temp->next=NULL;
if(head==NULL){
temp->prev=NULL;
head=temp;
tail=temp;
}
else{
tail->next=temp;
temp->prev=tail;
tail=temp;
}
total++;
}
void showinf(void)
{
inf * temp;
temp=head;
if(head==NULL){
printf("數據不存在\n");
system("pause");
main();
}
do{
printf("學號%d 姓名%s 成績%d\n",temp->number,temp->name,temp->score);
temp=temp->next;
}
while(temp!=NULL);
system("pause");
}
void insertinf(void)
{
if(head==NULL){
printf("數據不存在\n無法插入,請選擇 1.增加記錄\n");
system("pause");
main();
}
int input,count=0;
inf * temp,*search,*temp2;
printf("請輸入在第幾條後插入\n");
scanf("%d",&input);
while(input>total||input<=0){
printf("輸入錯誤請重新輸入");
scanf("%d",&input);
};
temp=(inf *)malloc(sizeof(inf));
printf("請輸入學號\n");
scanf("%d",&temp->number);
printf("請輸入姓名\n");
scanf("%s",&temp->name);
printf("請輸入成績\n");
scanf("%d",&temp->score);
search=head;
while(search!=NULL){
count++;
if(input==count){
temp2=search->next;
search->next=temp;
temp->prev=search;
temp->next=temp2;
if(temp2!=NULL){
temp2->prev=temp;
}
}
search=search->next;
};
total++;
}
void deleteinf(void)
{
if(head==NULL){printf("數據不存在!\n");<br> system("pause"); <br> main();}
int input,count=0;
inf * temp,*temp2,*search;
printf("請輸入刪除第幾條\n");
scanf("%d",&input);
while(input>total||input<=0){
printf("輸入錯誤請重新輸入");
scanf("%d",&input);};
search=head;
while(search!=NULL){count++;<br> if(input==count){if(count==1){head=search->next;}
temp=search->prev;
temp2=search->next;
if(temp!=NULL){
temp->next=temp2;}
if(temp2!=NULL){
temp2->prev=temp;}
free(search);}
search=search->next;};
total--;}
void searchinf(void)
{if(head==NULL){<br> printf("數據不存在!\n");<br> system("pause"); <br> main();}
inf * temp;
int choice,number,score;
char name[80];
temp=head;
printf("請選擇查找方式:\n1.按學號查找\n2.按姓名查找\n3.按成績查找\n");
scanf("%d",&choice);
printf("請輸入對應信息\n");
switch(choice){case 1:<br> scanf("%d",&number);<br> while(temp!=NULL){if(temp->number==number){printf("學號%d 姓名%s 成績%d\n",temp->number,temp->name,temp->score);}
temp=temp->next;};
break;
case 2:
getchar();
gets(name);
while(temp!=NULL){if(strcmp(temp->name,name)==0){printf("學號%d 姓名%s 成績%d\n",temp->number,temp->name,temp->score);}
temp=temp->next;};
break;
case 3:
scanf("%d",&score);
while(temp!=NULL){
if(temp->score==score){printf("學號%d 姓名%s 成績%d\n",temp->number,temp->name,temp->score);}
temp=temp->next;};
break;}
system("pause"); }
void sortinf(void)
{inf *temp,*temp2;<br> int number,score;<br> char name[80];<br> temp=head;<br> if(head==NULL){<br> printf("數據不存在\n");<br> system("pause"); <br> main();}
for(int i=1;i<=total*total;i++){
if(temp->next==NULL){temp=head;<br> continue;}
temp2=temp->next;
if(temp->number>temp2->number){
name=temp->name;
score=temp->score;
number=temp->number;
temp->name=temp2->name;
temp->score=temp2->score;
temp->number=temp2->number;
temp2->name=name;
temp2->score=score;
temp2->number=number;}
temp=temp->next;}
printf("排序完成\n");
system("pause"); }
void menu(void)
{
system("cls");
printf(" ********************************************************************\n");
printf(" * *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * 成績管理系統 *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * *\n");
printf(" ********************************************************************\n");
printf("1.增加記錄\n2.查找記錄\n3.插入記錄\n4.刪除記錄\n5.記錄排序\n6.查看記錄\n7.數據統計\n8.保存記錄\n0.退出\n");
}void saveinf(void)
{
printf("請注意,保存信息將覆蓋原文件!\n確認請輸入y:\n");
char a;
getchar();
scanf("%c",&a);
if(a=='y'||a=='Y')
{
FILE *file;
inf *temp;
file=fopen("save.txt","w+");
temp=head;
while(temp!=NULL)
{
fprintf(file,"學號:%d 姓名:%s 成績:%d\n",temp->number,temp->name,temp->score);
temp=temp->next;
}
printf("保存成功!");
system("pause");
main();
}
else
{
main();
}
}
❼ 數據結構課程設計--學生成績管理系統
可以通過網路Hi告知我
有時間可以解決你的問題
相關的要求也可以告知我
ES:\\
交易提醒:預付定金是陷阱
❽ 數據結構(學生成績管理系統)
http://wenku..com/view/dc69e8ef5ef7ba0d4a733bff.html