正文

学生信息管理系统2005-09-21 23:50:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wojiele/5088.html

分享到:

/*第三方函数库 SGCHN3.0*//*该函数库一些函数说明/*  C Head File.    SGCHN30.h    Definitions for SGCHN3.0 Run time Library Function.    Copyright (c) 2004, 2005 SGPRO    All Rights Reserved.    Autor: YinShengge 作者: 殷圣鸽    Version: 3.0    Build Time: 2004 - 4    Maintain Time: 2005-5-14    Maintain Time: 2005-5-19  */extern void  SGCHNinit();extern char  *getsgchnversion();   /*获得SGCHN版本*/  extern int   scanformat(char *formats, ...);    /*控制台格式输入  与scanf类似*/extern int   print(char *formats,...);          /*控制台格式输出  与printf类似*/extern int   *getsforcon(char *string);         /*从控制台读入一行字符串,存入string*/extern char  getcharforcon();                 /*从控制台读入一个字符.回显*/extern int   putsforcon(char *string);             /*控制台输出一行字符*/extern int   saveconsole(const char *filename);extern int   sgchnquikstart();  /*SGCHN系统快速启动.*/#endif 再说明一下 ,函数: saveconsole(const char *filename) 可以将控制台的内容保存到 文件: filename中 changeconsolesize(int size);*/程序:#include<stdio.h>#include<stdlib.h>#include<dos.h>#define N 15typedef struct node{long num;char name[N];char sex[3];int age;char dept[N];char class[4];struct node *next;}link;link *L,*head;int num;void create_linklist(){char ch;link *new;head=(link *)malloc(sizeof(link));head->next=NULL;num=0;while(1){  new=(link *)malloc(sizeof(link));       if(!new)       {        print("overflow!");       exit(0);       }       print("\n输入第%d个学生的信息:",num+1);       print("\n学号:");       scanformat("%ld",&new->num);       print("\n姓名:");       scanformat("%s",new->name);       print("\n性别:");       scanformat("%s",new->sex);       print("\n年龄:");       scanformat("%d",&new->age);       print("\n所在系:");       scanformat("%s",&new->dept);       print("\n班级:");       scanformat("%s",&new->class);       new->next=head->next;       head->next=new;       num++;       print("\n继续?Y or N?:");       scanformat("%c",&ch);       if(ch=='N'||ch=='n')       break;}L=head->next;print("\n 成功的创建了学生信息表!\n");}void output_linklist(){   int i=num;   print("\n此刻学生信息表中学生信息:\n");   while(i>0)   {        print("\n第%d个学生的信息:",i);        print("\n 学号:");        print("%ld",L->num);        print("\n 姓名:");        print("%s",L->name);        print("\n 性别:");       print("%s",L->sex);        print("\n 年龄:");        print("%d",L->age);        print("\n所在的系:");        print("%s",L->dept);        print("\n所在的班级:");        print("%s",L->class);        i--;        L=L->next;   }L=head->next;}void insert_list(){int n,i=1;link *new;print("\n你想在哪个记录之前插入新的记录 :");scanformat("%d",&n);while(n>num||n<0){print("\n非法输入,请重新输入:");scanformat("%d",&n);}while(i<n-1){L=L->next;i++;}new=(link *)malloc(sizeof(link));if(!new)  {  print("溢出!");  exit(0);  }print("\n 请输入学生的信息:\n");print("\n学号:");scanformat("%ld",&new->num);print("\n姓名:");scanformat("%s",new->name);print("\n性别:");scanformat("%s",&new->sex);print("\n年龄:");scanformat("%d",&new->age);print("\n所在系:");scanformat("%s",new->dept);print("\n所在班级:");scanformat("%s",new->class);new->next=L->next;L->next=new;print("已成功的加入了一个新的记录!\n");num++;L=head->next;}void delete_linklist(){link *q,*p;int i,j=1;print("\n你想删除哪个学生的信息:");scanformat("%d",&i);while(i>num||i<0){print("\n输入格式错误,请重新输入!");scanformat("%d",&i);}while(j<i-1){L=L->next;j++;}q=L;p=L->next;q->next=q->next->next;free(p);print("\n你已经成功的删除了该生的记录!\n");num--;L=head->next;}void show_menu(){print("\n====================================================");print("\n1.显示表中的信息");print("\n2.加入一个学生的信息");print("\n3.删除学生的信息");print("\n4.退出");print("\n====================================================\n");}main(){int choice;print("\n 现在的学生表是空的,开始创建学生表,请稍等.........");sleep(6);create_linklist();show_menu();while(1){print("请选择你的操作:");scanformat("%d",&choice);     switch(choice)       {          case 1:                     output_linklist();                     break;          case 2:                      insert_list();                      break;         case 3:                      delete_linklist();                      break;        case 4:          saveconsole("student.txt");                      exit(0);               default:                   print("\n错误的输入!");                   break;      }print("\n\n");show_menu();}}

阅读(25503) | 评论(3)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册