• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C++学生信息管理系统

C++学生信息管理系统

作者:东X哥 字体:[增加 减小] 来源:互联网 时间:2017-05-28

东X哥 通过本文主要向大家介绍了c++学生成绩管理系统,c++信息管理系统,学生信息管理系统,学生管理系统源代码,c++职工信息管理系统等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例为大家分享了C++学生信息管理系统源码,供大家参考,具体内容如下

1. tea_list.c

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include"teacher.h"
int sq_tea ;
PTEA head = NULL ;
FILE *fp ;
int tea_llopen(const char* path)//打开文件
{
  fp=fopen(path,"r");
  if(fp==NULL){
    perror("open fail");
    return -1;}
#ifdef DEBUG
  printf ("debug--001") ;
#endif
  PTEA p;
  int ret;
  while(p)
  {
    p=malloc(sizeof(TEA));
    if(p==NULL){
      perror("申请空间不够");
      return -1;}
    ret=fscanf(fp,"%d%d%d%s%s",
     &p->id,&p->age,&p->wages,p->name,p->passwd);
    if(ret<=0) break;
    if(head==NULL){
      p->next=NULL;
      p->pre=NULL;
      head=p;}
    else{
      p->next=head;
      p->pre=NULL;
      head->pre=p;
      head=p;}
  }
  return 0;
}
#if 1
int tea_llshow( )//显示
{
  if(head==NULL)
  return -1;
  PTEA p=head;
  printf("工号\t年龄\t工资\t姓名\n");
  while(p)
  {
  printf("%d\t%d\t%d\t%s\n",
  p->id,p->age,p->wages,p->name);
  p=p->next;
  }
  return 0;
}
 
PTEA tea_llcheck(PTEA a)//查找
{
  printf("输入查找教师工号\n");
  int id;
  scanf("%d",&id);
      while(getchar()!='\n');
   PTEA p;
   p=head;
   while(p)
   {
     if(p->id==id){
 printf ("工号\t年龄\t薪水\t姓名\n " );
 printf ("%d\t%d\t%d\t%s\n",p->id,p->age,p->wages,p->name);
    break ;
                  }
   p=p->next;
 }
   if (p==NULL) {
        printf ("未找到该教师\n");
        printf ("是否继续查找y/n\n") ;
      char ch ;
      getchar();
      ch=getchar();
      if((ch=='y')||(ch=='Y')) 
      tea_llcheck (p )  ;  
      else
        return NULL ;
   }   
   
return 0;
 
}
#endif
#if 1
int tea_lladd(PTEA b )//增加老师信息
{
#ifdef _DEBUG_ 
  printf ("debug-001\n") ;
#endif
    PTEA p ;
    char ch ;
    p=malloc(sizeof(TEA));
    if(p==NULL){
      perror("申请空间不够\n");
      return -1;}
    printf ("请输入添加老师的信息\n工号\t年龄\t薪水\t姓名\t密码\n") ;
    scanf("%d%d%d%s",&p->id,&p->age,&p->wages,p->name,p->passwd) ;
        while(getchar()!='\n');
    if ( p == NULL )
      return -1 ;
    if ( head == NULL ) //说明链表为空,加入成第一个
    { p->next = NULL ;
      p->pre = NULL ;
      head->pre = p ;
      head = p ; 
    }
     else {
     p->next=head ;
     p->pre=NULL ;
     head->pre = p ;
     head=p ;
     }
/*    fprintf ( fp , "%d\t%d\t%d\t%s\n",p->id,p->age,p->wages,p->name ) ;
       fclose ( fp ) ;
         fopen ("teacher.txt" , "a+");
*/   
 
 
    return 0 ;
}
 
#endif 
#if 1
int tea_lldelete( PTEA a  ) //删除老师
{  int key ;
  printf ("请输入要删除的老师的工号\n") ;
  scanf ("%d",&key);
      while(getchar()!='\n');
  PTEA p ;
  PTEA q ;
  p = head ;
  while (p)
  {  if (p->id == key )
    {
  if( (p == head)&&(head->next!=NULL) )
    { head = head->next ;
     head->pre = NULL ;  
#ifdef _DEBUG_
    printf ("case 1\n") ;
#endif
    }
    else if ((p==head) && ( head->next==NULL))
    { head = NULL ;
#ifdef _DEBUG_
    printf ("case 2\n") ; 
#endif   
    } 
   else if( (p!=head )&&(p->next!=NULL) )
      {p->pre->next=p->next ;
        p->next->pre = p->pre ;
#ifdef _DEBUG_
        printf ("case 3\n ") ; I
#endif 
      }
    else { p->pre->next = NULL ;
#ifdef _DEBUG_ 
       printf ("case 4\n") ; 
#endif 
    }
         break ;
  }  
     p = p->next ;
      
  }
       free (p) ;
    if (p==NULL)
      printf ("未找到该教师") ;
/*   fp = fopen("teacher.txt","r+");
  while(p){
  fprintf (fp ," %d\t%d\t%d\t%s\n" , p->id , p->age ,p->wages , p->name );
    p=p->next ;
  }
   fclose (fp) ;
    tea_llopen ;
*/ }
#endif 
#if 1  
int tea_llchange()//修改老师信息
{ 
  PTEA p;
  printf("\n输入工号");
    int key;
    scanf("%d",&key);
      while(getchar()!='\n');
     p=head;
     while(p)
     {
         if(p->id==key){
     printf("工号\t年龄\t薪水\t姓名\n");
  scanf("%d%d%d%s%s",
    &p->id,&p->age,&p->wages,p->name,p->passwd);
      while(getchar()!='\n');
       break ;
}
         p=p->next;}
 
          p = head ;
  printf ("修改之后为\n");
    printf("学号\t年龄\t数学\t英语\t语文\t班级\t姓名\t密码\n");
    while(p)
    {
  printf("%d\t%d\t%d\t%s\t%s\n",
  p->id,p->age,p->wages,p->name,p->passwd);
    p=p->next;
    }
 
 
 
  return 0;
}
 
 
#endif
 
#if 1
 
PTEA tea_check_id() //校验老师用户名
{
  PTEA p;
  p = head;
  int id;
  char ch;
  printf("请输入您的工号:");
  scanf("%d",&id);
      while(getchar()!='\n');
  while(p)
  {
    if(p->id==id){
      return p;
 
    }
    p = p->next;
  }
  if(p==NULL){
  printf("找不到该用户\n");
  printf("是否重试?[y/n]\n");
// scanf("%c",&ch) ;
 //  getchar () ;
  ch = getchar () ;
  if ((ch=='y')||(ch=='Y'))
      tea_check_id();
  else
    menu();
}
}
#endif
#if 1
PTEA tea_check_passwd() //校验老师密码
{
  PTEA p;
  p =tea_check_id();
  char passwd[20];
  char ch;
  printf("请输入密码:");
  scanf("%s",passwd); 
      while(getchar()!='\n');
  if(strcmp (p->passwd , passwd)==0)
  { 
    sq_tea = p->id ;
#ifdef _DEBUG_
    printf("================%d\n",p->id) ;
    printf("================%d\n",sq_tea) ;
    getchar();
    getchar();
#endif
    return p;
  }else{
  printf("密码不正确\n");
  printf("是否重新输入[y/n]\n");
// getchar() ;
  ch = getchar () ;
      while(getchar()!='\n');
  if((ch=='y')||(ch=='Y'))
    tea_check_passwd();
  else
    menu();
  }
  return NULL;
}
#endif
#if 1
int tea_change_passwd()
{
  PTEA p;
  p=tea_check_passwd();
  char new_passwd[20];
  char new[20];
  char ch;
  printf("请输入新密码:");
  scanf("%s",new_passwd);
    while(getchar() != '\n');
  printf("请再次输入新密码:");
  scanf("%s",new);
    while(getchar() != '\n');
  if(strcmp(new_passwd,new)==0)
  {
    strcpy(p->passwd,new_passwd) ;
     printf("密码修改成功!\n");
 
 
  //  tea_write() ;
  }
  else
  {
  printf("密码输入错误\n");
  printf("是否重试[y/n]\n");
// getchar();
  ch=getchar() ;
      while(getchar()!='\n');
  if((ch=='y')||(ch=='Y'))
    tea_change_passwd();
  else
    exit(1);
  }
  return 0;
}
#endif
 
#if 1
int tea_lookme()
{
  PTEA p;
  p = head ;
  while (p) { 
   if( p->id == sq_tea ) {
  printf("工号\t年龄\t薪水\t姓名\t密码\n");
    printf("%d\t%d\t%d\t%s\n%s\n",
      p->id,p->age,p->wages,p->name,p->passwd);
   }
  p = p->next ;
} 
 return 0 ;
}
#endif
 
 
#if 1
 
int tea_write()
{
   PTEA p;
  //  PTEA head ;
   FILE *fp;
    p=head;
   fp=fopen("teacher.txt","w+");
   while(p)
    {  
    fprintf( fp, 
         "%d\t%d\t%d\t%s\t%s\n",
         p->id,p->age,p->wages,p->name,p->passwd);
         p=p->next;
                                 }  
                return 0;
}
 
 
#endif
 
 
#if 0
int main(int argc,char * argv[])
{
  if(argc<2){
    printf("execult error");
    return -1;}
  int ret;
  PTEA p;
  ret=tea_llopen(argv[1]);
    if(ret<0){
      printf("list is end\n");
      return -1;}
// tea_llshow(head);
// int id;
/* p=tea_llcheck();
  printf("%d\t%d\t%d\t%s\n",
  p->id,p->age,p->wages,p->name);
*/ //tea_llshow();
// tea_lladd(head) ;
// tea_llshow(head) ;
//  tea_lldelete( head ) ;  
 //  tea_llshow(head) ;
  tea_llcheck(head) ;
   return 0;
 }
#endif
</div>

2. stu_list.c    

#include<stdio.h>
#include<stdlib.h>
#include<string.h



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C++学生信息管理系统

相关文章

  • 2017-05-28C++形参与实参的区别实例解析
  • 2017-05-28C++ boost 时间与日期处理详细介绍
  • 2017-05-28深入解读C++中的指针变量
  • 2017-05-28C 语言指针变量的运算详解
  • 2017-05-28C++读取到回车换行符问题处理
  • 2017-05-28C语言之实现控制台光标随意移动的实例代码
  • 2017-05-28C++Primer笔记之关联容器的使用详解
  • 2017-05-28利用C语言实现HashTable
  • 2017-05-28C++中拷贝构造函数的应用详解
  • 2017-05-28C++ HLSL实现简单的图像处理功能

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C++ vector删除符合条件的元素示例分享
    • 浅析c/c++中函数的参数传递
    • 浅谈C语言的字节对齐 #pragma pack(n)2
    • 使用C语言求二叉树结点的最低公共祖先的方法
    • C语言代码中调用C++代码的方法示例
    • 详解C语言 三大循环 四大跳转 和判断语句
    • C++基础入门教程(一):基础知识大杂烩
    • 利用C++实现矩阵的相加/相称/转置/求鞍点
    • 深入c语言continue和break的区别详解
    • 探讨编写int strlen(char *strDest);不允许定义变量的问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有