亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

學生信息管理系統C語言版

2020-01-26 13:48:01
字體:
來源:轉載
供稿:網友

C語言學生信息管理系統包括以下功能:

1、學生信息的整體注冊
2、學生信息的修改
3、學生成績信息的錄入
4、學生信息的添加
5、恢復誤刪的學生信息
6、學生信息的刪除
7、密碼修改保存函數
8、學生信息的查詢
9、密碼修改函數
10、學生信息管理系統的菜單函數

#include "stdio.h" #include "malloc.h" #include "string.h" #include "stdlib.h" #include "conio.h" #define M 3 struct student {  char num[10]; /* 學生的學號 */  char name[20]; /* 學生的姓名 */  char sex[5]; /* 學生的性別 */  int age;  /* 學生的年齡 */  char birth[20]; /* 學生的出生年月 */  long tele;  /* 學生的電話號碼 */  char addr[30]; /* 學生的地址 */  char party[10]; /* 學生是否為黨員 */  float score[M]; /* 學生各門學科成績 */  float total; /* 學生的學科成績總分 */  struct student *next;  }stud[100]; struct secret {  char user[30];  char code[30];  }use[100]; int len; //學生人數  ///////////////////////////////////////////////////////////////////////////////// /*學生信息寫入到文件中-----系統函數*/ ///////////////////////////////////////////////////////////////////////////////// void writetxt(struct student *head) {  struct student *p;  p=head;  FILE *fp;  fp=fopen("d://student.txt","wb");  if(fp==NULL)  {  printf("cannot open");  return ;  }  while(p!=NULL)  {  fwrite(p,sizeof(struct student),1,fp);  p=p->next;  }  fclose(fp);  }  ///////////////////////////////////////////////////////////////////////////////// /* 學生信息的整體注冊*/ ///////////////////////////////////////////////////////////////////////////////// struct student *create( ) {  char ch;  char ok;  int i;  struct student *p,*p1,*head,*p2;  FILE *fp;  fp=fopen("d://student.txt","rb");  if(fp==NULL)  {  printf("/n 文件還不存在,是否創建?(Y/N)/n");  ch=getchar();  len=1;  scanf("%c",&ok);  if(ok=='Y'||ok=='y')  {  p1=p2=(struct student *) malloc(sizeof(struct student));  if((len)<10)  printf("請輸入0%d的學號:",len);  else  printf("請輸入%d的學號:",len);  scanf("%s",p1->num);  if((len)<10)  printf("請輸入0%d的姓名:",len);  else  printf("請輸入%d的姓名:",len);  scanf("%s",p1->name);  if((len)<10)  printf("請輸入0%d的性別:",len);  else  printf("請輸入%d的性別:",len);  scanf("%s",p1->sex);  ch=getchar();  if((len)<10)  printf("請輸入0%d的年齡:",len);  else  printf("請輸入%d的年齡:",len);  scanf("%d",&p1->age);  if((len)<10)  printf("請輸入0%d的生日:",len);  else  printf("請輸入%d的生日:",len);  scanf("%s",p1->birth);  if((len)<10)  printf("請輸入0%d的電話:",len);  else  printf("請輸入%d的電話號:",len);  scanf("%ld",&p1->tele);  if((len)<10)  printf("請輸入0%d的地址:",len);  else  printf("請輸入%d的地址:",len);  scanf("%s",p1->addr);  if((len)<10)  printf("請輸入0%d是否為黨員:",len);  else  printf("請輸入%d是否為黨員:",len);  scanf("%s",p1->party);  head=NULL;  while(strcmp(p1->num,"0")!=0)  {  len++;  if(head==NULL)   head=p1=p2;  else   p2->next=p1;  p2=p1;  p1=(struct student *) malloc(sizeof(struct student));  if((len)<10)   printf("請輸入0%d的學號:",len);  else   printf("請輸入%d的學號:",len);  scanf("%s",p1->num);  if((len)<10)   printf("請輸入0%d的姓名:",len);  else   printf("請輸入%d的姓名:",len);  scanf("%s",p1->name);  if((len)<10)   printf("請輸入0%d的性別:",len);  else   printf("請輸入%d的性別:",len);  scanf("%s",p1->sex);  ch=getchar();  if((len)<10)   printf("請輸入0%d的年齡:",len);  else   printf("請輸入%d的年齡:",len);  scanf("%d",&p1->age);  if((len)<10)   printf("請輸入0%d的生日:",len);  else   printf("請輸入%d的生日:",len);  scanf("%s",p1->birth);  if((len)<10)   printf("請輸入0%d的電話:",len);  else   printf("請輸入%d的電話號:",len);  scanf("%ld",&p1->tele);  if((len)<10)   printf("請輸入0%d的地址:",len);  else   printf("請輸入%d的地址:",len);  scanf("%s",p1->addr);  if((len)<10)   printf("請輸入0%d是否為黨員:",len);  else   printf("請輸入%d是否為黨員:",len);  scanf("%s",p1->party);  }  p2->next=NULL;  writetxt(head);  return (head);  }  }  if(ok=='N'||ok=='n')  {  printf("請重新選擇/n");  return NULL;  }  else  {  printf("/n 文件已經存在/n");  fp=fopen("d://student.txt","rb");  p=stud;  for(i=0;!feof(fp);i++)  fread(stud+i,sizeof(struct student),1,fp);  len=i-1;  printf(" 文件里含有%d條學生信息/n",len);  printf("/n 是否使用已經存在的學生數據?(Y/N)/n");  ch=getchar();  scanf("%c",&ok);  if(ok=='Y'||ok=='y')  {  head=p1=p2=NULL;  fp=fopen("d://student.txt","rb");  if(fp==NULL)  {  printf("open error/n");  return NULL;  }  else  {  printf("學號 姓名 性別 年齡 出生年月 電話號碼 地址 是否黨員/n");  for(i=0;i<len;i++)  {   p1=(struct student *)malloc(sizeof(struct student));   fread(p1,sizeof(struct student),1,fp);   if(head==NULL)   head=p2=p1;   else   p2->next=p1;   p2=p1;   printf("%2s%15s%10s%10d%15s%8ld%10s%8s/n",p1->num,p1->name,p1->sex,p1->age,p1->birth,p1->tele,p1->addr,p1->party);  }  fclose(fp);  return(head);  }  }  if(ok=='N'||ok=='n')  {  len=1;  p1=p2=( struct student *) malloc(sizeof(struct student ));  if((len)<10)  printf("請輸入0%d的學號:",len);  else  printf("請輸入%d的學號:",len);  scanf("%s",p1->num);  if((len)<10)  printf("請輸入0%d的姓名:",len);  else  printf("請輸入%d的姓名:",len);  scanf("%s",p1->name);  if((len)<10)  printf("請輸入0%d的性別:",len);  else  printf("請輸入%d的性別:",len);  scanf("%s",p1->sex);  ch=getchar();  if((len)<10)  printf("請輸入0%d的年齡:",len);  else  printf("請輸入%d的年齡:",len);  scanf("%d",&p1->age);  if((len)<10)  printf("請輸入0%d的生日:",len);  else  printf("請輸入%d的生日:",len);  scanf("%s",p1->birth);  if((len)<10)  printf("請輸入0%d的電話:",len);  else  printf("請輸入%d的電話號:",len);  scanf("%ld",&p1->tele);  if((len)<10)  printf("請輸入0%d的地址:",len);  else  printf("請輸入%d的地址:",len);  scanf("%s",p1->addr);  if((len)<10)  printf("請輸入0%d是否為黨員:",len);  else  printf("請輸入%d是否為黨員:",len);  scanf("%s",p1->party);  head=NULL;  while(strcmp(p1->num,"0")!=0)  {  if(head==NULL)   head=p1=p2;  else   p2->next=p1;  p2=p1;  p1=(struct student *) malloc(sizeof(struct student));  if((len)<10)   printf("請輸入0%d的學號:",len);  else   printf("請輸入%d的學號:",len);  scanf("%s",p1->num);  if((len)<10)   printf("請輸入0%d的姓名:",len);  else   printf("請輸入%d的姓名:",len);  scanf("%s",p1->name);  if((len)<10)   printf("請輸入0%d的性別:",len);  else   printf("請輸入%d的性別:",len);  scanf("%s",p1->sex);  ch=getchar();  if((len)<10)   printf("請輸入0%d的年齡:",len);  else   printf("請輸入%d的年齡:",len);  scanf("%d",&p1->age);  if((len)<10)   printf("請輸入0%d的生日:",len);  else   printf("請輸入%d的生日:",len);  scanf("%s",p1->birth);  if((len)<10)   printf("請輸入0%d的電話:",len);  else   printf("請輸入%d的電話號:",len);  scanf("%ld",&p1->tele);  if((len)<10)   printf("請輸入0%d的地址:",len);  else   printf("請輸入%d的地址:",len);  scanf("%s",p1->addr);  if((len)<10)   printf("請輸入0%d是否為黨員:",len);  else   printf("請輸入%d是否為黨員:",len);  scanf("%s",p1->party);  }  p2->next=NULL;  writetxt(head);  }  return (head);  } } //////////////////////////////////////////////////////////////////////////////// /*學生信息的修改*/ //////////////////////////////////////////////////////////////////////////////// struct student *change(struct student *head) {   struct student *p=head;  int age,choose,m;  long tele;  char num[10];  char ch,yes,sex[5],birth[20],addr[30],party[10];  char *p1;  if(head==NULL)  {  printf("原鏈表為空");  return NULL;  }  else  {  while(1)  {  printf("請輸入學號/n");  scanf("%s",num);  p=head;  while(p!=NULL&&strcmp(p->num,num)!=0)  {  p=p->next;  if(p==NULL)  {   printf("該學生不存在/n");   break;  }  if(strcmp(p->name,"0")==0)  {   printf("該學生已不存在/n");   break;  }  }  m=0;  while(1)  {  if(p==NULL)   break;  if(strcmp(p->name,"0")==0)   break;  printf("請選擇1.性別 2.年齡 3.出生日期4.電話 5.家庭住址6.黨員/n");  scanf("%d",&choose);  if(choose==1)  {   printf("請輸入新的性別:/n");   scanf("%s",&sex);   p1=sex;   strcpy(p->sex,p1);   printf("是否繼續修改本學生學生其他信息Y/N/n");   ch=getchar();   scanf("%c",&yes);   if(yes=='N'||yes=='n')   break;  }  if(choose==2)  {   printf("請輸入新的年齡:/n");   scanf("%d",&age);   p->age=age;   printf("是否繼續修改本學生學生其他信息Y/N/n");   ch=getchar();   scanf("%c",&yes);   if(yes=='N'||yes=='n')   break;  }  if(choose==3)  {   printf("請輸入新的出生日期:/n");   scanf("%s",birth);   p1=birth;   strcpy(p->birth,p1);   printf("是否繼續修改本學生學生其他信息Y/N/n");   ch=getchar();   scanf("%c",&yes);   if(yes=='N'||yes=='n')   break;  }  if(choose==4)  {   printf("請輸入新的電話:/n");   scanf("%d",&tele);   p->tele=tele;   printf("是否繼續修改本學生學生其他信息Y/N/n");   ch=getchar();   scanf("%c",&yes);   if(yes=='N'||yes=='n')   break;  }  if(choose==5)  {   printf("請輸入新的家庭住址:/n");   scanf("%s",addr);   p1=addr;   strcpy(p->addr,p1);   printf("是否繼續修改本學生學生其他信息Y/N/n");   ch=getchar();   scanf("%c",&yes);   if(yes=='N'||yes=='n')   break;  }  if(choose==6)  {   printf("請輸入'是'或'否':/n");   scanf("%s",party);   p1=party;   strcpy(p->party,p1);   printf("是否繼續修改本學生學生其他信息Y/N/n");   ch=getchar();   scanf("%c",&yes);   if(yes=='N'||yes=='n')   break;  }  }  printf("是否繼續修改其他學生Y/N/n");  ch=getchar();  scanf("%c",&yes);  if(yes=='N'||yes=='n')  break;  }  writetxt(head);  p=head;  while(p!=NULL)  {  printf("%2s%15s%10s%10d%15s%8ld%10s%8s/n",p->num,p->name,p->sex,p->age,p->birth,p->tele,p->addr,p->party);  p=p->next;  }  return head;  } } ///////////////////////////////////////////////////////////////////////////////// /*學生成績信息的錄入*/ ///////////////////////////////////////////////////////////////////////////////// struct student *chengji(struct student *head) {  FILE *fp;  struct student *p1,*p;  int i;  float sum=0;  fp=fopen("d://student1.txt","wb");  p1=(struct student *)malloc(sizeof(struct student));  p1=head;  while(p1!=NULL)  {  if(strcmp(p1->name,"0")==0)  {  printf("該學生不存在/n");  p1=p1->next;  continue;  }  printf("請輸入學號為%s學生的高數、C語言、英語成績:/n",p1->num);  for(i=0;i<M;i++)  {  scanf("%f",&p1->score[i]);  sum+=p1->score[i];  }  p1->total=sum;  sum=0;  fwrite(p1,sizeof(struct student),1,fp);   p1=p1->next;  }  fclose(fp);  writetxt(head);  p=head;  printf("學號 姓名 性別 年齡 出生年月 電話號碼 地址 是否黨員/n");  while(p!=NULL)  {  printf("%2s%15s%10s%10d%15s%8ld%10s%8s/n",p->num,p->name,p->sex,p->age,p->birth,p->tele,p->addr,p->party);  p=p->next;  }  return(head); } ///////////////////////////////////////////////////////////////////////////////// /*學生信息的添加*/ ///////////////////////////////////////////////////////////////////////////////// struct student *insert(struct student *head) {  char ch,ok;  struct student *p,*p0,*p1;  p=p1=head;  while(1)  {  if((len+1)<10)  printf("您的學號為0%d/n",len+1);  else  printf("您的學號為%d/n",len+1);  p0=(struct student *)malloc(sizeof(struct student));  len++;  if((len)<10)  printf("請輸入0%d的學號:",len);  else  printf("請輸入%d的學號:",len);  scanf("%s",p0->num);  if((len)<10)  printf("請輸入0%d的姓名:",len);  else  printf("請輸入%d的姓名:",len);  scanf("%s",p0->name);  if((len)<10)  printf("請輸入0%d的性別:",len);  else  printf("請輸入%d的性別:",len);  scanf("%s",p0->sex);  ch=getchar();  if((len)<10)  printf("請輸入0%d的年齡:",len);  else  printf("請輸入%d的年齡:",len);  scanf("%d",&p0->age);  if((len)<10)  printf("請輸入0%d的生日:",len);  else  printf("請輸入%d的生日:",len);  scanf("%s",p0->birth);  if((len)<10)  printf("請輸入0%d的電話:",len);  else  printf("請輸入%d的電話號:",len);  scanf("%ld",&p0->tele);  if((len)<10)  printf("請輸入0%d的地址:",len);  else  printf("請輸入%d的地址:",len);  scanf("%s",p0->addr);  if((len)<10)  printf("請輸入0%d是否為黨員:",len);  else  printf("請輸入%d是否為黨員:",len);  scanf("%s",p0->party);  while(p->next!=NULL)  p=p->next;  p->next=p0;  p0->next=NULL;  printf("是否繼續添加Y/N/n") ;  ch=getchar();  scanf("%c",&ok);  if(ok=='y'||ok=='Y')len++;  else  {  printf("您需要重新進行1的操作來完成該學生信息的注冊,謝謝!/n");  break;  }  }  p=head;  while(p!=NULL)  {  printf("%2s%15s%10s%10d%15s%8ld%10s%8s/n",p->num,p->name,p->sex,p->age,p->birth,p->tele,p->addr,p->party);  p=p->next;  }  writetxt(head);  return(head);  } ///////////////////////////////////////////////////////////////////////////////// /* 恢復誤刪的學生信息*/ ///////////////////////////////////////////////////////////////////////////////// struct student *recover(struct student *head) {  FILE *fp;  struct student *p1,*p;  p=p1=(struct student*)malloc(sizeof(struct student));  char ch;  char num[10];  p1=head;  printf("input the recover number:");  scanf("%s",num);  fp=fopen("d://recycle.txt","rb");  if(fp==NULL)  {  printf("回收站為空!/n");  return NULL;  }  else  {  printf("是否將回收站的數據還原?Y/N /n");  ch=getchar();  ch=getchar();  if(ch=='n'||ch=='N')  printf("不需要還原!");  else  {  while(1)  {  if(strcmp(p1->num,num)==0)   break;  else   p1=p1->next;  }  while(!feof(fp))  {  fread(p,sizeof(struct student),1,fp);  if(strcmp(p1->num,p->num)==0)  {   strcpy(p1->name,p->name);   strcpy(p1->sex,p->sex);   p1->age=p->age;   strcpy(p1->birth,p->birth);   p1->tele=p->tele;   strcpy(p1->addr,p->addr);   strcpy(p1->party,p->party);   printf("dddddddddddddddddddd/n");   break;   }  }   }  writetxt(head);   p=head;  while(p!=NULL)  {  printf("%2s%15s%10s%10d%15s%8ld%10s%8s/n",p->num,p->name,p->sex,p->age,p->birth,p->tele,p->addr,p->party);  p=p->next;  }fclose(fp);  }  return head; } ///////////////////////////////////////////////////////////////////////////////// /* 學生信息的刪除*/ ///////////////////////////////////////////////////////////////////////////////// struct student *del(struct student *head) {  FILE *fp;  struct student *p1,*p2,*p0;  p1=p2=head;  char ch;  char num[10];  printf("input the delete number:");  scanf("%s",num);  if(head==NULL)  printf("nothing to delete!");  else  {  while(p1!=NULL)  {  if(strcmp(p1->num,num)!=0)  {  p2=p1;  p1=p1->next;  }  if(strcmp(p1->num,num)==0)  {  p0=p1;  printf("是否永久刪除該學生的信息?Y/N /n");  ch=getchar();  ch=getchar();  if(ch=='y'||ch=='Y')  {   printf("該學生信息已經成功從磁盤刪除!/n");   if(p1==head)   {   p0=p1;   head=p1->next;   p1=p2=head;   p1=p2->next;   }   else   {   p0=p1;   p2->next=p1->next;   p1=p2->next;   }   break;  }  else  {   fp=fopen("d://recycle.txt","ab+");   if(fp==NULL)   {   printf("cannot open the file!");   return NULL;   }   fwrite(p0,sizeof(struct student),1,fp);   strcpy(p1->name,"0");   strcpy(p1->sex,"0");   p1->age=0;   strcpy(p1->birth,"0");   p1->tele=0;   strcpy(p1->addr,"0");   strcpy(p1->party,"0");    printf("學生信息已放入回收站!/n");   fclose(fp);     printf("如果想恢復剛剛刪除的學生信息,請輸入'Y'or'y'/n");   printf("如果不想恢復剛剛刪除的學生信息,請輸入'N'or'n'/n");   ch=getchar();   ch=getchar();   if(ch=='y'||ch=='Y')   {   head=recover(head);   break;   }   if(ch=='n'||ch=='N')   break ;  }  }   }   }  writetxt(head);  return head; } ///////////////////////////////////////////////////////////////////////////// /* 密碼修改保存函數*/ //////////////////////////////////////////////////////////////////////////// void write() {  FILE *fp;  struct secret p;  int i;  fp=fopen("d://mima.txt","wb");  if(fp==NULL)  {  printf("cannot open!");   }  for(i=0;i<=len;i++)  {  p=use[i];  fwrite(&p,sizeof(struct secret),1,fp);  }  fclose(fp);  }  //////////////////////////////////////////////////////////////////////////////// /*學生信息的查詢*/ //////////////////////////////////////////////////////////////////////////////// void research(struct student *head) {  struct student *p1,*p2;  p1=p2=head;  int i,j,l=1,k=0;  char sex[20],party[10],ch,yes;  int age;  char num[10],name[20];  printf("選擇:1.模糊查詢 2.精確查詢:");  scanf("%d",&i);  if(i==1)  {  while(l==1)  {  printf("選擇:1.性別 2.年齡 3.是否黨員:");  scanf("%d",&j);  if(j==1)  { p1=head;  printf("輸入性別:");  scanf("%s",sex);  ch=getchar();  while(p1!=NULL)  {  if(strcmp(p1->sex,sex)==0)  {   printf("%2s%15s%10s%10d%15s%8ld%10s%8s/n",p1->num,p1->name,p1->sex,p1->age,p1->birth,p1->tele,p1->addr,p1->party);   p1=p1->next;   continue;  }  k++;  if(k==3)   printf("該學生不存在!/n");  p1=p1->next;  }  printf("是否繼續查詢學生其他信息Y/N/n");  scanf("%c",&yes);  printf("yes=%c/n",yes);  if(yes=='N'||yes=='n')  break;  if(yes=='Y'||yes=='y')  k=0;  }  if(j==2)  {  p1=head;  printf("輸入年齡:");  scanf("%d",&age);  while(p1!=NULL)  {   if(p1->age==age)   {   printf("%2s%15s%10s%10d%15s%8ld%10s%8s/n",p1->num,p1->name,p1->sex,p1->age,p1->birth,p1->tele,p1->addr,p1->party);   p1=p1->next;   continue;   }   k++;   if(k==3)   printf("該學生不存在!/n");   p1=p1->next;  }  printf("是否繼續查詢學生其他信息Y/N/n");  ch=getchar();  scanf("%c",&yes);  if(yes=='N'||yes=='n')   break;  if(yes=='Y'||yes=='y')   k=0;  }  if(j==3)  {  p1=head;  printf("輸入是否黨員:");  scanf("%s",party);  ch=getchar();  while(p1!=NULL)  {   if(strcmp(p1->party,party)==0)   {   printf("%2s%15s%10s%10d%15s%8ld%10s%8s/n",p1->num,p1->name,p1->sex,p1->age,p1->birth,p1->tele,p1->addr,p1->party);   p1=p1->next;   continue;   }   k++;   if(k==3)   printf("該學生不存在!/n");   p1=p1->next;  }  printf("是否繼續查詢學生其他信息?Y/N/n");  scanf("%c",&yes);  if(yes=='N'||yes=='n')   break;  if(yes=='Y'||yes=='y')   k=0;  }  }  }  if(i==2)  {  printf("請選擇細查的關鍵字:1.學生學號 2.學生姓名:");  scanf("%d",&j);  if(j==1)  {  while(1)  {  p1=head;  printf("輸入學生的學號:");  scanf("%5s",num);  while(p1!=NULL)  {   if(strcmp(p1->num,num)==0)   {   printf("%2s%15s%10s%10d%15s%8ld%10s%8s/n",p1->num,p1->name,p1->sex,p1->age,p1->birth,p1->tele,p1->addr,p1->party);   p1=p1->next;continue;   }   k++;   if(k==3)   printf("該學生不存在!/n");   p1=p1->next;  }  printf("是否繼續查詢其他學生信息?Y/N/n");  ch=getchar();  scanf("%c",&yes);  if(yes=='N'||yes=='n')   break;  if(yes=='Y'||yes=='y')   k=0;  }  }  if(j==2)  {  while(1)  {  p1=head;  printf("輸入學生的名字:");  scanf("%s",name);  while(p1!=NULL)  {   if(strcmp(p1->name,name)==0)   {   printf("%2s%15s%10s%10d%15s%8ld%10s%8s/n",p1->num,p1->name,p1->sex,p1->age,p1->birth,p1->tele,p1->addr,p1->party);   p1=p1->next;continue;   }   k++;   if(k==3)   printf("該學生不存在!/n");   p1=p1->next;  }  printf("是否繼續查詢其他學生信息?Y/N/n");  ch=getchar();  scanf("%c",&yes);  if(yes=='N'||yes=='n')   break;  if(yes=='Y'||yes=='y')   k=0;  }  }  } }  //////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// void research1(char num[]) {  int i;  for(i=0;i<=len;i++)  if(strcmp(stud[i].num,num)==0)  printf("%2s%15s%10s%10d%15s%8ld%10s%8s/n",stud[i].num,stud[i].name,stud[i].sex,stud[i].age,stud[i].birth,stud[i].tele,stud[i].addr,stud[i].party); }  ///////////////////////////////////////////////////////////////////////////// /* 密碼修改函數-*/ //////////////////////////////////////////////////////////////////////////// void mimacli() {  char use1[30],mima[30],newmima[30],ch;  int i,j=0;  printf("輸入用戶名:/n");  scanf("%s",use1);  printf("輸入密碼:/n");  while(1)  {  mima[j]=getch();  if(mima[j]==13)  break;  putchar('*');  j++;  }  mima[j]='/0';  printf("/n");  for(i=0;i<=len;i++)  {  if(strcmp(stud[i].name,"0")==0)  {  printf("該學生不存在/n");  continue;  }  if(strcmp(use1,use[i].user)==0&&strcmp(use[i].code,mima)==0)  {  printf("輸入新密碼:/n");  ch=getchar();  j=0;  while(1)  {  newmima[j]=getch();  if(newmima[j]==13)   break;  putchar('*');  j++;  }  newmima[j]='/0';  printf("/n");  strcpy(use[i].code,newmima);  write();  for(i=0;i<=len;i++){  printf("http:///////////////////////////////////////////////n");  printf("%s ",use[0].user);  printf("%s/n",use[0].code);  printf("http:///////////////////////////////////////////////n");}  break;  }  if(strcmp(use1,use[1].user)<0||strcmp(use1,use[len].user)>0)  {  printf("**************************************/n");  printf(" 4用戶名錯誤 /n");  printf("***************************************/n");   break;  }  if(strcmp(use1,use[i].user)==0&&strcmp(use[i].code,mima)!=0)  {  printf("**************************************/n");  printf(" 密碼錯誤 /n");  printf("***************************************/n");   break;  }  } } ///////////////////////////////////////////////////////////////////////////// /* 學生信息管理系統的菜單函數-系統函數*/ //////////////////////////////////////////////////////////////////////////// int menu() {  int sn,i,j=0;  char use1[30];  char mima[30];  int m=0;  printf(" 學生信息管理系統/n");  printf("=========================================/n");  printf(" 1.學生信息的整體注冊/n");  printf(" 2.學生信息的修改/n");  printf(" 3.學生信息的添加/n");  printf(" 4.學生信息的刪除/n");  printf(" 5.學生成績信息的錄入/n");  printf(" 6.學生信息的查詢/n");  printf(" 7.訪問者密碼的修改/n");  printf(" 8.恢復誤刪學生信息/n");  printf(" 0.退出學生信息管理系統/n");  printf("==========================================/n");  printf("請選擇0-8:/n");  while(1)  {  scanf("%d",&sn);  if(sn==7)  for(i=1;i<=len;i++)  {  strcpy(use[i].user,stud[i-1].num );  strcpy(use[i].code,stud[i-1].num );  }  if(sn>1&&sn<7||sn==8)  {   printf("請輸入您的用戶名:");  scanf("%s",use1);  printf("請輸入您的密碼:");  while(1)  {   mima[j]=getch();   if(mima[j]==13)   break;   putchar('*');   j++;  }  mima[j]='/0';  printf("/n");  if(sn==6)   if(strcmp(use1,use[0].user)!=0)   {   for(i=0;i<=len;i++)   {   if(strcmp(use1,use[i].user)==0&&strcmp(use[i].code,mima)==0)   {   if(i!=0)   {   printf("**************************************/n");   printf(" 您只能查找您本人的信息 /n");   printf("***************************************/n");   research1(use1);   break;   }   }   if(strcmp(use1,use[0].user)==0&&strcmp(use[0].code,mima)!=0)   {   printf("**************************************/n");   printf(" 密碼錯誤 /n");   printf("***************************************/n");   while(1)   {   m++;   if(m<3)   {    printf("重新輸入:/n");    printf("請輸入您的用戶名:");    scanf("%s",use1);    printf("請輸入您的密碼:");    j=0;    while(1)    {    mima[j]=getch();    if(mima[j]==13)    break;    putchar('*');    j++;    }    mima[j]='/0';    if(strcmp(use1,use[0].user)==0&&strcmp(use[0].code,mima)!=0)    {    printf("**************************************/n");    printf(" 密碼錯誤 /n");    printf("***************************************/n");     }   }   else   {    sn=0;    break;   }   }   sn=0;   break;   }   if(strcmp(use1,use[1].user)<0||strcmp(use1,use[len].user)>0)   {   printf("**************************************/n");   printf(" 3用戶名錯誤 /n");   printf("***************************************/n");   sn=0;   break;   }   if(strcmp(use1,use[i].user)==0&&strcmp(use[i].code,mima)!=0)   {   printf("**************************************/n");   printf(" 密碼錯誤 /n");   printf("***************************************/n");   while(1)   {   m++;   if(m<3)   {    if(strcmp(use1,use[i].user)==0&&strcmp(use[i].code,mima)==0)    {    printf("**************************************/n");    printf(" 您沒有權限來操作 /n");    printf("***************************************/n");    sn=0;    break;      }    printf("重新輸入:/n");    printf("請輸入您的用戶名:");    scanf("%s",use1);    printf("請輸入您的密碼:");    j=0;    while(1)    {    mima[j]=getch();    if(mima[j]==13)    break;    putchar('*');    j++;    }    mima[j]='/0';    printf("/n");    if(strcmp(use1,use[i].user)==0&&strcmp(use[i].code,mima)!=0)    {    printf("**************************************/n");    printf(" 密碼錯誤 /n");    printf("***************************************/n");     }    else    {    printf("**************************************/n");    printf(" 歡迎您登陸本系統 /n");    printf("***************************************/n");    research1(use1);    break;    }    }   else   {    sn=0;    break;   }   }   }   }   }   for(i=0;i<=len;i++)   {   if(sn==6)   if(strcmp(use1,use[0].user)!=0)   {   sn=0;   break;   }   if(strcmp(use1,use[i].user)==0&&strcmp(use[i].code,mima)==0)   {   if(i!=0)   {    printf("**************************************/n");    printf(" 您沒有權限來操作 /n");    printf("***************************************/n");   sn=0;   break;   }   else   {    printf("**************************************/n");    printf(" 歡迎您登陸本系統 /n");    printf("***************************************/n");    break;   }   }   if(strcmp(use1,use[0].user)==0&&strcmp(use[0].code,mima)!=0)   {   printf("**************************************/n");   printf(" 密碼錯誤 /n");   printf("***************************************/n");    while(1)   {   m++;   if(m<3)   {    printf("重新輸入:/n");    printf("請輸入您的用戶名:");    scanf("%s",use1);    printf("請輸入您的密碼:");    j=0;    while(1)    {    mima[j]=getch();    if(mima[j]==13)    break;    putchar('*');    j++;    }    mima[j]='/0';    printf("/n");    if(strcmp(use1,use[0].user)==0&&strcmp(use[0].code,mima)!=0)    {    printf("**************************************/n");    printf(" 密碼錯誤 /n");    printf("***************************************/n");    }    else    {    printf("**************************************/n");    printf(" 歡迎您登陸本系統 /n");    printf("***************************************/n");    break;    }   }   else   {    sn=0;    break;   }   }   break;   }   if(strcmp(use1,use[1].user)<0||strcmp(use1,use[len].user)>0)   {   printf("**************************************/n");   printf(" 用戶名錯誤 /n");   printf("***************************************/n");   sn=0;   break;   }   if(strcmp(use1,use[i].user)==0&&strcmp(use[i].code,mima)!=0)   {   printf("**************************************/n");   printf(" 密碼錯誤 /n");   printf("***************************************/n");    while(1)   {   m++;   if(m<3)   {    if(strcmp(use1,use[i].user)==0&&strcmp(use[i].code,mima)==0)    {    printf("**************************************/n");    printf(" 您沒有權限來操作 /n");    printf("***************************************/n");    sn=0;    break;     }    printf("重新輸入:/n");    printf("請輸入您的用戶名:");    scanf("%s",use1);    printf("請輸入您的密碼:");    j=0;    while(1)    {    mima[j]=getch();    if(mima[j]==13)    break;    putchar('*');    j++;    }    mima[j]='/0';    printf("/n");    if(strcmp(use1,use[i].user)==0&&strcmp(use[i].code,mima)!=0)    {    printf("**************************************/n");    printf(" 密碼錯誤 /n");    printf("***************************************/n");     }   }   else   {    sn=0;    break;   }   }    }   }  }  if (sn<0 || sn>8)  {  printf("/n/t輸入錯誤,重選0-8/n");  break;  }  else  break;  }  return sn; }  ///////////////////////////////////////////////////////////////////////////////// /* 學生信息管理系統的主函數--系統函數*/ ///////////////////////////////////////////////////////////////////////////////// void main() {  struct student *head;  int i,j=0;  while(1)  {  switch(menu())  {  case 1:  printf("**************************************/n");  printf(" 學生信息的整體注冊 /n");  printf("***************************************/n");  head=create();  FILE *fp;  struct secret p;  fp=fopen("d://mima.txt","rb");  if(fp==NULL)  printf("open error/n");  else  {  for(i=0;i<=len;i++)  {   fread(&p,sizeof(struct secret),1,fp);   strcpy(use[i].user,p.user);   strcpy(use[i].code,p.code);  }   fclose(fp);  }   break;   case 2:  printf("**************************************/n");  printf("學生信息的修改/n");  printf("**************************************/n");  change(head);  break;  case 3:  printf("**************************************/n");  printf("學生信息的添加/n");  printf("**************************************/n");  head=insert(head);  break;  case 4:  printf("**************************************/n");  printf("學生成績信息的刪除入/n");  printf("**************************************/n");  head=del(head);  break;  case 5:  printf("**************************************/n");  printf("學生成績信息的錄入/n");  printf("**************************************/n");  head=chengji(head);  break;  case 6:  printf("**************************************/n");  printf("學生信息的查詢/n");  printf("**************************************/n");  research(head);  break;  case 7:  printf("**************************************/n");  printf("訪問者密碼的修改/n");  printf("**************************************/n");  mimacli();  break;  case 8:  printf("**************************************/n");  printf("恢復誤刪信息/n");  printf("**************************************/n");  recover(head);  break;  case 0:  printf("**************************************/n");  printf("退出學生信息管理系統/n");  printf("**************************************/n");  printf("The end./n");  return;  default: printf("/n選擇錯誤,請重選!/n");  getchar();  getchar();  }  system("cls");  } } 

更多學習資料請關注專題《管理系統開發》。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美亚洲精品| 精品一区二区三区电影| 色黄久久久久久| 欧美理论片在线观看| 欧美一区二区影院| 国产精品丝袜久久久久久高清| 国产精品爽爽爽爽爽爽在线观看| 久久乐国产精品| 亚洲天堂久久av| 热99精品只有里视频精品| 国产精品久久婷婷六月丁香| 91啪国产在线| 美日韩精品免费观看视频| 另类少妇人与禽zozz0性伦| 日韩欧美亚洲国产一区| 国产精品成人久久久久| 91成人在线视频| 成人午夜黄色影院| 欧美日韩在线观看视频小说| 中文欧美日本在线资源| 亚洲性日韩精品一区二区| 亚洲免费电影在线观看| 亚洲成人久久一区| 久久久久中文字幕2018| 亚洲2020天天堂在线观看| 日韩av成人在线观看| 成人精品视频久久久久| 久久久久亚洲精品成人网小说| 久久久精品网站| 久久精品中文字幕| 色婷婷综合成人av| 国产日韩欧美在线播放| 国产精自产拍久久久久久| 国产欧美亚洲视频| 国产成人在线亚洲欧美| 在线色欧美三级视频| 91大神福利视频在线| 精品久久久久久电影| 国产成人啪精品视频免费网| 粉嫩av一区二区三区免费野| 亚洲激情电影中文字幕| 中文字幕亚洲无线码在线一区| 久久国产精品久久久| 亚洲新中文字幕| 91超碰caoporn97人人| 精品五月天久久| 亚洲第一视频在线观看| 国产自产女人91一区在线观看| 亚洲区中文字幕| 亚洲最新av在线| 一区二区在线视频播放| 久久精品国产免费观看| 国产成人精品久久亚洲高清不卡| 另类图片亚洲另类| 亚洲精品欧美日韩专区| 久久视频免费在线播放| 国产日韩在线看| 久久精视频免费在线久久完整在线看| 国产精品永久免费观看| 久久久噜久噜久久综合| 91情侣偷在线精品国产| 色妞在线综合亚洲欧美| 国产精品免费在线免费| 亚洲人成在线观看网站高清| 欧美成人免费全部| 亚洲自拍偷拍视频| 国产精品扒开腿做爽爽爽视频| 色偷偷综合社区| 98精品国产自产在线观看| 91久久精品视频| 欧美高清视频一区二区| 欧美人在线视频| 久久久国产一区二区三区| 国语自产精品视频在线看一大j8| 国产成人一区二区在线| 国产成人亚洲综合| 国产亚洲欧洲高清一区| 亚洲国内精品视频| 欧美性xxxxxxx| 成人在线一区二区| 久久亚洲综合国产精品99麻豆精品福利| 欧美日韩综合视频网址| 国产成人精品国内自产拍免费看| 国产精品美女久久久免费| 色小说视频一区| 亚洲男女性事视频| 91久久久久久久久久久| 97精品欧美一区二区三区| 国产aaa精品| 久热精品视频在线免费观看| 久久这里只有精品99| 国产日韩在线亚洲字幕中文| 欧美三级欧美成人高清www| 亚洲片在线资源| 欧美日韩国产麻豆| 人人爽久久涩噜噜噜网站| 国产综合久久久久| 国产精品久久久精品| 欧美黑人国产人伦爽爽爽| 日本国产欧美一区二区三区| 一本色道久久综合亚洲精品小说| 亚洲精品av在线播放| 国产精品av免费在线观看| 久久在线免费视频| 一区二区在线视频| 亚洲成**性毛茸茸| 欧美丰满少妇xxxxx做受| 国产成人精品一区二区三区| 最新中文字幕亚洲| 狠狠爱在线视频一区| 国产精品高潮在线| yellow中文字幕久久| 激情av一区二区| 欧美专区第一页| 亚洲精品国产精品国产自| 欧美日韩中文字幕日韩欧美| 欧美怡春院一区二区三区| 乱亲女秽乱长久久久| 日韩av免费网站| 美乳少妇欧美精品| 成人在线国产精品| 国产一区二区免费| 亚洲欧洲日产国产网站| 欧美激情一区二区三区久久久| 亚洲自拍在线观看| 欧美风情在线观看| 欧美性xxxx| 高清欧美一区二区三区| 亚洲欧美另类中文字幕| 国产成人自拍视频在线观看| 亚洲女人天堂视频| 国产中文字幕日韩| 国产亚洲欧美另类中文| 色哟哟网站入口亚洲精品| 国产精品视频免费在线观看| 欧美成人全部免费| 亚洲精品欧美极品| 日韩视频免费看| 亚洲女人被黑人巨大进入al| 午夜精品久久久久久99热软件| 伊人青青综合网站| 92看片淫黄大片看国产片| 欧美高清性猛交| 久久成人18免费网站| 日韩精品电影网| 九色91av视频| 欧美色视频日本高清在线观看| 亚洲精品在线观看www| 亚洲午夜激情免费视频| 欧美精品第一页在线播放| 欧洲成人午夜免费大片| 久久久伊人日本| 欧美丝袜美女中出在线| 欧美极品少妇xxxxⅹ免费视频| 在线成人中文字幕| 欧美黑人性视频| 日韩视频免费大全中文字幕| 国产精品第1页| 91亚洲人电影| 亚洲成人在线视频播放| 精品色蜜蜜精品视频在线观看| 精品二区三区线观看| 亚洲爱爱爱爱爱| 国产精品美女免费|