yzyykk 2023-07-31 01:12 采纳率: 50%
浏览 30
已结题

c++学生信息管理系统

请问问题出在哪里呢运行不出来,望得到正确代码

  1. #include<iostream>
  2. #include<list>
  3. #include<windows.h>
  4. using namespace std;
  5. //定义结构体
  6. typedef struct
  7. {
  8. string name;
  9. int age;
  10. string sex;
  11. string id;
  12. string phone;
  13. }student;
  14. list<student> stulist;
  15. list<student>::iterator stu;
  16. int Select()
  17. {
  18. int select;
  19. cout << "\n输入选择:****************0.上一级****************1.继续****************"<<endl;
  20. cin>>select;
  21. return select;
  22. }
  23. //录入信息
  24. void inputStudent()
  25. {
  26. cout <<"\n姓名\t\t年龄\t\t性别\t\t学号\t\t电话"<<endl;
  27. Student data;
  28. cin >>data.name>>data.age>>data.sex>>data.id>>data.phone;
  29. stulist.push_back(data);
  30. int select = Select();
  31. loop1:
  32. if (select==0);
  33. else if (select==1)
  34. inputStudent();
  35. else{
  36. cout <<"错误请重新输入:";
  37. cin>>select;
  38. goto loop1;
  39. }
  40. return;
  41. }
  42. //浏览信息
  43. void printfStudent()
  44. {
  45. cout <<"\n姓名\t\t年龄\t\t性别\t\t学号\t\t电话"<<endl;
  46. for (stu = stulist.begin(); stu!=stulist.end(); stu++)
  47. cout<<(*stu).name<<"\t\t"<<(*stu).age<<"\t\t"<<(*stu).sex
  48. <<"\t\t"<<(*stu).id<<"\t"<<(*stu).phone
  49. <<endl;
  50. int select=Select();
  51. loop1:
  52. if (select==0);
  53. else if (select==1)
  54. printfStudent();
  55. else{
  56. cout <<"错误请重新输入:";
  57. cin>>select;
  58. goto loop1;
  59. }
  60. }
  61. //修改信息
  62. void changeStudent()
  63. {
  64. string str;
  65. bool f=true;
  66. cout<<"请输入需要修改信息的学生姓名:\n";
  67. cin>>str;
  68. for (stu = stulist.begin(); stu!=stulist.end(); stu++)
  69. if(str==(*stu).name)
  70. {
  71. cout<<"请输入需要修改后的学生信息:\n";
  72. cout <<"\n姓名\t\t年龄\t\t性别\t\t学号\t\t电话"<<endl;
  73. Student data;
  74. cin>>data.name>>data.age>>data.sex>>data.id>>data.phone;
  75. *stu=data;
  76. cout<<"已修改";
  77. f=!f;
  78. }
  79. if(f)
  80. cout <<"不存在该信息!"<<endl;
  81. int select =Select();
  82. loop1:
  83. if(select==0);
  84. else if (select==1)
  85. changeStudent();
  86. else
  87. {
  88. cout<<"发生错误,请重新输入:";
  89. cin>>select;
  90. goto loop1;
  91. }
  92. return;
  93. }
  94. //删除信息
  95. void delectStudent()
  96. {
  97. string str;
  98. bool f=true;
  99. cout<<"\n请输入需要删除信息的学生姓名:\n";
  100. cin>>str;
  101. for (stu = stulist.begin(); stu!=stulist.end(); stu++)
  102. if(str==(*stu).name)
  103. {
  104. stulist.erase(stu);
  105. cout<<"\n已删除";
  106. f=!f;
  107. break;
  108. }
  109. if(f)
  110. cout <<"\n不存在该信息!"<<endl;
  111. int select =Select();
  112. loop1:
  113. if(select==0);
  114. else if (select==1)
  115. deleteStudent();
  116. else
  117. {
  118. cout<<"选择错误,请重新输入:";
  119. cin>>select;
  120. goto loop1;
  121. }
  122. return;
  123. }
  124. //查找信息
  125. void searchStudent()
  126. {
  127. string str;
  128. bool f=true;
  129. cout<<"\n请输入需要查找信息的学生姓名:\n";
  130. cin>>str;
  131. for (stu = stulist.begin(); stu!=stulist.end(); stu++)
  132. if(str==(*stu).name)
  133. {
  134. cout <<"\n姓名\t\t年龄\t\t性别\t\t学号\t\t电话"<<endl;
  135. cout<<(*stu).name<<"\t\t"<<(*stu).age<<"\t\t"<<(*stu).sex
  136. <<"\t\t"<<(*stu).id<<"\t"<<(*stu).phone
  137. <<endl;
  138. f=!f;
  139. break;
  140. }
  141. if(f)
  142. cout <<"未查到该信息!"<<endl;
  143. int select =Select();
  144. loop1:
  145. if(select==0);
  146. else if (select==1)
  147. searchStudent();
  148. else
  149. {
  150. cout<<"选择错误,请重新输入:";
  151. cin>>select;
  152. goto loop1;
  153. }
  154. return;
  155. }
  156. //设计菜单页面
  157. void menu()
  158. {
  159. cout << "\n 学生信息管理系统\n\n"
  160. <<"*************************************************************************************\n\n"
  161. <<"\t\t\t\t0.退出系统\n\n"
  162. <<"\t\t\t\t1.录入信息\n\n"
  163. <<"\t\t\t\t2.浏览信息\n\n"
  164. <<"\t\t\t\t3.修改信息\n\n"
  165. <<"\t\t\t\t4.删除信息\n\n"
  166. <<"\t\t\t\t5.查找信息\n\n"
  167. <<"***************************************************************************************\n";
  168. }
  169. void keydown()
  170. {
  171. int choice{0};
  172. cin>>choice;
  173. switch (choice)
  174. {
  175. case 0:
  176. exit(0);
  177. break;
  178. case 1:
  179. system("cls");
  180. cout <<"\n****************************【录入信息】**********************************\n";
  181. inputStudent();
  182. break;
  183. case 2:
  184. system("cls");
  185. cout <<"\n****************************【浏览信息】**********************************\n";
  186. printfStudent();
  187. break;
  188. case 3:
  189. system("cls");
  190. cout <<"\n****************************【改变信息】**********************************\n";
  191. changeStudent();
  192. break;
  193. case 4:
  194. system("cls");
  195. cout <<"\n****************************【修改信息】**********************************\n";
  196. deleteStudent();
  197. break;
  198. case 5:
  199. system("cls");
  200. cout <<"\n****************************【查找信息】**********************************\n";
  201. searchStudent();
  202. break;
  203. default:
  204. cout<<"错误,请重新输入\n";
  205. system("pause");
  206. break;
  207. }
  208. }
  209. int main()
  210. {
  211. system("color F0");
  212. while (1)
  213. {
  214. system("cls");
  215. menu();
  216. keydown();
  217. }
  218. system("pause");
  219. return 0;
  220. }

展开全部

  • 写回答

9条回答 默认 最新

  • Minuw 2023-07-31 05:07
    关注

    img

    
    #include<iostream>
    #include<list>
    #include<windows.h>
    #include <string>
    #include <fstream>
    #include <vector>
    #include <algorithm>
    
    using namespace std;
    //定义结构体
    typedef struct Stude
    {
        string name;
        int age;
        string sex;
        string id;
        string phone;
    }student;
    
    list<student> stulist;
    list<student>::iterator stu;
    int Select()
    {
        int select;
        cout << "\n输入选择:****************0.上一级****************1.继续****************" << endl;
        cin >> select;
        return select;
    }
    
    //录入信息
    void inputStudent()
    {
        cout << "\n姓名\t\t年龄\t\t性别\t\t学号\t\t电话" << endl;
        student data;
        cin >> data.name >> data.age >> data.sex >> data.id >> data.phone;
        stulist.push_back(data);
        int select = Select();
    loop1:
        if (select == 0);
        else if (select == 1)
            inputStudent();
        else {
            cout << "错误请重新输入:";
            cin >> select;
            goto loop1;
        }
        return;
    }
    //浏览信息
    void printfStudent()
    {
        cout << "\n姓名\t\t年龄\t\t性别\t\t学号\t\t电话" << endl;
        for (stu = stulist.begin(); stu != stulist.end(); stu++)
            cout << (*stu).name << "\t\t" << (*stu).age << "\t\t" << (*stu).sex
            << "\t\t" << (*stu).id << "\t" << (*stu).phone
            << endl;
        int select = Select();
    loop1:
        if (select == 0);
        else if (select == 1)
            printfStudent();
        else {
            cout << "错误请重新输入:";
            cin >> select;
            goto loop1;
        }
    }
    //修改信息
    void changeStudent()
    {
        string str;
        bool f = true;
        cout << "请输入需要修改信息的学生姓名:\n";
        cin >> str;
        for (stu = stulist.begin(); stu != stulist.end(); stu++)
            if (str == (*stu).name)
            {
                cout << "请输入需要修改后的学生信息:\n";
                cout << "\n姓名\t\t年龄\t\t性别\t\t学号\t\t电话" << endl;
                student data;
                cin >> data.name >> data.age >> data.sex >> data.id >> data.phone;
                *stu = data;
                cout << "已修改";
                f = !f;
    
            }
        if (f)
            cout << "不存在该信息!" << endl;
        int select = Select();
    loop1:
        if (select == 0);
        else if (select == 1)
            changeStudent();
        else
        {
            cout << "发生错误,请重新输入:";
            cin >> select;
            goto loop1;
        }
        return;
    }
    //删除信息
    void delectStudent()
    {
        string str;
        bool f = true;
        cout << "\n请输入需要删除信息的学生姓名:\n";
        cin >> str;
        for (stu = stulist.begin(); stu != stulist.end(); stu++)
            if (str == (*stu).name)
            {
                stulist.erase(stu);
                cout << "\n已删除";
                f = !f;
                break;
            }
    
        if (f)
            cout << "\n不存在该信息!" << endl;
        int select = Select();
    loop1:
        if (select == 0);
        else if (select == 1)
            delectStudent();
        else
        {
            cout << "选择错误,请重新输入:";
            cin >> select;
            goto loop1;
        }
        return;
    }
    
    
    //查找信息
    void searchStudent()
    {
        string str;
        bool f = true;
        cout << "\n请输入需要查找信息的学生姓名:\n";
        cin >> str;
        for (stu = stulist.begin(); stu != stulist.end(); stu++)
            if (str == (*stu).name)
            {
                cout << "\n姓名\t\t年龄\t\t性别\t\t学号\t\t电话" << endl;
                cout << (*stu).name << "\t\t" << (*stu).age << "\t\t" << (*stu).sex
                    << "\t\t" << (*stu).id << "\t" << (*stu).phone
                    << endl;
                f = !f;
                break;
            }
        if (f)
            cout << "未查到该信息!" << endl;
        int select = Select();
    loop1:
        if (select == 0);
        else if (select == 1)
            searchStudent();
        else
        {
            cout << "选择错误,请重新输入:";
            cin >> select;
            goto loop1;
        }
        return;
    }
    
    //设计菜单页面
    void menu()
    {
        cout << "\n                               学生信息管理系统\n\n"
            << "*************************************************************************************\n\n"
            << "\t\t\t\t0.退出系统\n\n"
            << "\t\t\t\t1.录入信息\n\n"
            << "\t\t\t\t2.浏览信息\n\n"
            << "\t\t\t\t3.修改信息\n\n"
            << "\t\t\t\t4.删除信息\n\n"
            << "\t\t\t\t5.查找信息\n\n"
            << "***************************************************************************************\n";
    
    }
    
    void keydown()
    {
        int choice{ 0 };
        cin >> choice;
        switch (choice)
        {
        case 0:
            exit(0);
            break;
        case 1:
            system("cls");
            cout << "\n****************************【录入信息】**********************************\n";
            inputStudent();
            break;
        case 2:
            system("cls");
            cout << "\n****************************【浏览信息】**********************************\n";
            printfStudent();
            break;
        case 3:
            system("cls");
            cout << "\n****************************【改变信息】**********************************\n";
            changeStudent();
            break;
        case 4:
            system("cls");
            cout << "\n****************************【修改信息】**********************************\n";
            delectStudent();
            break;
        case 5:
            system("cls");
            cout << "\n****************************【查找信息】**********************************\n";
            searchStudent();
            break;
        default:
            cout << "错误,请重新输入\n";
            system("pause");
            break;
    
        }
    }
    
    int main()
    {
        system("color F0");
        while (1)
        {
            system("cls");
            menu();
            keydown();
        }
        system("pause");
        return 0;
    }
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(8条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 8月7日
  • 已采纳回答 7月31日
  • 创建了问题 7月31日

悬赏问题

  • ¥20 自定义指令集单周期CPU的设计
  • ¥15 各位专家求此答案解析
  • ¥15 llama-factory训练日志epoch为什么是浮点数?
  • ¥500 我想做一个股票策略的回测AI工具(网页版)python语言、Pine Script
  • ¥15 生信空转NICHES分析中runNICHES函数报错
  • ¥30 地学数据三维可视化基于克里金插值的三维可视化
  • ¥15 stc8g1k08a-sop8控制led代码问题。
  • ¥50 让画布在弹出的新的浏览器页面上运行绘画
  • ¥15 mbed库rsa算法段错误
  • ¥15 SG-cyclic模式Axi-Dma,如何实时更新缓存区内数据
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部