正文

学生信息管理系统2005-06-26 13:28:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/jay0518/2122.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 15 typedef 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(); } }

阅读(4366) | 评论(0)


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

评论

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