鱼C论坛

 找回密码
 立即注册
查看: 1855|回复: 4

[已解决]程序没有报错,但是运行结果却是空白

[复制链接]
发表于 2020-6-8 21:41:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include<string.h>
  4. int max=100000;
  5. int size=0;

  6. typedef struct student {
  7.         char name[8];  //学生姓名
  8.         int number;  //学生学号
  9.         int phone;  //学生联系方式
  10.         char adress[100];  //学生家庭住址
  11.         int ID;  //学生身份证号码
  12.         char jiguan[2];  //学生籍贯
  13.         char Class[100];  //学生班级
  14. }imformation;

  15. void serch_number1(imformation im[],int num1){//管理员模式 ——姓名查找
  16.         int i=0;
  17.         for(;i<size;i++){
  18.                 if(im[i].number == num1){
  19.                         printf("%d \t %s \t %d \t %s \t %d \t %s \t %s\n",im[i].name,im[i].number,im[i].phone,im[i].adress,im[i].ID,im[i].jiguan,im[i].Class);

  20.                 }
  21.         }
  22.         printf("查无此人\n");               
  23. }
  24. void serch_number2(imformation im[],int num2){//学生模式 ——姓名查找
  25.         int i=0;
  26.         for(;i<size;i++){
  27.                 if(im[i].number==num2){
  28.                         printf("%d \t %s \t %c\n",im[i].number,im[i].name,im[i].Class);
  29.                 }
  30.         }
  31.         printf("查无此人\n");               
  32. }

  33. void serch_name1(imformation im[],char name1[]){//管理员模式 ——学号查找
  34.         int i=0;
  35.         for(;i<size;i++){
  36.                 if(strcmp(im[i].name , name1)>0){
  37.                         printf("%s \t %d \t %d \t %s \t %d \t %s \t %s\n",im[i].name,im[i].number,im[i].phone,im[i].adress,im[i].ID,im[i].jiguan,im[i].Class);
  38.                 }
  39.         }
  40.         printf("查无此人\n");
  41. }
  42. void serch_name2(imformation im[],char name2[]){//学生模式 ——学号查找
  43.         int i=0;
  44.         for(;i<size;i++){
  45.                 if(strcmp(im[i].name,name2)>0){
  46.                         printf("%s %d %s",im[i].name,im[i].number,im[i].Class);
  47.                 }
  48.         }
  49.         printf("查无此人\n");
  50. }
  51. void Input(imformation im[],int renshu){//输入学生信息
  52.         printf("学号\t姓名\t联系方式\t家庭住址\t身份证号码\t籍贯\t");
  53.         int i;
  54.         for(i=0;i<renshu;i++){
  55.                 scanf("%d %s %d %s %d %s %s %s",&im[i].number, im[i].name, &im[i].phone, im[i].adress, &im[i].ID, im[i].jiguan, im[i].Class);
  56.                 size++;
  57.         }       
  58. }
  59. void add(imformation im[],int ge){//再添加学生信息
  60.         int geshu=size+ge;
  61.         printf("学号\t姓名\t联系方式\t家庭住址\t身份证号码\t籍贯\t");
  62.         int i;
  63.         for(i=size;i<geshu;i++){
  64.                 scanf("%d %s %d %s %d %s %s %s",im[i].name, &im[i].number, &im[i].phone, im[i].adress, &im[i].ID, im[i].jiguan, im[i].Class);
  65.                 size++;
  66.         }
  67. }
  68. void del(imformation im[],int numb) {//删除学生的信息,numb为学生学号
  69.         int i,j;
  70.         for(i = 0; i < size; i++) {
  71.                 if(im[i].number == numb) {
  72.                         for(j = i; j < size - 1; j++){
  73.                                 im[j] = im[j+1];
  74.                         }
  75.                         size--;
  76.                         printf("删除成功!\n");
  77.                 }//end of if//
  78.         }//end of for//
  79.         printf("没有该学生\n");
  80. }
  81. void show1(imformation im[]){ //管理员模式 ——输出函数
  82.         int temp,j;
  83.         if(size==0)
  84.                 printf("请先输入学生信息");
  85.         else {
  86.                 printf("\t 学号 \t        姓名 \t 联系方式 \t 家庭住址 \t 身份证号码 \t 籍贯 \t 班级");
  87.                 int i;
  88.                 for(i=0;i<size;i++){
  89.                         for(j=i+1;j<size;j++){
  90.                                 if(im[i].number>im[j].number) {//根据学号进行排序,学号小的在前面,学号大的在后面
  91.                                         temp=i;
  92.                                         i=j;
  93.                                         j=temp;
  94.                                 }       
  95.                 printf("%d %s %d %s %d %s %s",im[i].number, im[i].name, im[i].phone, im[i].adress, im[i].ID, im[i].jiguan, im[i].Class);
  96.                         }
  97.                 }
  98.         }       
  99. }
  100. void show2(imformation im[]){  //学生模式 ——输出函数
  101.         int temp,i,j;
  102.         if(size==0)
  103.                 printf("请先输入学生信息");
  104.         else {
  105.                 printf("\t 学号 \t        姓名 \t 班级");
  106.                 for( i=0;i<size;i++){
  107.                         for(j=i+1;j<size;j++){
  108.                                 if(im[i].number>im[j].number) {//根据学号进行排序,学号小的在前面,学号大的在后面
  109.                                         temp=i;
  110.                                         i=j;
  111.                                         j=temp;
  112.                                 }
  113.                 printf("%d %c %c",im[i].number, im[i].name, im[i].Class);
  114.                         }
  115.                 }
  116.         }
  117. }
  118. void update(imformation im[]){//学生修改个人信息
  119.         int i=0,x,count;
  120.         printf("请输入自己的学号:");
  121.         scanf("%d",&count);
  122.         char chose;
  123.         for(;i<size;i++){
  124.                 if(count==im[i].number)
  125.                         break;
  126.                 else{
  127.                         printf("ERROR!");
  128.                 }
  129.         }
  130.         printf("1.修改姓名 \n2.修改联系方式 \n3.修改家庭地址 \n4修改身份证号码 \n5.修改籍贯 \n6.修改班级 \n0.退出");
  131.         printf("请选择要修改的内容:");
  132.         do{
  133.                 scanf("%d",&x);
  134.                 switch(x){
  135.                         case 1:
  136.                                 printf("请输入新的姓名\n");
  137.                                 scanf("%s",im[max+1].name);
  138.                                 strcpy(im[i].name,im[max+1].name);
  139.                                 break;
  140.                         case 2:
  141.                                 printf("请输入新的联系方式\n");
  142.                                 scanf("%d",&im[max+1].phone);
  143.                                 im[i].phone=im[max+1].phone;
  144.                                 break;
  145.                         case 3:
  146.                                 printf("请输入新的地址\n");
  147.                                 scanf("%s",im[max+1].adress);
  148.                                 strcpy(im[i].adress,im[max+1].adress);
  149.                                 break;
  150.                         case 4:
  151.                                 printf("请输入新的身份证号码\n");
  152.                                 scanf("%d",&im[i].ID);
  153.                                 im[i].ID=im[max+1].ID;
  154.                                 break;
  155.                         case 5:
  156.                                 printf("请输入新的籍贯\n");
  157.                                 scanf("%s",im[i].jiguan);
  158.                                 strcpy(im[i].jiguan,im[max+1].jiguan);
  159.                                 break;
  160.                         case 6:
  161.                                 printf("请输入新的班级\n");
  162.                                 scanf("%s",im[i].Class);
  163.                                 strcpy(im[i].Class,im[max+1].Class);
  164.                                 break;
  165.                         case 0:
  166.                                 break;
  167.                         }
  168.                 printf("是否继续修改?(y/n)");//可以进行多次修改,防止有多初错误
  169.                 scanf("%c",&chose);
  170.         }while(chose=='y');
  171. }
  172. void menu1(){
  173.         printf("=====================================");
  174.         printf("|1.输入学生信息|*****|2.学号查找学生|");
  175.         printf("=====================================");
  176.     printf("|3.删除学生信息|*****|4.姓名查找信息|");
  177.         printf("=====================================");
  178.         printf("|5.浏览学生信息|*****|0.****退出****|");
  179.         printf("=====================================");
  180. }
  181. void menu2(){
  182.         printf("=====================================");
  183.         printf("|1.姓名查找学生|*****|2.学号查找学生|");
  184.         printf("=====================================");
  185.     printf("|3.修改个人信息|*****|4.浏览学生信息|");
  186.         printf("=====================================");
  187.         printf("|**************0. 退出**************|");
  188.         printf("=====================================");
  189. }

  190. int main(){
  191.         imformation student[max];
  192.         int student_number;
  193.         int shenfen;
  194.         printf("请输入你的身份(1.学生/2.管理员):");
  195.         scanf("%d",&shenfen);
  196.         if(shenfen==2) {
  197.                 menu1();
  198.                 int i=1,renshu;
  199.                 char student_name[8];
  200.                 printf("请做出选择:");
  201.                 scanf("%d",&i);
  202.                 while(i){
  203.                         switch(i){
  204.                                 case 1://录入学生信息
  205.                                         printf("请输入需要录入的学生的人数:");
  206.                                         scanf("%d",&renshu);
  207.                                         Input(student,renshu);
  208.                                         break;
  209.                                 case 2://根据学号查找学生
  210.                                         printf("请输入需要查找的学生的学号:");       
  211.                                         scanf("%d",&student_number);
  212.                                         serch_number1(student,student_number);
  213.                                         break;
  214.                                 case 3://删除学生信息
  215.                                         printf("请输入将被删除的学生的学号:");
  216.                                         scanf("%d",&student_number);
  217.                                         del(student,student_number);
  218.                                         break;
  219.                                 case 4://根据姓名查找学生
  220.                                         printf("请输入需要查找的学生的姓名:");
  221.                                         scanf("%s",student_name);
  222.                                         serch_name1(student,student_name);
  223.                                         break;
  224.                                 case 5://打印学生信息
  225.                                         show1(student);
  226.                                         break;
  227.                                 case 0://退出
  228.                                         printf("已成功退出");
  229.                                         break;
  230.                                 default:
  231.                                         printf("输错啦!!!");
  232.                         }       
  233.                 }
  234.         }
  235.         else{
  236.                 menu2();
  237.                 int j=1;
  238.                 char student_name[8];
  239.                 printf("请做出选择:");
  240.                 scanf("%d",&j);
  241.                 while(j){
  242.                         switch(j){
  243.                                 case 1://根据姓名查找学生
  244.                                         printf("请输入需要查找的学生的姓名:");
  245.                                         scanf("%s",student_name);
  246.                                         serch_name2(student,student_name);
  247.                                         break;
  248.                                 case 2://根据学号查找学生
  249.                                         printf("请输入需要查找的学生的学号:");       
  250.                                         scanf("%d",&student_number);
  251.                                         serch_number2(student,student_number);
  252.                                         break;
  253.                                 case 3://学生自己修改自己的学生信息
  254.                                         update(student);
  255.                                         break;               
  256.                                 case 4://打印学生信息
  257.                                         show2(student);
  258.                                         break;
  259.                                 case 0://退出
  260.                                         printf("已成功退出");
  261.                                         break;
  262.                                 default:
  263.                                         printf("输错啦!!!");
  264.                          }
  265.        
  266.                 }
  267.         }
  268.         return 0;
  269. }
复制代码

哪位大佬帮下忙,周三就要交了。
在线等,挺急的!
最佳答案
2020-6-10 11:00:26
我用的vc++6.0,你看看我的程序程序能不能运行,我在vc++6.0运行通过了
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#define max 50
int size=0;

struct student_information
{
        char name[8];  //学生姓名
        int number;  //学生学号
        int phone;  //学生联系方式
        char adress[100];  //学生家庭住址
        int ID;  //学生身份证号码
        char jiguan[2];  //学生籍贯
        char Class[100];  //学生班级
};

void serch_number1(struct student_information im[],int num1){
        //管理员模式 ——姓名查找
       int i=0;
       for(;i<size;i++){
               if(im[i].number == num1){
                       printf("%d \t %s \t %d \t %s \t %d \t %s \t %s\n",im[i].name,im[i].number,im[i].phone,im[i].adress,im[i].ID,im[i].jiguan,im[i].Class);

               }
       }
       printf("查无此人\n");               
}
void serch_number2(struct student_information im[],int num2){//学生模式 ——姓名查找
        int i=0;
        for(;i<size;i++){
                if(im[i].number==num2){
                        printf("%d \t %s \t %c\n",im[i].number,im[i].name,im[i].Class);
                }
        }
        printf("查无此人\n");               
}

void serch_name1(struct student_information im[],char name1[]){//管理员模式 ——学号查找
        int i=0;
        for(;i<size;i++){
                if(strcmp(im[i].name , name1)>0){
                        printf("%s \t %d \t %d \t %s \t %d \t %s \t %s\n",im[i].name,im[i].number,im[i].phone,im[i].adress,im[i].ID,im[i].jiguan,im[i].Class);
                }
        }
        printf("查无此人\n");
}
void serch_name2(struct student_information im[],char name2[]){//学生模式 ——学号查找
        int i=0;
        for(;i<size;i++){
                if(strcmp(im[i].name,name2)>0){
                        printf("%s %d %s",im[i].name,im[i].number,im[i].Class);
                }
        }
        printf("查无此人\n");
}
void Input(struct student_information im[],int renshu){//输入学生信息

//       printf("学号\t姓名\t联系方式\t家庭住址\t身份证号码\t籍贯\t");
        int i=0;
        for(i=0;i<renshu;i++){
                scanf("%d %s %d %s %d %s %s %s",&im[i].number, im[i].name, &im[i].phone, im[i].adress, &im[i].ID, im[i].jiguan, im[i].Class);
                size++;
        }        
}
void add(struct student_information im[],int ge){//再添加学生信息
        int geshu=size+ge;
//        printf("学号\t姓名\t联系方式\t家庭住址\t身份证号码\t籍贯\t");
        int i;
        for(i=size;i<geshu;i++){
                scanf("%d %s %d %s %d %s %s %s",im[i].name, &im[i].number, &im[i].phone, im[i].adress, &im[i].ID, im[i].jiguan, im[i].Class);
                size++;
        }
}
void del(struct student_information im[],int numb) {//删除学生的信息,numb为学生学号
        int i,j;
         for(i = 0; i < size; i++) {
                 if(im[i].number == numb) {
                        for(j = i; j < size - 1; j++){
                                 im[j] = im[j+1];
                         }
                         size--;
                        printf("删除成功!\n");
                 }//end of if//
         }//end of for//
         printf("没有该学生\n");
}
void show1(struct student_information im[]){ //管理员模式 ——输出函数
        int temp,j;
        if(size==0)
                printf("请先输入学生信息");
        else {
//               printf("\t 学号 \t        姓名 \t 联系方式 \t 家庭住址 \t 身份证号码 \t 籍贯 \t 班级");
                int i;
                for(i=0;i<size;i++){
                        for(j=i+1;j<size;j++){
                                if(im[i].number>im[j].number) {//根据学号进行排序,学号小的在前面,学号大的在后面
                                        temp=i;
                                        i=j;
                                        j=temp;
                                }        
                printf("%d %s %d %s %d %s %s",im[i].number, im[i].name, im[i].phone, im[i].adress, im[i].ID, im[i].jiguan, im[i].Class);
                        }
                }
        }        
}
void show2(struct student_information im[]){  //学生模式 ——输出函数
        int temp,i,j;
        if(size==0)
                printf("请先输入学生信息");
        else {
                printf("\t 学号 \t        姓名 \t 班级");
                for( i=0;i<size;i++){
                        for(j=i+1;j<size;j++){
                                if(im[i].number>im[j].number) {//根据学号进行排序,学号小的在前面,学号大的在后面
                                        temp=i;
                                        i=j;
                                        j=temp;
                                }
                printf("%d %c %c",im[i].number, im[i].name, im[i].Class);
                        }
                }
        }
}
void update(struct student_information im[]){//学生修改个人信息
        int i=0,x,count;
//       printf("请输入自己的学号:");
//       scanf("%d",&count);
        char chose;
        for(;i<size;i++){
                if(count==im[i].number)
                        break;
                else{
                        printf("ERROR!");
                }
        }
        printf("1.修改姓名 \n2.修改联系方式 \n3.修改家庭地址 \n4修改身份证号码 \n5.修改籍贯 \n6.修改班级 \n0.退出");
        printf("请选择要修改的内容:");
        do{
                scanf("%d",&x);
                switch(x){
                        case 1:
                                printf("请输入新的姓名\n");
                                scanf("%s",im[max+1].name);
                                strcpy(im[i].name,im[max+1].name);
                                break;
                        case 2:
                                printf("请输入新的联系方式\n");
                                scanf("%d",&im[max+1].phone);
                                im[i].phone=im[max+1].phone;
                                break;
                        case 3:
                                printf("请输入新的地址\n");
                                scanf("%s",im[max+1].adress);
                                strcpy(im[i].adress,im[max+1].adress);
                                break;
                        case 4:
                                printf("请输入新的身份证号码\n");
                                scanf("%d",&im[i].ID);
                                im[i].ID=im[max+1].ID;
                                break;
                        case 5:
                                printf("请输入新的籍贯\n");
                                scanf("%s",im[i].jiguan);
                                strcpy(im[i].jiguan,im[max+1].jiguan);
                                break;
                        case 6:
                                printf("请输入新的班级\n");
                                scanf("%s",im[i].Class);
                                strcpy(im[i].Class,im[max+1].Class);
                                break;
                        case 0:
                                break;
                        }
                printf("是否继续修改?(y/n)");//可以进行多次修改,防止有多初错误
                scanf("%c",&chose);
        }while(chose=='y');
}
void menu1(){
//        printf("=====================================");
//        printf("|1.输入学生信息|*****|2.学号查找学生|");
//        printf("=====================================");
//                printf("|3.删除学生信息|*****|4.姓名查找信息|");
//        printf("=====================================");
//        printf("|5.浏览学生信息|*****|0.****退出****|");
//        printf("=====================================");
}
void menu2(){
        printf("=====================================");
        printf("|1.姓名查找学生|*****|2.学号查找学生|");
        printf("=====================================");
    printf("|3.修改个人信息|*****|4.浏览学生信息|");
        printf("=====================================");
        printf("|**************0. 退出**************|");
        printf("=====================================");
}

int main(){
        struct student_information student[max];
        int student_number;
        int shenfen;
        printf("请输入你的身份(1.学生/2.管理员):");
       scanf("%d",&shenfen);
        if(shenfen==2) {
                            int i=1,renshu;
                char student_name[8];
                menu1();
                printf("请做出选择:");
                scanf("%d",&i);
                while(i){
                        switch(i){
                                case 1://录入学生信息
                                        printf("请输入需要录入的学生的人数:");
                                        scanf("%d",&renshu);
                                        Input(student,renshu);
                                        break;
                                case 2://根据学号查找学生
                                        printf("请输入需要查找的学生的学号:");        
                                        scanf("%d",&student_number);
                                        serch_number1(student,student_number);
                                        break;
                                case 3://删除学生信息
                                        printf("请输入将被删除的学生的学号:");
                                        scanf("%d",&student_number);
                                        del(student,student_number);
                                        break;
                                case 4://根据姓名查找学生
                                        printf("请输入需要查找的学生的姓名:");
                                        scanf("%s",student_name);
                                        serch_name1(student,student_name);
                                        break;
                                case 5://打印学生信息
                                        show1(student);
                                        break;
                                case 0://退出
                                        printf("已成功退出");
                                        break;
                                default:
                                        printf("输错啦!!!");
                        }        
                }
        }
        else{
               
                int j=1;
                char student_name[8];
                                menu2();
                printf("请做出选择:");
                scanf("%d",&j);
                while(j){
                        switch(j){
                                case 1://根据姓名查找学生
                                        printf("请输入需要查找的学生的姓名:");
                                        scanf("%s",student_name);
                                        serch_name2(student,student_name);
                                        break;
                                case 2://根据学号查找学生
                                        printf("请输入需要查找的学生的学号:");        
                                        scanf("%d",&student_number);
                                        serch_number2(student,student_number);
                                        break;
                                case 3://学生自己修改自己的学生信息
                                        update(student);
                                        break;               
                                case 4://打印学生信息
                                        show2(student);
                                        break;
                                case 0://退出
                                        printf("已成功退出");
                                        break;
                                default:
                                        printf("输错啦!!!");
                         }
        
                }
        }
        return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-6-9 13:05:58 | 显示全部楼层
你这语法很多问题啊,怎么可能不报错
结构体那里定义出错了:要这样定义:
struct student_information
{
        char name[8];  //学生姓名
        int number;  //学生学号
        int phone;  //学生联系方式
        char adress[100];  //学生家庭住址
        int ID;  //学生身份证号码
        char jiguan[2];  //学生籍贯
        char Class[100];  //学生班级
};
struct student_information student[max];
max要用#define max 50 这样定义,才能用在数组定义中
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-9 23:15:01 | 显示全部楼层
紫霞真人 发表于 2020-6-9 13:05
你这语法很多问题啊,怎么可能不报错
结构体那里定义出错了:要这样定义:
struct student_information
...

真没报错,dev 错误0,警告0
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-10 11:00:26 | 显示全部楼层    本楼为最佳答案   
我用的vc++6.0,你看看我的程序程序能不能运行,我在vc++6.0运行通过了
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#define max 50
int size=0;

struct student_information
{
        char name[8];  //学生姓名
        int number;  //学生学号
        int phone;  //学生联系方式
        char adress[100];  //学生家庭住址
        int ID;  //学生身份证号码
        char jiguan[2];  //学生籍贯
        char Class[100];  //学生班级
};

void serch_number1(struct student_information im[],int num1){
        //管理员模式 ——姓名查找
       int i=0;
       for(;i<size;i++){
               if(im[i].number == num1){
                       printf("%d \t %s \t %d \t %s \t %d \t %s \t %s\n",im[i].name,im[i].number,im[i].phone,im[i].adress,im[i].ID,im[i].jiguan,im[i].Class);

               }
       }
       printf("查无此人\n");               
}
void serch_number2(struct student_information im[],int num2){//学生模式 ——姓名查找
        int i=0;
        for(;i<size;i++){
                if(im[i].number==num2){
                        printf("%d \t %s \t %c\n",im[i].number,im[i].name,im[i].Class);
                }
        }
        printf("查无此人\n");               
}

void serch_name1(struct student_information im[],char name1[]){//管理员模式 ——学号查找
        int i=0;
        for(;i<size;i++){
                if(strcmp(im[i].name , name1)>0){
                        printf("%s \t %d \t %d \t %s \t %d \t %s \t %s\n",im[i].name,im[i].number,im[i].phone,im[i].adress,im[i].ID,im[i].jiguan,im[i].Class);
                }
        }
        printf("查无此人\n");
}
void serch_name2(struct student_information im[],char name2[]){//学生模式 ——学号查找
        int i=0;
        for(;i<size;i++){
                if(strcmp(im[i].name,name2)>0){
                        printf("%s %d %s",im[i].name,im[i].number,im[i].Class);
                }
        }
        printf("查无此人\n");
}
void Input(struct student_information im[],int renshu){//输入学生信息

//       printf("学号\t姓名\t联系方式\t家庭住址\t身份证号码\t籍贯\t");
        int i=0;
        for(i=0;i<renshu;i++){
                scanf("%d %s %d %s %d %s %s %s",&im[i].number, im[i].name, &im[i].phone, im[i].adress, &im[i].ID, im[i].jiguan, im[i].Class);
                size++;
        }        
}
void add(struct student_information im[],int ge){//再添加学生信息
        int geshu=size+ge;
//        printf("学号\t姓名\t联系方式\t家庭住址\t身份证号码\t籍贯\t");
        int i;
        for(i=size;i<geshu;i++){
                scanf("%d %s %d %s %d %s %s %s",im[i].name, &im[i].number, &im[i].phone, im[i].adress, &im[i].ID, im[i].jiguan, im[i].Class);
                size++;
        }
}
void del(struct student_information im[],int numb) {//删除学生的信息,numb为学生学号
        int i,j;
         for(i = 0; i < size; i++) {
                 if(im[i].number == numb) {
                        for(j = i; j < size - 1; j++){
                                 im[j] = im[j+1];
                         }
                         size--;
                        printf("删除成功!\n");
                 }//end of if//
         }//end of for//
         printf("没有该学生\n");
}
void show1(struct student_information im[]){ //管理员模式 ——输出函数
        int temp,j;
        if(size==0)
                printf("请先输入学生信息");
        else {
//               printf("\t 学号 \t        姓名 \t 联系方式 \t 家庭住址 \t 身份证号码 \t 籍贯 \t 班级");
                int i;
                for(i=0;i<size;i++){
                        for(j=i+1;j<size;j++){
                                if(im[i].number>im[j].number) {//根据学号进行排序,学号小的在前面,学号大的在后面
                                        temp=i;
                                        i=j;
                                        j=temp;
                                }        
                printf("%d %s %d %s %d %s %s",im[i].number, im[i].name, im[i].phone, im[i].adress, im[i].ID, im[i].jiguan, im[i].Class);
                        }
                }
        }        
}
void show2(struct student_information im[]){  //学生模式 ——输出函数
        int temp,i,j;
        if(size==0)
                printf("请先输入学生信息");
        else {
                printf("\t 学号 \t        姓名 \t 班级");
                for( i=0;i<size;i++){
                        for(j=i+1;j<size;j++){
                                if(im[i].number>im[j].number) {//根据学号进行排序,学号小的在前面,学号大的在后面
                                        temp=i;
                                        i=j;
                                        j=temp;
                                }
                printf("%d %c %c",im[i].number, im[i].name, im[i].Class);
                        }
                }
        }
}
void update(struct student_information im[]){//学生修改个人信息
        int i=0,x,count;
//       printf("请输入自己的学号:");
//       scanf("%d",&count);
        char chose;
        for(;i<size;i++){
                if(count==im[i].number)
                        break;
                else{
                        printf("ERROR!");
                }
        }
        printf("1.修改姓名 \n2.修改联系方式 \n3.修改家庭地址 \n4修改身份证号码 \n5.修改籍贯 \n6.修改班级 \n0.退出");
        printf("请选择要修改的内容:");
        do{
                scanf("%d",&x);
                switch(x){
                        case 1:
                                printf("请输入新的姓名\n");
                                scanf("%s",im[max+1].name);
                                strcpy(im[i].name,im[max+1].name);
                                break;
                        case 2:
                                printf("请输入新的联系方式\n");
                                scanf("%d",&im[max+1].phone);
                                im[i].phone=im[max+1].phone;
                                break;
                        case 3:
                                printf("请输入新的地址\n");
                                scanf("%s",im[max+1].adress);
                                strcpy(im[i].adress,im[max+1].adress);
                                break;
                        case 4:
                                printf("请输入新的身份证号码\n");
                                scanf("%d",&im[i].ID);
                                im[i].ID=im[max+1].ID;
                                break;
                        case 5:
                                printf("请输入新的籍贯\n");
                                scanf("%s",im[i].jiguan);
                                strcpy(im[i].jiguan,im[max+1].jiguan);
                                break;
                        case 6:
                                printf("请输入新的班级\n");
                                scanf("%s",im[i].Class);
                                strcpy(im[i].Class,im[max+1].Class);
                                break;
                        case 0:
                                break;
                        }
                printf("是否继续修改?(y/n)");//可以进行多次修改,防止有多初错误
                scanf("%c",&chose);
        }while(chose=='y');
}
void menu1(){
//        printf("=====================================");
//        printf("|1.输入学生信息|*****|2.学号查找学生|");
//        printf("=====================================");
//                printf("|3.删除学生信息|*****|4.姓名查找信息|");
//        printf("=====================================");
//        printf("|5.浏览学生信息|*****|0.****退出****|");
//        printf("=====================================");
}
void menu2(){
        printf("=====================================");
        printf("|1.姓名查找学生|*****|2.学号查找学生|");
        printf("=====================================");
    printf("|3.修改个人信息|*****|4.浏览学生信息|");
        printf("=====================================");
        printf("|**************0. 退出**************|");
        printf("=====================================");
}

int main(){
        struct student_information student[max];
        int student_number;
        int shenfen;
        printf("请输入你的身份(1.学生/2.管理员):");
       scanf("%d",&shenfen);
        if(shenfen==2) {
                            int i=1,renshu;
                char student_name[8];
                menu1();
                printf("请做出选择:");
                scanf("%d",&i);
                while(i){
                        switch(i){
                                case 1://录入学生信息
                                        printf("请输入需要录入的学生的人数:");
                                        scanf("%d",&renshu);
                                        Input(student,renshu);
                                        break;
                                case 2://根据学号查找学生
                                        printf("请输入需要查找的学生的学号:");        
                                        scanf("%d",&student_number);
                                        serch_number1(student,student_number);
                                        break;
                                case 3://删除学生信息
                                        printf("请输入将被删除的学生的学号:");
                                        scanf("%d",&student_number);
                                        del(student,student_number);
                                        break;
                                case 4://根据姓名查找学生
                                        printf("请输入需要查找的学生的姓名:");
                                        scanf("%s",student_name);
                                        serch_name1(student,student_name);
                                        break;
                                case 5://打印学生信息
                                        show1(student);
                                        break;
                                case 0://退出
                                        printf("已成功退出");
                                        break;
                                default:
                                        printf("输错啦!!!");
                        }        
                }
        }
        else{
               
                int j=1;
                char student_name[8];
                                menu2();
                printf("请做出选择:");
                scanf("%d",&j);
                while(j){
                        switch(j){
                                case 1://根据姓名查找学生
                                        printf("请输入需要查找的学生的姓名:");
                                        scanf("%s",student_name);
                                        serch_name2(student,student_name);
                                        break;
                                case 2://根据学号查找学生
                                        printf("请输入需要查找的学生的学号:");        
                                        scanf("%d",&student_number);
                                        serch_number2(student,student_number);
                                        break;
                                case 3://学生自己修改自己的学生信息
                                        update(student);
                                        break;               
                                case 4://打印学生信息
                                        show2(student);
                                        break;
                                case 0://退出
                                        printf("已成功退出");
                                        break;
                                default:
                                        printf("输错啦!!!");
                         }
        
                }
        }
        return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-11 08:46:40 | 显示全部楼层
紫霞真人 发表于 2020-6-10 11:00
我用的vc++6.0,你看看我的程序程序能不能运行,我在vc++6.0运行通过了
#include
#include

可以了,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-29 20:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表