学生信息管理系统

今天上机实训去了,做了一个学生管理系统,贴在我的博客里,以后方便使用啦

  1 #include<stdio.h>
  2 #include<string.h>
  3 #include<stdlib.h>
  4 #include<windows.h>
  5 int N;
  6 struct student{
  7     char num[10];
  8     char name[6];
  9     char sex[3];
 10     char pho[11];
 11 
 12 } STU[30];
 13 
 14 /********* 添加学生信息 ********/
 15 void add(){
 16     extern menu();
 17     extern esc();
 18     int i,n,k;
 19     system("cls");
 20     printf("你要添加几个学生信息?\n");
 21     scanf("%d",&k);
 22     printf("请输入: \n学号      姓名    性别    电话号码\n");
 23     for(i=N;i<N+k;i++){
 24     scanf("%s%s%s%s",&STU[i].num,&STU[i].name,&STU[i].sex,&STU[i].pho);
 25         }
 26     N=N+k;
 27     printf("\n\n");
 28     printf("1.返回主菜单");
 29     printf("2.退出系统");
 30     scanf("%d",&n);
 31     switch(n){
 32     case 1: menu(); break;
 33     case 2: esc(); break;}
 34 }
 35 
 36 /********* 查找*********/
 37 int read(){
 38 int i;
 39 char Num[10];
 40 printf("请输入学号:");
 41 scanf("%s",Num);
 42 for(i=0;i<N;i++)
 43 if(strcmp(Num,STU[i].num)==0) return i;
 44 else 
 45 {read();}
 46 }
 47 
 48 /********* 更改学生信息 ********/
 49 void change(){
 50 int i,n;
 51 system("cls");
 52 printf("请输入要修改的学生的学号\n");
 53 i=read();
 54 printf("请输入: \n学号      姓名    性别    电话号码\n");
 55 printf("%5s%5s%3s%10s\n",STU[i].num,STU[i].name,STU[i].sex,STU[i].pho);
 56 scanf("%s%s%s%s",&STU[i].num,&STU[i].name,&STU[i].sex,&STU[i].pho);
 57 printf("\n\n");
 58 printf("1.返回主菜单");
 59 printf("2.退出系统");
 60 scanf("%d",&n);
 61 switch(n){
 62     case 1: menu(); break;
 63     case 2: esc(); break;
 64 }}
 65 
 66 /********* 查找学生 ********/
 67 void look(){
 68 int i,n;
 69 system("cls");
 70 printf("请输入要查找的学生的学号或者姓名\n");
 71 i=read();
 72 printf("请输入: \n学号      姓名    性别    电话号码\n");
 73 printf("%5s%5s%3s%10s",STU[i].num,STU[i].name,STU[i].sex,STU[i].pho);
 74 printf("\n\n");
 75 printf("1.返回主菜单");
 76 printf("2.退出系统");
 77 scanf("%d",&n);
 78 switch(n){
 79     case 1: menu(); break;
 80     case 2: esc(); break;}}
 81 
 82 /********* 删除学生信息 ********/
 83 void del(){
 84 int i,n,m; 
 85 char S[5]=" ";
 86 system("cls");
 87 printf("请输入要删除的学生的学号或者姓名:\n");
 88 i=read();
 89 printf("请输入: \n学号      姓名    性别    电话号码\n");
 90 printf("%5s%5s%3s%10s",STU[i].num,STU[i].name,STU[i].sex,STU[i].pho);
 91 printf("确定要删除该生信息?");
 92 printf("1.是");
 93 printf("2.否");
 94 scanf("%d",&m);
 95 if(m==1){
 96     strcpy(STU[i].name,S); strcpy(STU[i].num,S); strcpy(STU[i].pho,S); strcpy(STU[i].sex,S);}
 97 printf("\n\n");
 98 printf("1.返回主菜单");
 99 printf("2.退出系统");
100 scanf("%d",&n);
101 switch(n){
102     case 1: menu(); break;
103     case 2: esc(); break;}}
104 
105 /********* 显示全部学生信息 ********/
106 void alls(){
107 int n,i; 
108 system("cls");
109 printf("请输入: \n学号      姓名    性别    电话号码\n");
110 for(i=0;i<N;i++)
111 printf("%5s%5s%3s%10s\n",STU[i].num,STU[i].name,STU[i].sex,STU[i].pho);
112 printf("\n\n");
113 printf("1.返回主菜单");
114 printf("2.退出系统");
115 scanf("%d",&n);
116 switch(n){
117     case 1: menu(); break;
118     case 2: esc(); break;}}
119 
120 /*********退出系统********/
121 int esc(){
122 int n;
123 system("cls");
124 printf("\n\n");
125 printf("1.返回主菜单");
126 printf("2.退出系统");
127 scanf("%d",&n);
128 switch(n){
129     case 1: menu(); break;
130     case 2:exit(0);
131 } 
132   }
133 
134 menu(){
135 int n;
136 system("cls");
137 printf("\n\n");
138 printf("***********  B15060528     张宝宝***************");
139 printf("\n\n");
140 printf("     1 #  录入学生信息                       *\n");
141 printf("     2 #  修改学生信息                       *\n");
142 printf("     3 #  查询学生信息                       *\n");
143 printf("     4 #  删除学生信息                       *\n");
144 printf("     5 #  显示学生信息                       *\n");
145 printf("     6 #  退出学生信息系统                   *\n");
146 printf("\n\n");
147 printf("**********************************************\n");
148 printf("请选择:");
149 scanf("%d",&n);
150 switch(n){
151 case 1: add();
152 case 2: change();
153 case 3: look();
154 case 4: del();
155 case 5: alls();
156 case 6: esc();}
157 }
158 
159 
160 
161 int main(){
162 static N;
163 menu();
164 return 0;
165 }

然后呢,刚才有人问我“秋后算账”啦,才突然想起去年帮人家写了一个课程设计,也是学生信息管理系统的设计,我就把代码找了出来,也粘贴上来好了

#include<stdio.h>
#include <windows.h>
#include<string.h>
#include<process.h>
#include<conio.h>
#define N 30
typedef struct address
{    
    char name[20];
    char B[20];
    char  num[10];
    char phone[13];
    char cla[8];
    char E[10];
    char Q[15];
}ADD;
ADD add[N];
int n;

void inputs(void);
void save(void);


void look(void);
void search(void);


void modify(void);
void del(void);
void menu(void);
void main()
{    
    
    short int flag=0;
    system("color 1F");
    menu();
    do
    {    flag=1;
        switch(getch())
        {    case '1' : inputs();break;
            case '2' : look();break;
            case '3' : search();break;
            case '4' : modify();break;
            case '5' : del();break;

            case '0' :exit(0);                
            default : printf("输入有误\n");
        }
        printf("按任意键继续\n");
        getch();
        menu();
    }while (flag==1);
}

        


void menu(void)
{
    system("cls");
    printf("\n");
    printf("*********个人通讯录管理系统**************\n");
    printf("                 菜单                          \n");
    printf("[1]  新增联系人\n");
    printf("[2]  阅览我的联系人\n");
    printf("[3]  查找联系人\n");
    printf("[4]  修改我的联系人\n");
    printf("[5]  删除我的联系人\n");
    
    printf("请输入您的选择\n");
    
}






/***************【1】输入联系人的信息******************************/
void inputs(void)

{    int i;
    system("color B0");
    system("cls");
    printf("请问您需要增加几个联系人:\n");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {    printf("姓名   |   单位  |   固定电话  |   移动手机  |  分类   |    Email   |    QQ\n");
        scanf("%s%s%s%s%s%s%s",&add[i].name,&add[i].B,&add[i].num,&add[i].phone,&add[i].cla,&add[i].E,&add[i].Q);
    
    }
    printf("成功输入\n");
    save();
    
}
/******************【22】阅览全部************************/


void look(void)
{    int i;
    

    system("color 20");
    system("cls");
    
    for(i=0;i<n;i++)
    {    printf("%5s%5s%10s%15s%15s%15s%13s\n",add[i].name,add[i].B,add[i].num,add[i].phone,add[i].cla,add[i].E,add[i].Q);
        
        printf("\n");
        
    }
    printf("您共有%d个联系人\n",n);
    printf("\n");

}
/*****************【333】查找***************************/
void search(void)
{    char a[10];
    int i;
    system("cls");
    system("color F0");
    printf("请输入要查找的联系人的姓名\n");
    scanf("%s",a);
    for(i=0;i<n;i++)
    {    if(strcmp(a,add[i].name)==0)
        {    printf("姓名   |   单位  |   固定电话  |   移动手机  |  分类   |    Email   |    QQ\n");
            printf("%5s%5s%10s%15s%15s%15s%13s\n",add[i].name,add[i].B,add[i].num,add[i].phone,add[i].cla,add[i].E,add[i].Q);    
            printf("\n");
            break;                        
        }        
        else
            printf("您的通讯录里不存在该联系人\n");
    }

}



/***************【4444】修改*****************/
void modify(void)
{    char a[10];
    int i;
    system("cls");
    printf("请输入要修改的联系人的姓名\n");
    scanf("%s",a);
    for(i=0;i<n;i++)
    {    if(strcmp(a,add[i].name)==0)
        {    printf("姓名   |   单位  |   固定电话  |   移动手机  |  分类   |    Email   |    QQ\n");
            printf("%5s%5s%10s%15d%15s%15s%13s\n",add[i].name,add[i].B,add[i].num,add[i].phone,add[i].cla,add[i].E,add[i].Q);    
            
            printf("\n");
            printf("请重新输入该联系人的信息:\n");
            scanf("%s%s%s%s%s%s%s",add[i].name,add[i].B,add[i].num,add[i].phone,add[i].cla,add[i].E,add[i].Q);
            
        
            printf("修改成功\n");
            
            break;
        }
    else
        printf("您没有这个联系人\n");
    }
    save();
}

/*******************【55555】删除*************************/
void del(void)
{    int i;
    char m,a[10];
    system("color FC");
    system("cls");
    printf("请输入要删除的联系人的姓名\n");
    scanf("%s",a);
    for(i=0;i<n;i++)
    {    if(strcmp(a,add[i].name)==0)
        {    printf("姓名   |   单位  |   固定电话  |   移动手机  |  分类   |    Email   |    QQ\n");
            printf("%5s%5s%10s%15s%15s%15s%13s\n",add[i].name,add[i].B,add[i].num,add[i].phone,add[i].cla,add[i].E,add[i].Q);    
            
            printf("确定要删除该联系人?(y/n)\n");
            scanf("%s",&m);
            if(m=='y')
                {    
                    for(i=0;i<n-1;i++)
                     add[i]=add[i+1];            
                        n=n-1;                        
    
                    printf("删除成功\n");
                }
                    else
                        printf("删除失败\n");
            break;
            }
        else
            printf("您无此联系人\n");
    }
    
        
}
/******************【6】保存************************/
void save(void)
{    FILE *fp;
    int i,flag=1;
    char m;
    system("cls");
    puts("确定保存联系人?(y/n)");
    scanf("%s",&m);
    if(m=='y')
    {    if((fp=fopen("address.dat","wb"))==NULL)
        {    printf("文件打开失败\n");
            return;
        }
        for(i=0;i<n;i++)
            if(fwrite(&add[i],sizeof(struct address),1,fp)!=1)
            {    printf("保存失败\n");
                flag=0;
            }
        if(flag==1)
            printf("保存成功!\n");
        fclose(fp);
    }
    else
        return;
}

 

posted @ 2016-12-03 22:00  张子木  阅读(350)  评论(0编辑  收藏  举报