精华内容
下载资源
问答
  • C++课程设计

    2020-01-05 22:08:36
    1.C++课程设计 2.个人消费系统 3.俄罗斯方块 4.信息管理系统 5.剧场管理系统 6.剧院票务管理系统 7.同学录查询系统 8.地铁换乘指南 9.学生个人消费管理系统 10.学生成绩管理系统 11.寻宝游戏 12.小型公司工资管理...
    1.C++课程设计
    2.个人消费系统
    3.俄罗斯方块
    4.信息管理系统
    5.剧场管理系统
    6.剧院票务管理系统
    7.同学录查询系统
    8.地铁换乘指南
    9.学生个人消费管理系统
    10.学生成绩管理系统
    11.寻宝游戏
    12.小型公司工资管理系统设计
    13.成绩管理
    14.成绩管理系统
    15.手机通讯录管理系统
    16.机房收费系统
    17.校园失物招领管理系统
    18.火车票管理
    19.电话留言箱
    20.电话簿
    21.纸牌游戏
    22.自动售货机图形模拟系统
    23.贪吃蛇大作战
    24.酒店管理系统
    还有众多的设计源码+报告
    需要的加qq+3098024513
    备注:C++设计

    C++课程设计

    展开全文
  • C++课程设计报告及源代码

    热门讨论 2010-06-24 22:51:24
    C++课程设计报告+职工信息表.doc C++课程设计报告--小型特殊计算器.doc C++课程设计报告模拟银行管理系统.doc 哈尔滨工业大学课程设计报告.doc 图书管理系统C++课程设计源代码.doc 航空售票系统+C++课程设计源代码....
  • 《C/C++课程设计编程实战-P1》课程是由WangTeacher精心制作一部视频教学实战课程,Part1为第一部分课程,初步计划完成10个课程设计题目的视频讲解,购买课程后,可以获取其中一个题目的源代码。课程结合了本人15+年...
  • C++课程设计--课程表

    千次阅读 2019-01-09 16:34:03
    C++课程设计——课程表与信息管理系统 关于C++的课程设计,这里分享一个我的课题 直接上代码 #ifndef STUDY_H_INCLUDED #define STUDY_H_INCLUDED #include #include #include #include #include <...

    C++课程设计——课程表与信息管理系统

    关于C++的课程设计,这里分享一个我的课题

    直接上代码

    #ifndef STUDY_H_INCLUDED
    #define STUDY_H_INCLUDED
    #include
    #include
    #include
    #include
    #include <windows.h>
    using namespace std;

    struct Nodel //枚举坐标操纵
    {
    int x;
    int y;
    };
    void gotoxy(Nodel p); //获取枚举坐标
    void qingping(); //清屏函数
    void shijian(); //时间函数
    bool back();
    //{
    // COORD q;
    // q.X=p.x;
    // q.Y=p.y;
    // HANDLE hOut;
    // hOut= GetStdHandle(STD_OUTPUT_HANDLE);
    // SetConsoleCursorPosition(hOut,q);
    //}
    extern Nodel pt; //从别处引用该结构体

    class Course //课程类
    {
    private:
    int WhatNum;
    public:
    Course(){WhatNum=0;}; //析构函数
    struct Node //定义课程的结构体
    {
    int Coursenum; //课程编号
    char Coursename[20]; //课程名称
    int period; //课程周期
    char term[50]; //学期
    int myself; //
    int mm;
    char teacher[20]; //授课教师
    int ClassNum; //上课教室
    friend bool operator<(Node a,Node b)
    {
    return a.mm>b.mm; //返回mm值大的课程结构体
    }
    };
    vectoredge[100]; //创建int型向量edge,长度为100,边缘范围;
    Node course[100]; //创建Node结构体course,100个;
    int indegree[100]; //声明长度为100的数组
    void ChangeWhatNum(int n){WhatNum=n;return ;}; //修改WhatNum
    int GetWhatNum(){return WhatNum;};
    };

    class Assgement:public Course //日程安排类
    {
    public :
    int Is_class[6][6]; //声明一个二维数组
    Node kuopu[100]; //声明一个kuopu一维数组 (键盘可操作范围)
    int xueqi[10];
    int XingQi[10]; //星期
    char things[50];
    Assgement(){ChangeWhatNum(0);};
    int document();//创建文件,访问内容
    void init();
    void kuopupaixv();//扩谱排序
    void show();//展示课表
    void chakan();//查看课程
    void addcourse();//添加课程
    void Delcourse();//修改课程
    void specialclass();//特殊课程提醒
    void Classbecome(); //课程开始函数
    //要添加到提醒中去
    void Alert();
    void jishi();
    void chaxun();
    };

    #endif // STUDY_H_INCLUDED //结束编译

    #ifndef STUDENT_H_INCLUDED //开始定义,便于管理
    #define STUDENT_H_INCLUDED
    #include
    #include
    #include “study1.h”
    using namespace std;

    class student:public Assgement
    {
    public:
    struct People //编辑学生(老师)的结构体
    {
    char Name[20];
    char Xuehao[20];
    char PassWord[20];
    char jiaoyan[20];
    };
    int flag; //标记是否登录
    student(){flag=0;}; //构造函数
    People stu; //实例化人的结构体(学生)
    void wenjian(); //建立文件流
    bool inlogo(); //用户登陆
    void overinlogo(); //登录
    void zhuce(); //用户注册
    void Beimformaton(); //个人信息
    void liebiao(); //列表
    void kebiao(); //每周课表
    void kebiao_shengcheng(); //课表生成
    void zhuyemian(); //主页面
    void caozuo(int x,int y); //操作移动
    void xuanze(int x,int y);
    void tixing();

    };
    #endif // STUDENT_H_INCLUDED //结束本类编辑

    #include
    #include
    #include
    #include
    #include
    #include <conio.h>
    #include
    #include <windows.h>
    #include “study1.h”
    #include “student1.h”
    using namespace std;

    //光标控制//
    //struct Nodel
    //{
    // int x,y;
    //};
    //void gotoxy(Nodel p)
    //{
    // COORD q;
    // q.X=p.x;
    // q.Y=p.y;
    // HANDLE hOut;
    // hOut= GetStdHandle(STD_OUTPUT_HANDLE); //掌控屏幕操作控制
    // SetConsoleCursorPosition(hOut,q);
    //}
    Nodel pt; //使用枚举结构体(全局)
    /

    void student::wenjian()
    {
    freopen(“student_masseage.in”,“w”,stdout); //文件打开student—masseage
    FILE *pf; //声明文件型指针
    if((pf=fopen(“informatiom.txt”,“r+”))==NULL) //判断打开文件内容
    {
    cout<<“系统错误!”<<endl;
    }
    else
    {

        char ch[300];								//声明char形式数组,长度100 
    

    // fgets(ch,260,pf);
    // printf("%s\n",ch);
    while(!feof(pf)) //文件尾部检测
    {
    fgets(ch,260,pf); //文件顺序读取
    cout<<ch<<"\n"<<endl; //显示内容
    }
    }
    freopen(“CON”, “w”, stdout);
    fclose(pf);
    return ;
    }

    bool student::inlogo()
    {
    wenjian();
    char Xuehao[20];
    char PassWord[20];
    pt.x=60,pt.y=7; //坐标位置
    gotoxy(pt);
    cout<<“请输入学号:”;
    cin>>Xuehao;
    getchar(); //获取字符串
    pt.x=60,pt.y=8;
    gotoxy(pt);
    cout<<“请输入密码:”;
    cin>>PassWord;
    getchar();
    freopen(“student_masseage.in”,“r”,stdin); //读文件
    while(scanf("%s %s %s",stu.Name,stu.Xuehao,stu.PassWord)!=EOF)
    {
    if(strcmp(stu.Xuehao,Xuehao)==0) //比对函数
    {
    if(strcmp(stu.PassWord,PassWord)==0)
    {
    pt.x=60,pt.y=9;
    gotoxy(pt);
    cout<<“登陆成功\n”;
    qingping();
    }
    else
    {
    pt.x=60,pt.y=9;
    gotoxy(pt);
    cout<<“密码错误\n”;
    return false;
    }

        }
    }
    pt.x=60,pt.y=9;
    gotoxy(pt);
    printf("没有此账号,请重新注册!\n");
    fclose(stdin);
    freopen("CON", "r", stdin);
    return false;
    

    }

    void student::overinlogo()
    {
    if(inlogo())
    { //生成课表,标记为1flag=1.
    init();
    kuopupaixv();
    flag=1;
    }

    }

    void student::zhuce()
    {
    FILE *pf; //声明文件指针
    if((pf=fopen(“informatiom.txt”,“at+”))==NULL) //判断打开文件内容
    {
    pt.x=60,pt.y=7;
    gotoxy(pt);
    cout<<“系统错误\n”;
    return ;
    }
    pt.x=60,pt.y=7;
    gotoxy(pt);
    cout<<“请输入姓名:”;
    cin>>stu.Name;
    pt.x=60,pt.y=8;
    gotoxy(pt);
    cout<<“请输入学号:”;
    cin>>stu.Xuehao;
    loop: pt.x=60,pt.y=9;
    gotoxy(pt);
    cout<<“请设计密码:”;
    cin>>stu.PassWord;
    pt.x = 60, pt.y = 10;
    gotoxy(pt);
    cout << “再次输入:”;
    cin >> stu.jiaoyan;
    fprintf(pf,"%s %s %s %s\n",stu.Name,stu.Xuehao,stu.PassWord,stu.jiaoyan);
    if (strcmp(stu.PassWord,stu.jiaoyan)==0)
    {
    pt.x = 60, pt.y = 11;
    gotoxy(pt);
    cout << “注册成功,跳转自动登陆…\n”;
    Sleep(3000);
    qingping();
    pt.x = 60, pt.y = 12;
    gotoxy(pt);
    cout << “登陆成功!\n”;
    fclose(pf);
    wenjian();
    }
    else
    {
    qingping();
    pt.x = 60, pt.y = 11;
    gotoxy(pt);
    cout << “密码不正确,请重新再来\n”;
    liebiao();
    pt.x = 60, pt.y = 7;
    gotoxy(pt);
    cout << “请输入姓名:”<< stu.Name;
    pt.x = 60, pt.y = 8;
    gotoxy(pt);
    cout << “请输入学号:”<<stu.Xuehao;
    goto loop;
    }
    return ;
    }

    void student::Beimformaton()
    {
    pt.x=68,pt.y=7;
    gotoxy(pt);
    printf(“姓名:%s\n”,stu.Name);
    pt.x=68,pt.y=8;
    gotoxy(pt);
    printf(“学号:%s\n”,stu.Xuehao);
    // time_t t = time(0); //显示实际时间
    // char tmp[64];
    // strftime( tmp, sizeof(tmp), “%Y/%m\n”,localtime(&t) );
    // printf("%s %s\n",tmp,ch);
    // int year=(tmp[0]-ch[0])*1000+(tmp[1]-ch[1])*100+(tmp[2]-ch[2])*10+(tmp[3]-ch[3]);
    // int mom=(tmp[5]-ch[5])10+(tmp[6]-ch[6]);
    // int y=year
    12+mom;
    // int n_xueqi=y/5;
    // printf("%d %d %d\n",year,mom,n_xueqi);
    // puts(tmp);
    }

    void student::tixing()
    {
    int i;
    pt.x=60,pt.y=3;
    gotoxy(pt);
    cout<<“您想要干什么呢: \n”;
    pt.x=60,pt.y=4;
    gotoxy(pt);
    cout<<" 1.定时提醒 \n";
    pt.x=60,pt.y=5;
    gotoxy(pt);
    cout << " 2.记事 \n";
    pt.x=60,pt.y=6;
    gotoxy(pt);
    cout << " 3.查询 \n";
    pt.x = 60, pt.y = 7;
    gotoxy(pt);
    cout << " 4.特殊课程提醒 \n";
    pt.x=60,pt.y=8;
    gotoxy(pt);
    cout << " 5.返回 \n";
    pt.x=60,pt.y=10;
    gotoxy(pt);
    cin>>i;
    if(i1)
    {
    qingping();
    liebiao();
    Alert();
    }
    if(i
    2)
    {
    qingping();
    liebiao();
    jishi();
    }
    if(i==3)
    {
    qingping();
    liebiao();
    chaxun();
    }
    if (i == 4)
    {
    qingping();
    liebiao();
    specialclass();
    }
    if (i == 5)
    {
    qingping();
    liebiao();
    }

    }

    void student::liebiao()
    {
    pt.x=2,pt.y=2;
    gotoxy(pt);
    cout<<“┌****************┐\n”;
    pt.x=2,pt.y=3;
    gotoxy(pt);
    cout<<“│ 登录 │\n”;

    pt.x=2,pt.y=5;
    gotoxy(pt);
    cout<<"│     注册       │\n";
    
    pt.x=2,pt.y=7;
    gotoxy(pt);
    cout<<"│ 四年课程安排   │\n";
    
    pt.x=2,pt.y=9;
    gotoxy(pt);
    cout<<"│ 查看学期课程   │\n";
    
    pt.x=2,pt.y=11;
    gotoxy(pt);
    cout<<"│   增加课程     │\n";
    
    pt.x=2,pt.y=13;
    gotoxy(pt);
    cout<<"│   删除课程     │\n";
    
    pt.x=2,pt.y=15;
    gotoxy(pt);
    cout<<"│   学期课表     │\n";
    
    pt.x=2,pt.y=17;
    gotoxy(pt);
    cout<<"│   学生信息     │\n";
    
    pt.x=2,pt.y=19;
    gotoxy(pt);
    cout<<"│   提醒与其他   │\n";
    

    }

    void student::kebiao()
    {
    // cout<<"\n\n\n\n";
    pt.x=22,pt.y=3;
    gotoxy(pt);
    printf(" 本周课表\n");

    pt.x=22,pt.y=5;
    gotoxy(pt);
    printf("               |   │      周一       │       周二       │       周三        │       周四       │      周五       \n");
    
    pt.x=22,pt.y=7;
    gotoxy(pt);
    printf("               |1 2│                 │                  │                   │                  │                 \n");
     
    pt.x=22,pt.y=9;
    gotoxy(pt);
    printf("               |3 4│                 │                  │                   │                  │                 \n");
    
    pt.x=22,pt.y=11;
    gotoxy(pt);
    printf("               |5 6│                 │                  │                   │                  │                 \n");
    
    pt.x=22,pt.y=13;
    gotoxy(pt);
    printf("               |7 8│                 │                  │                   │                  │                 \n");
    
    pt.x=22,pt.y=15;
    gotoxy(pt);
    printf("               |晚修│                │                  │                   │                  │                 \n");
    
    pt.x=22,pt.y=17;
    gotoxy(pt);
    printf("               |晚修│                │                  │                   │                  │                 \n");
    
    return ;
    

    }

    void student::kebiao_shengcheng()
    {
    char ch[50];
    time_t t = time(0);
    char tmp[64];
    strftime( tmp, sizeof(tmp), “%Y/%m\n”,localtime(&t) ); //截取时间,并修正时间格式
    // printf("%s %s\n",tmp,ch);
    int year=(tmp[0]-ch[0])*1000+(tmp[1]-ch[1])*100+(tmp[2]-ch[2])*10+(tmp[3]-ch[3]);
    int mom=(tmp[5]-ch[5])10+(tmp[6]-ch[6]);
    int y=year
    12+mom;
    int n_xueqi=y/5;
    memset(Is_class,0,sizeof(Is_class)); //修改编码,便于清空
    int num[20];
    int ans=0,co=0;
    int m=GetWhatNum(); //课程周期
    for(int i=1; i<=m; ++i)
    if(course[i].period==n_xueqi)
    {
    num[ans++]=course[i].Coursenum;
    co+=course[i].mm;
    }
    int zhoushu=co/15; //周数
    int k;
    for(int i=0;i<zhoushu;++i)
    {
    int x,y;
    k=i%ans;
    x=num[k]%4+1;
    y=(num[k]*ans)%5+1;
    if(Is_class[x][y]==0)
    {
    Is_class[x][y]=num[k];
    }
    else
    {
    while(1)
    {
    int xx,yy;
    x++;
    xx=x%4+1;
    yy=y%5+1;
    if(Is_class[xx][yy]==0)
    {
    Is_class[xx][yy]=num[k];
    break;
    }
    }
    }
    }
    for(int i=1;i<=4;++i)
    {
    for(int j=1;j<=5;++j)
    {
    if(Is_class[i][j]>0)
    {
    pt.x=50+(j-1)*18;
    pt.y=7+(i-1)*2;
    gotoxy(pt);
    printf("%s\n",course[Is_class[i][j]].Coursename); //显示课程二维数组
    }
    // printf("\n");
    }
    }

    }

    void student::zhuyemian() //主页面设计
    {
    liebiao();
    if(flag0)
    kebiao(); //未登录只显示课表框架
    else if(flag
    1)
    { //登陆后课表导入
    kebiao();
    kebiao_shengcheng();

    }
    pt.y=27,pt.x=35;
    gotoxy(pt);
    shijian();
    

    }

    void student::caozuo(int x,int y)
    {
    pt.x=x,pt.y=y;
    gotoxy(pt);
    }

    void student::xuanze(int x,int y)
    {
    pt.x=x,pt.y=y;
    gotoxy(pt);
    if(2<pt.x&&pt.x<18&&y3)
    {
    qingping();
    liebiao();
    overinlogo();
    pt.x=104;
    pt.y=20;
    gotoxy(pt);
    char c;
    cout<<“按任意键继续…”;
    c=getch();
    // zhuyemian();
    }
    else if(2<pt.x&&pt.x<18&&y
    5)
    {

            qingping();
            liebiao();
            zhuce();
            pt.x=104;
            pt.y=20;
            gotoxy(pt);
            char c;
            cout<<"按任意键继续....";
            c=getch();
        }
    else if(2<pt.x&&pt.x<18&&y==7)
        {
    
            qingping();
            liebiao();
            show();
            pt.x=32;
            pt.y=20;
            gotoxy(pt);
            char c;
            cout<<"按任意键继续....";
            c=getch();
        }
    else if(2<pt.x&&pt.x<18&&y==9)
        {
            qingping();
            liebiao();
            chakan();
            pt.x=104;
            pt.y=20;
            gotoxy(pt);
            char c;
            cout<<"按任意键继续....";
            c=getch();
        }
    else if(2<pt.x&&pt.x<18&&y==11)
        {
            qingping();
            liebiao();
            addcourse();
            pt.x=104;
            pt.y=20;
            gotoxy(pt);
            char c;
            cout<<"按任意键继续....";
            c=getch();
        }
    else if(2<pt.x&&pt.x<18&&y==13)
        {
            qingping();
           
            liebiao();
            Delcourse();
            pt.x=104;
            pt.y=20;
            gotoxy(pt);
            char c;
            cout<<"按任意键继续....";
            c=getch();
        }
    else if(2<pt.x&&pt.x<18&&y==15)
        {
            qingping();
            
            liebiao();
            kebiao();
            Classbecome();
            pt.x=104;
            pt.y=20;
            gotoxy(pt);
            char c;
            cout<<"按任意键继续....";
            c=getch();
          //  system("pause");
          //  qingping2();
        }
    else if(2<pt.x&&pt.x<18&&y==17)
        {
            qingping();
            
            liebiao();
            Beimformaton();
            pt.x=104;
            pt.y=20;
            gotoxy(pt);
            char c;
            cout<<"按任意键继续....";
            c=getch();
        }
    else if(2<pt.x&&pt.x<18&&y==19)
    {
    	qingping();
    	liebiao();
    	tixing();
    	pt.x=104;
        pt.y=20;
        gotoxy(pt);
    	pt.x = 104;
    	pt.y = 20;
    	gotoxy(pt);
    
    }
    

    }

    #include
    #include
    #include <process.h>
    #include
    #include
    #include
    #include <windows.h>
    #include <conio.h>
    #include “study1.h”
    #include “student1.h”

    using namespace std;
    student ke;

    int main()
    {
    ke.zhuyemian();
    int x=0,y=0;
    ke.caozuo(x,y);
    char ch;
    while(1)
    {
    // fflush(stdin);
    ch=getch();
    if(ch==’\r’)
    {
    ke.xuanze(x,y);
    qingping();
    ke.zhuyemian();
    }
    switch(ch)
    {
    case ‘w’:
    y-=1;
    break;
    case ‘s’:
    y+=1;
    break;
    case ‘a’:
    x-=2;
    break;
    case ‘d’:
    x+=2;
    break;
    default :
    break;
    }
    ke.caozuo(x,y);
    }
    return 0;
    }

    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include <windows.h>
    #include <mmsystem.h>
    #include
    #pragma comment(lib,“winmm.lib”)
    #include “study1.h”
    #include <conio.h>
    #include
    #include <stdlib.h>
    using namespace std;

    void gotoxy(Nodel p) //坐标函数
    {
    COORD q;
    q.X=p.x;
    q.Y=p.y;
    HANDLE hOut;
    hOut= GetStdHandle(STD_OUTPUT_HANDLE); //获取屏幕坐标控制
    SetConsoleCursorPosition(hOut,q);
    }
    //nodel pt

    void qingping() //清屏函数
    {

    pt.x=0,pt.y=0;
    gotoxy(pt);
    for(int i=0;i<50;++i)
    {
    

    // for(int j=0;j<150;++j)
    // {
    // pt.x=i,pt.y=j;
    // gotoxy(pt);
    printf(" “);
    // }
    cout<<”\n";
    }
    return ;
    }

    void shijian() //日期函数
    {
    time_t k = time(0);
    char tp[64];
    strftime( tp, sizeof(tp), “\t\t\t\t\t\t\t\t\t\t\t\t时间:%Y/%m/%d”,localtime(&k) );//显示当前时间
    puts(tp);
    }

    bool back()
    {
    if (getch() == 27)
    {
    qingping();
    return true;
    }
    else
    return false;
    }

    int Assgement::document()
    {
    int b=0;
    // int num;
    // char name[100];
    // int prion;
    // char cose[100];
    // int keshi;
    FILE *pf;
    freopen(“kechengshuju.txt”,“w”,stdout);
    if((pf=fopen(“shujushuru.txt”,“r”))==NULL)
    {
    cout<<“系统错误\n”;
    }
    else
    {
    char ch[200];

        while(!feof(pf))
        {
            fgets(ch,190,pf);
            printf("%s\n",ch);
            b++;
        }
    }
    fclose(pf);
    freopen("CON", "w", stdout);
    return b-1;
    

    }

    void Assgement::init()
    {
    int k=document();
    ChangeWhatNum(k);
    memset(indegree,0,sizeof(indegree));
    freopen(“kechengshuju.txt”,“r”,stdin);
    int i=1;
    char ch[50];
    while(scanf("%d %s %d %s %d",&course[i].Coursenum,course[i].Coursename,&course[i].period,course[i].term,&course[i].mm)!=EOF)
    {
    course[i].myself=i;
    course[i].mm/=2;
    // printf("%d %s %d %s\n",course[i].Coursenum,course[i].Coursename,course[i].period,course[i].term);
    strcpy(ch,course[i].term);
    for(int j=0;ch[j];++j)
    {
    int m;
    if(ch[j]’,’)
    continue;
    ++j;
    m=(ch[j-1]-‘0’)*10+ch[j]-‘0’;
    if(m
    0)
    continue;
    edge[m].push_back(i);
    indegree[i]++;
    }
    i++;
    }
    fclose(stdin);
    freopen(“CON”, “r”, stdin);
    // for(int i=1;i<=38;++i)
    // printf("%d\n",indegree[i]);
    return ;
    }

    void Assgement::kuopupaixv() //给课表排序
    {
    queueQ; //队列
    int n=GetWhatNum();
    xueqi[1]=4,xueqi[2]=6,xueqi[3]=2,xueqi[4]=5,xueqi[5]=4,xueqi[6]=4,xueqi[7]=4,xueqi[8]=0;
    // XQ[1]=6,XQ[2]=7,XQ[3]=3,XQ[4]=6,XQ[5]=5,XQ[6]=5,XQ[7]=5,XQ[8]=1;
    for(int i=1;i<=n;++i)
    {
    if(course[i].period==0&&indegree[i]==0)
    {
    Q.push(i);
    }
    }
    int k=1;
    int l=1;
    while(!Q.empty())
    {
    int p=Q.front();
    Q.pop();
    kuopu[l++]=course[p];
    xueqi[k]–;
    course[p].period=k;
    if(xueqi[k]==0)
    k++;
    int m=edge[p].size();
    for(int i=0;i<m;++i)
    {
    int to=edge[p][i];
    indegree[to]–;
    if(indegree[to]==0)
    Q.push(to);
    }
    }
    }

    void Assgement::show()
    {
    if (back())
    return;
    else
    {
    pt.x = 34, pt.y = 2;
    gotoxy(pt);
    cout << setw(30) << “课程” << setw(30) << “学期” << setw(30) << “课时”;
    int n = GetWhatNum();
    pt.x = 34, pt.y = 3;
    gotoxy(pt);
    // sort(kuopu+1,kuopu+n+1,comp);
    for (int i = 1; i <= 3; ++i)
    {
    for (int j = 1; j <= n; ++j)
    {
    if (course[j].period == i)
    {

    				int k = strlen(course[j].Coursename);
    				if (k < 8)
    					cout << left << setw(30) << course[j].Coursename << left << setw(30) << course[j].period << left << setw(30) << course[j].mm << "\n";
    				else if (k >= 16)
    					cout << left << setw(30) << course[j].Coursename << left << setw(30) << course[j].period << left << setw(30) << course[j].mm << "\n";
    				else
    					cout << setw(30) << left << course[j].Coursename << setw(30) << left << course[j].period << setw(30) << left << course[j].mm << "\n";
    				pt.y++;
    				gotoxy(pt);
    			}
    
    		}
    	}
    	pt.x = 80, pt.y = 3;
    	gotoxy(pt);
    	for (int i = 4; i <= 8; ++i)
    	{
    		for (int j = 1; j <= n; ++j)
    		{
    			if (course[j].period == i)
    			{
    
    				int k = strlen(course[j].Coursename);
    				if (k < 8)
    					cout << "\t" << course[j].Coursename << "\t\t" << course[j].period << "\t" << course[j].mm << "\n";
    				else if (k >= 16)
    					cout << "\t" << course[j].Coursename << "\t\t" << course[j].period << "\t" << course[j].mm << "\n";
    				else
    					cout << "\t" << course[j].Coursename << "\t\t" << course[j].period << "\t" << course[j].mm << "\n";
    				pt.y++;
    				gotoxy(pt);
    			}
    
    		}
    	}
    	return;
    }
    

    }

    void Assgement::chakan()
    {
    if (back())
    return;
    else
    {
    pt.x = 34, pt.y = 3;
    gotoxy(pt);
    int n;
    cout << “请输入要查看的学期:”;
    cin >> n;
    int m = GetWhatNum();
    pt.x = 34, pt.y = 4;
    gotoxy(pt);
    cout << “\t课程\t\t\t学期\t课时\t任课教师\t上课教室”;
    pt.x = 34, pt.y = 5;
    gotoxy(pt);
    for (int i = 1; i <= m; ++i)
    {

    		for (int j = 1; j <= n; ++j)
    		{
    			if (course[i].period == n)
    			{
    
    				cout << "\t" << course[j].Coursename << "\t\t" << course[j].period << "\t" << course[j].mm << "\t" << course[j].teacher << "\t\t" << course[j].ClassNum << "\n";
    				pt.y++;
    				gotoxy(pt);
    			}
    		}
    
    	}
    	return;
    }
    

    }

    void Assgement::addcourse()
    {
    if (back())
    return;
    else
    {
    FILE *pf;
    if ((pf = fopen(“kechengshuju.txt”, “at+”)) == NULL)
    {
    pt.x = 60, pt.y = 7;
    gotoxy(pt);
    cout << “系统错误\n”;
    return;
    }
    int n = GetWhatNum() + 1;
    ChangeWhatNum(n);
    course[n].Coursenum = n;
    pt.x = 34, pt.y = 3;
    gotoxy(pt);
    cout << “请输入要增加的课程名:”;
    cin >> course[n].Coursename;
    pt.x = 34, pt.y = 4;
    gotoxy(pt);
    cout << “请输入安排的学期:”;
    cin >> course[n].period;
    course[n].myself = n;
    strcpy(course[n].term, “00”);
    pt.x = 34, pt.y = 5;
    gotoxy(pt);
    cout << “请输入课时数:”;
    cin >> course[n].mm;
    // course[n].mm/=2;
    pt.x = 34, pt.y = 6;
    gotoxy(pt);
    cout << “请输入任课老师:”;
    cin >> course[n].teacher;
    pt.x = 34, pt.y = 7;
    gotoxy(pt);
    cout << “请输入教室号:”;
    cin >> course[n].ClassNum;
    fprintf(pf, “%s %d %d %s %d\n”, course[n].Coursename, course[n].period, course[n].mm, course[n].teacher, course[n].ClassNum);
    pt.x = 34, pt.y = 8;
    gotoxy(pt);
    cout << “添加成功\n”;
    return;
    }
    }

    void Assgement::Delcourse()
    {
    if (back())
    return;
    else
    {
    int flag = 0;
    pt.x = 34, pt.y = 3;
    gotoxy(pt);
    char sh[50];
    cout << “请输入要删除的课程名:”;
    cin >> sh;
    int m = GetWhatNum();
    int k;
    for (k = 1; k <= m; ++k)
    {
    if (strcmp(sh, course[k].Coursename) == 0)
    {
    flag = 1;
    break;
    }
    }
    if (!flag)
    {
    pt.x = 34, pt.y = 4;
    gotoxy(pt);
    cout << “删除失败,没有这门课。\n”;
    return;
    }
    for (int i = k; i < m; ++i)
    {
    course[i] = course[i + 1];
    }
    ChangeWhatNum(m - 1);
    pt.x = 34, pt.y = 4;
    gotoxy(pt);
    cout << “删除成功\n”;
    return;
    }
    }

    void Assgement::Classbecome()
    {
    if (back())
    return;
    else
    {
    int n;
    pt.x = 24, pt.y = 3;
    gotoxy(pt);
    cout << “输入第几学期:”;
    cin >> n;
    int ss[6][6];
    memset(ss, 0, sizeof(ss));
    int num[20];
    int ans = 0, co = 0;
    int m = GetWhatNum();
    for (int i = 1; i <= m; ++i)
    if (course[i].period == n)
    {
    num[ans++] = course[i].Coursenum;
    co += course[i].mm;
    }
    int zhoushu = co / 15;
    int k;
    for (int i = 0; i < zhoushu; ++i)
    {
    int x, y;
    k = i % ans;
    x = num[k] % 4 + 1;
    y = (num[k] * ans) % 5 + 1;
    if (ss[x][y] == 0)
    {
    ss[x][y] = num[k];
    }
    else
    {
    while (1)
    {
    int xx, yy;
    x++;
    xx = x % 4 + 1;
    yy = y % 5 + 1;
    if (ss[xx][yy] == 0)
    {
    ss[xx][yy] = num[k];
    break;
    }
    }
    }
    }
    for (int i = 1; i <= 4; ++i)
    {
    for (int j = 1; j <= 5; ++j)
    {
    if (ss[i][j] > 0)
    {
    pt.x = 50 + (j - 1) * 18;
    pt.y = 7 + (i - 1) * 2;
    gotoxy(pt);
    printf("%s\n", course[ss[i][j]].Coursename);
    }
    // printf("\n");
    }
    }

    	return;
    }
    

    }
    void Assgement::Alert()
    {
    int month, day;
    int m, d;
    clock_t temp;
    m =1;
    d = 1;
    pt.x = 60, pt.y = 13;
    gotoxy(pt);
    cout << “今天是1月1号” << endl;
    pt.x = 60, pt.y = 15;
    gotoxy(pt);
    cout << “请输入要提醒的时间:”;
    cin >> month >> day;
    if (d <= day)
    {
    d = day - d;
    m = month - m;
    }
    else
    {
    m = m - month - 1;
    d = day + 30 - d;
    }
    //时间转换
    if (m == 0)
    {
    d = d * 24 * 3600 / 10;
    }
    else
    {
    d = (m * 30 + d) * 3600 / 10;
    }
    while (d > clock())
    {
    temp = clock();
    pt.x = 60;
    pt.y = 17;
    gotoxy(pt);
    cout << d - temp;
    }
    if (temp = clock())
    {
    PlaySound(TEXT(“E:\1.wav”), NULL, SND_FILENAME | SND_ASYNC);
    qingping();
    pt.x = 60;
    pt.y = 20;
    gotoxy(pt);
    cout << “您有一个提醒!!!” << endl;
    pt.x = 70;
    pt.y = 22;
    gotoxy(pt);
    system(“pause”);
    }

    }

    void Assgement::jishi()
    {
    int e;
    char c;
    c=getchar();
    pt.x=60,pt.y=15;
    gotoxy(pt);
    cout << “1.添加” << “2.删除” << “3.编辑提醒信息” << endl;
    pt.x=60,pt.y=16;
    gotoxy(pt);
    cin >> e;
    switch (e)
    {
    case 1:
    qingping();
    pt.x = 60, pt.y = 15;
    gotoxy(pt);
    cout << “请输入信息:”;
    cin >> things;
    pt.x = 60, pt.y = 16;
    gotoxy(pt);
    cout << “创建完成\n”;
    getchar();
    getchar();
    break;
    case 2:
    qingping();
    pt.x = 60, pt.y = 15;
    gotoxy(pt);
    cout << “删除成功!” << endl;
    getchar();
    getchar();
    break;
    case 3:
    pt.x = 60, pt.y = 15;
    gotoxy(pt);
    cout << “请输入信息:”;
    cin >> things;
    c = getchar();
    break;
    }
    }

    void Assgement::chaxun()
    {
    char c;
    pt.x=60,pt.y=15;
    gotoxy(pt);
    cout<<“你的记事如下:\n”;
    pt.x=64,pt.y=18;
    gotoxy(pt);
    cout<<things;
    c=getchar();
    getchar();
    getchar();
    }
    void Assgement::specialclass()
    {
    int i;
    int num=0;
    char TeShu[20] = “大学外语”;
    for (i = 0;i<100; i++)
    {
    if (strcmp(TeShu, course[i].Coursename) == 0)
    {
    num++;
    }

    }
    if (num == 0)
    {
    	pt.x = 60, pt.y = 15;
    	gotoxy(pt);
    	cout << "没有这门课的提醒!!!\n";
    }
    else
    {
    	pt.x = 60, pt.y = 15;
    	gotoxy(pt);
    	cout << "本周大学外语有" << num << "节" << endl;
    }
    getchar();
    getchar();
    }
    

    问题啥的都没有的,嘿嘿,初次创作,脑筋也不太好使。

    展开全文
  • C++课程设计:学生信息管理系统

    万次阅读 多人点赞 2015-04-26 18:55:58
    C++课程设计:学生信息管理系统

    课程设计内容

    1.)学生信息的录入:录入新的学生的信息;

    2.)学生信息的添加:添加新的学生的信息;

    3.) 学生信息的删除:删除不需要的学生的信息。

    4.)学生信息的查找:查找你需要的学生的信息。

    5.)学生信息的修改:修改错误的学生的信息。

    6.)学生信息的显示:显示所有学生的信息。

       7.)学生信息的保存:把学生的信息保存到文件并退出。

    8.)学生信息的读取:从文件中读取所有学生的信息。

    功能描述

    1.添加、删除

    系统将提示用户输入新添加学生的信息;由用户输入要删除的学生的学号,然后调用删除函数,删除该名学生的资料。

    2.查找

    3.首先由用户输入要查找的学生的学号,系统用查找函数查找,然后系统就调用输出函数。

    4.修改

    首先由用户输入要修改的学生的学号,然后系统用修改函数查找,显示该名学生的资料,然后系统提示用户输入需要修改的项目和新的资料。

    代码:

    #include<iostream>

    #include<fstream>

    #include<iomanip>

    #include<cstring> 

    using namespace std;

    int n=0;

     

    class Student 

    {

    public:

     int num; 

     char name[12];

     char study[12]; 

     char classe[12]; 

     int score[3];

     int s; 

     Student *next;  

    }; 

     

    class Studentmanage

    {

    private:

      Student *head,*p1,*p2,*p3;  

    public:

      Studentmanage (){};

      Student *creat();

      Student *add(Student *head);

      Student *delet(Student *head);

      void *search(Student *head);

      Student *modify(Student *head);

      void display(Student *head);

      void write_file(Student *head);

      Student * read_file();

      ~Studentmanage (){};   

    };

     

    Student *Studentmanage::creat()

    {

       p1=p2=new Student;

       head=NULL;

       cout<<"请输入学生的基本信息:以学号为0结束。\n";

       while(1)

        {

           cout<<"学号:";

           cin>>p1->num;

           if(p1->num==0)

           {

               break;

           }

       cout<<"姓名:";

       cin>>p1->name;

       cout<<"院系:";

       cin>>p1->study;

       cout<<"班级:";

       cin>>p1->classe;

       cout<<"C++成绩:";

       cin>>p1->score[0];

           cout<<"高数成绩:";

           cin>> p1->score[1];

           cout<<"英语成绩:";

           cin>>p1->score[2];

           p1->s=p1->score[0]+p1->score[1]+p1->score[2]; 

           n=n+1;

           if(n==1)

             head=p1;

           else

             p2->next=p1; 

             p2=p1;

             p1=new Student;         

        }

           p2->next=NULL;

           return head;

    }

    Student *Studentmanage::add(Student *head)

    {

       long int Num; 

       p1=p2=new Student;

       p3=new Student;

       p1=head;

       int j=0;

       cout<<"请输入你要添加学生的位置:\n";

       cout<<"如果想放在头,请输入0,  否则请输入要添加前一个学生的学号:\n";

       cin>>Num;

       if(Num==0)

       {  

        cout<<"请输入要添加学生的信息!\n学号:";

        cin>>p3->num; 

        cout<<"姓名:";

        cin>>p3->name;

        cout<<"院系:";

        cin>>p3->study;

        cout<<"班级:";

        cin>>p3->classe;

        cout<<"C++成绩:"; 

        cin>>p3->score[0]; 

        cout<<"高数成绩:";

        cin>>p3->score[1];

        cout<<"英语成绩:";

        cin>>p3->score[2];

        p3->s=p3->score[0]+p3->score[1]+p3->score[2];

        p1=head;

        head=p3;

        p3->next=p1;

        n++;

        j=1;

       }

       else

       {

         p1=head;

         p2=p1->next;

         while(p1!=NULL)

         {

          if(p1->num==Num)

          {

           cout<<"请输入要添加学生的信息!\n学号:";

           cin>>p3->num;  

           cout<<"姓名:";

           cin>>p3->name;

           cout<<"院系:";

           cin>>p3->study;

           cout<<"班级:";

           cin>>p3->classe;

           cout<<"C++成绩:"; 

           cin>>p3->score[0]; 

           cout<<"高数成绩:";

           cin>>p3->score[1];

           cout<<"英语成绩:";

           cin>>p3->score[2];

           p3->s=p3->score[0]+p3->score[1]+p3->score[2];     

           p1->next=p3;

           p3->next=p2;

       n++;

       j=1;

       break;

      }

      else

          { 

           p1=p2;

           p2=p1->next;

          }

         }

        }

       if(j==0)

        cout<<"你要添加的位置不存在,添加失败!\n";

    else

        cout<<"添加成功!\n";

        return head;

    }

    Student *Studentmanage::delet(Student *head) 

    {

       long int Num;

       p2=p1=new Student;

       cout<<"请输入要删除学生的学号:\n";

       cin>>Num;

       p2=p1=head;

       int j=0;

       if(head->num==Num&&head!=NULL) 

       {   

          head=head->next;

          delete(p1);

      j=1;

      n--; 

       }

       else

       {  

          p1=head->next;

          while(p1!=NULL)

          {

            if(p1->num==Num)

            {

              p2->next=p1->next;

              free(p1);

              j=1;

          n--; 

              break;               

            } 

            else  

            {

              p2=p1;

              p1=p2->next; 

            }              

          }

       }

       if(j==0)

     cout<<"此学生不存在,删除的失败!\n";

       else

     cout<<"删除成功!\n";

       return head;            

    }

     

    void *Studentmanage::search(Student *head)

    {

      long int Num;

      p1=new Student;

      cout<<"请输入要查找学生的学号:\n";

      cin>>Num;

      p1=head;

      int j=0;

      while(p1!=NULL)

      {

        if(p1->num==Num) 

    {  

           cout<<"学号:"<<p1->num;

           cout<<" 姓名:"<<p1->name;

           cout<<" 院系:"<<p1->study;

           cout<<" 班级:"<<p1->classe;

           cout<<" C++成绩:"<<p1->score[0];

           cout<<" 高数成绩:"<<p1->score[1];

           cout<<" 英语成绩:"<<p1->score[2];

           cout<<" 总成绩:"<<p1->s<<endl;

           j=1;

       break;

    }

    p1=p1->next;

      }

      if(j==0)

      cout<<"没有找到你要查找学生的信息。\n";

      else

      cout<<"这是你要查找学生的信息:\n";           

    }

     

    Student *Studentmanage::modify(Student *head)

    {

       long int Num; 

       long int num1;

       char name1[12];

       char study1[12]; 

       char classe1[12];

       int score1[3]; 

       p1=new Student;

       int j=0;

       cout<<"请输入你要更改学生的学号:\n";

       cin>>Num;

       p1=head;

       if(head->num==Num) 

        {

         cout<<"显示要修改学生的信息:\n";

         cout<<"学号:"<<head->num<<" 姓名:"<<head->name<<" 院系:"<<head->study;

         cout<<" 班级:"<<head->classe<<"C++成绩:"<<head->score[0];

         cout<<" 高数成绩:"<<head->score[1]<<" 英语成绩:"<<head->score[2];

         cout<<"总成绩:"<<head->s<<endl; 

         cout<<"请输入要更改学生的信息:\n";

         cout<<"学号:";

         cin>>num1; 

         cout<<"姓名:";

         cin>>name1;

         cout<<"院系:";

         cin>>study1;

         cout<<"班级:";

         cin>>classe1;

         cout<<"C++成绩:";

         cin>>score1[0];

         cout<<"高数成绩:";

         cin>>score1[1];

         cout<<"英语成绩:";

         cin>>score1[2];                     

         head->num=num1;

         strcpy(head->name,name1);

         strcpy(head->study,study1);

         strcpy(head->classe,classe1);

         head->score[0]=score1[0];

         head->score[1]=score1[1];

         head->score[2]=score1[2];

         head->s=head->score[0]+head->score[1]+head->score[2];

         j=1;

        }

       else

        { 

         p1=head->next; 

     while(p1!=NULL)

     {

          if(p1->num!=Num)

          {

           p1=p1->next;

          }

          else

          {

            cout<<"显示要修改学生的信息:\n";

            cout<<"学号:"<<p1->num<<" 姓名:"<<p1->name<<" 院系:"<<p1->study;

            cout<<" 班级:"<<p1->classe<<"C++成绩:"<<p1->score[0];

            cout<<" 高数成绩:"<<p1->score[1]<<" 英语成绩:"<<p1->score[2]<<endl;

            cout<<"请输入要更改学生的信息:\n";

            cout<<"学号:";

            cin>>num1; 

            cout<<"姓名:";

            cin>>name1;

            cout<<"院系:";

            cin>>study1;

            cout<<"班级:";

            cin>>classe1;

            cout<<"C++成绩:";

            cin>>score1[0];

            cout<<"高数成绩:";

            cin>>score1[1];

            cout<<"英语成绩:";

            cin>>score1[2];                     

            p1->num=num1;

            strcpy(p1->name,name1);

            strcpy(p1->study,study1);

            strcpy(p1->classe,classe1);

            p1->score[0]=score1[0];

            p1->score[1]=score1[1];

            p1->score[2]=score1[2];

            p1->s=p1->score[0]+p1->score[1]+p1->score[2];

        j=1;

        break;

     }

        }

       }

    if(j==0)

    cout<<"没有找到你要更改的学生,更改失败!\n";

    else

    cout<<"更改成功!\n";

        return head;             

    }

     

    void Studentmanage::display(Student *head)

    {

        int i;

        i=n;

      cout<<"这里有"<<n<<"个学生的信息:"<<endl;

      p1=head;

      if(p1==NULL)

      cout<<"这是一个空表!请先输入学生信息。"<<endl;

      else

      {

          while(i>0)

          { 

          cout<<"学号:"<<p1->num<<" 姓名:"<<p1->name<<" 院系:"<<p1->study;

          cout<<" 班级:"<<p1->classe<<" C++成绩:"<<p1->score[0];

          cout<<" 高数成绩:"<<p1->score[1]<<" 英语成绩:"<<p1->score[2];

          cout<<" 总成绩:"<<p1->s<<endl;

          p1=p1->next;

          i--;             

          }

      }           

    }

    Student *Studentmanage::read_file()

    {

        int num;

        int i=0;

        char name[12];

        char study[12];

        char classe[12];

        int score[3];

        int s;

        p1=p2=new Student;

        head=NULL;

        ifstream in;

        in.open("yyy.txt");

        if(!in)

        {

            cout<<"打开文件失败!"<<endl;

        }

        while(in)

        {

            

            in>>num>>name>>study>>classe>>score[0]>>score[1]>>score[2]>>s;

            p1->num=num;

            strcpy(p1->name,name);

            strcpy(p1->study,study);

            strcpy(p1->classe,classe);

            p1->score[0]=score[0];

            p1->score[1]=score[1];

            p1->score[2]=score[2];

            p1->s=s;

            i++;

            if(i==1)

            {

               head=p2=p1;

            }

           else

           {

             p2->next=p1; 

           }

             p2=p1;

             p1=new Student;

             n=i-1;

        }

        return head;

    }

    void Studentmanage::write_file(Student *head)

    {

        

        ofstream out;

        out.open("yyy.txt");

        if(!out)

        {

            cout<<"打开文件失败!"<<endl;

        }

        p1=NULL;

        p1=head;

        while(p1)

        {

            out<<p1->num<<setw(5)<<p1->name<<setw(5)<<p1->study<<setw(5)<<p1->classe<<setw(5)<<p1->score[0]<<setw(5)<<p1->score[1]<<setw(5)<<p1->score[2]<<setw(5)<<p1->s<<endl;

            p1=p1->next;

        }

        out.close();

    }

    char menu()

    {  

        system("cls");

        char ch;

        cout<<"\t\t\t---------请选择:-----------\n";

        cout<<"\t\t\t---------1.录入功能-------\n";

        cout<<"\t\t\t---------2.添加功能:-------\n";

        cout<<"\t\t\t---------3.删除功能:-------\n";

        cout<<"\t\t\t---------4.查找功能:-------\n";

        cout<<"\t\t\t---------5.修改功能:-------\n";

        cout<<"\t\t\t---------6.显示功能:----\n";

        cout<<"\t\t\t---------7.保存并退出:----------\n";

        cout<<"\t\t\t---------8读出文件-----------\n";

        cin>>ch;

        return ch;

    }

     

    int main ()

    {

      Studentmanage s;

      Student *head;

      char c;

        cout<<"欢迎使用学生信息管理系统!\n"; 

        cout<<"**********************************作者:于洋洋\n";

        cout<<"----------------------- 祝你使用愉快!\n";

    system("pause");

      while(1)

    switch (menu())

    {

       case'1':head=s.creat();system("pause");break;

       case'2':head=s.add(head);system("pause");break;

       case'3':head=s.delet(head);system("pause");break;

       case'4':s.search(head);system("pause");break;

       case'5':head=s.modify(head);system("pause");break;

       case'6':s.display(head);system("pause");break;

     case'7':s.write_file(head);cout<<"谢谢使用!再见!\n";system("pause");return 0;

       case'8':head=s.read_file();system("pause");break;

       default:cout<<"选择有错,请重新选择\n";

       }

      return 0;       

    }



    展开全文
  • C++课程设计—猜拳游戏

    千次阅读 2019-12-21 21:23:55
    C++课程设计—猜拳游戏 文章目录C++课程设计—猜拳游戏简介代码 简介 给别人写的大二自动化《软件技术基础》课设,要求实现一个猜拳游戏的账号的注册、登录与游戏记录、排名。算是目前做过的所有课设里最最折腾的一...

    C++课程设计—猜拳游戏

    简介

    给别人写的大二自动化《软件技术基础》课设,要求实现一个猜拳游戏的账号的注册、登录与游戏记录、排名。算是目前做过的所有课设里最最折腾的一个了,主要的麻烦在于C++中io流的使用,这一点上C++真的比C人性化多了,不用指针一个个地去扎,但是同时也逼着自己好好地学习了一把文件流的操作。

    代码

    #include<iostream>
    #include<fstream>
    #include<string>
    #include<algorithm>
    #include<cstdio>
    #include<ctime>
    #include<cstring>
    void Display();//调用display显示switch()菜单
    void Register();//注册
    void Enter();//登录
    using namespace std;
    int flag;
    int main()
    {
    	Display();//显示菜单  1注册;2登录
    	cin.get();
    	return 0;
    }
    bool cmp(float a,float b){
    	return a>b;
    }
    void Register()//注册
    {
    	ofstream outFile("web1.txt");//把注册的ID、code保存到web1.txt文件当中
    	if(!outFile.is_open())//如果没有成功打开文件
    	{
    		cout<<"很遗憾,连接不上服务器";
    		cout<<"程序结束";
    		cin.get();
    		exit(EXIT_FAILURE);
    	}
    	string name;
    	string code;
    	cout<<"Please Enter members name请输入用户名名称: ";
    	cin.get();//吃掉空字符
    	getline(cin,name);
    	//占位,假设输入的用户名超出长度或太短
    
    	outFile<<name<<endl;//记录注册的资料到web1.txt文件中
    
    	cout<<"Please Enter members code请输入密码: ";
    	getline(cin,code);
    	//占位,假设输入的密码超出长度或太短
    
    	outFile<<code<<endl;//记录注册的资料到web1.txt文件中
    	cout<<"注册成功!";
    	outFile.close();
    	Display();
    }
    void Enter()//登录
    {
    	cin.get();
    	ifstream inFile;//定义ifstream对象
    	inFile.open("web1.txt");//读取web1.txt文件中的注册资料
    	if(!inFile.is_open())//如果文件没有成功打开
    	{
    		cout<<"很遗憾,连接不上服务器";
    		exit(EXIT_FAILURE);
    	}
    	string name;
    	string code;
    	string temp;
        string temp0; 
    	cout<<"Please Enter members name请输入用户名名称: ";
    	getline(cin,name);
    
    	while(getline(inFile,temp))//匹配用户名
    	{
    		if(temp==name)//如果匹配用户名成功
    		{
    			cout<<"Please Enter members code请输入密码: ";//请输入密码
    			getline(cin,code);//code
    			getline(inFile,temp);//匹配code
    			if(temp==code)//如果密码正确,登录成功
    			{
    				
    				cout<<"登录成功";
    				//占位,登录成功应该转到程序主题
    				 int cnt=0;
        int total=0;
        char gamer; // 玩家出拳
        int computer; // 电脑出拳
        int result; // 比赛结果
        // 为了避免玩一次游戏就退出程序,可以将代码放在循环中
        while (1){
        printf("这是一个猜拳的小游戏,请输入你要出的拳头:\n");
        printf("A:剪刀\nB:石头\nC:布\nD:不玩了\n");
        scanf("%c%*c",&gamer);
        switch (gamer){
        case 65 | 97: // A | a
        gamer=4; break;
        case 66 | 98: // B | b
        gamer=7; break;
        case 67 | 99: // C | c
        gamer=10; break;
        case 68 | 100: // D | d
        exit(0);   
    	break;
        }
        srand((unsigned)time(NULL)); // 随机数种子
        computer=rand()%3; // 产生随机数并取余,得到电脑出拳
        result=(int)gamer+computer; // gamer 为 char 类型,数学运算时要强制转换类型
        printf("电脑出了");
        switch (computer)
        {
        case 0:printf("剪刀\n");break; //4 1
        case 1:printf("石头\n");break; //7 2
        case 2:printf("布\n");break; //10 3
        }
        printf("你出了");
        switch (gamer)
        {
        case 4:printf("剪刀\n");break;
        case 7:printf("石头\n");break;
        case 10:printf("布\n");break;
        }
        if (result==6||result==7||result==11){
        	cnt++;
        	total++;
        	printf("你赢了\n");
    	} 
        else if (result==5||result==9||result==10){
            cnt--;
            total++;
    		printf("电脑赢了!");	
    	} 
        else{
        	total++;
    		printf("平手");
    	}
    	float pro;
        pro=float(cnt/total);//计算胜率 
       ofstream of("rank.txt");
       of<<pro<<endl;
       of.close();
        }
        
     }
    			}
    			else
    			{
    				cout<<"密码错误";
    				Display();//返回!
    			}
    		}
    	}
    
    void Display()//菜单
    {
    	cout<<"1)Register注册     2)Enter登录\n3)Exit退出\n4)查看排行榜\nChoice:";
    	int choice;//选择菜单
    	cin>>choice;
    
    	switch(choice)
    	{
    case 1://注册
    	Register();//call function调用函数
    		break;
    case 2://登录
    	Enter();//call function调头函数
    	break;
    case 3://退出
    	exit(EXIT_FAILURE);
    case 4://查看排名
        float res[10];
       memset(res,0,sizeof(res));
       ifstream inf("rank.txt");
       for(int j=0;j<10;j++){
       	inf>>res[j];
       }
       sort(res,res+10,cmp);
       for(int j=0;j<10;j++){
       	cout<<res[j]<<endl;
       } 
    	}
    }
     
    
    展开全文
  • C++课程设计报告及源码

    千次下载 热门讨论 2008-06-16 18:07:10
    C++课程设计报告及源码 非常完整!
  • C++课程设计:学生成绩信息管理系统

    热门讨论 2013-06-14 10:06:07
    C++课程设计:学生成绩信息管理系统 该资源是鄙人的C++课程设计,论文包括源代码和截图,评分等级为优秀, 分享予大家参考学习,欢迎 广东海洋大学 的同胞们下载!!! 该 学生成绩信息管理系统 包括十大功能: 0、输入学生...
  • c++课程设计 棋盘程序

    千次阅读 多人点赞 2018-09-09 14:30:39
    c++课程设计: 编一棋盘游戏程序,人为一方,计算机为一方,人下时字符 * 将放在所指定的位置,而计算机下时字符 @ 将放在某一空格位置。行、列、或两对角线有连续三个相同字符一方为胜方,也有平局情况。要求能...
  • C++课程设计之学生成绩管理系统

    千次阅读 2020-09-26 14:48:32
    成绩管理系统——C++课程设计 1.具体要求及功能 具体要求: 制作一个系统制作一个系统实现对学生成绩的管理功能,可以对学生信息及成绩信息进行录入、修改、删除等。 基本功能: (1)增加、修改、删除一个学生及...
  • C++课程设计报告--通讯录管理系统

    万次阅读 多人点赞 2018-07-16 08:29:23
    C++课程设计报告--通讯录管理系统 建立两个文本文件,记录存储在手机上联系人的基本信息和存储在手机卡上的联系人的信息。"mymobilelistdata.txt";"mycardlistdata.txt", 系统默认在这两个文件...
  • 课程设计采用C/C++进行编程,实现了通讯录中的增删改查操作,以及算法的编写,并且附带完整的课程设计报告书,可支持答辩!额外添加文件读写处理功能(内存与外存同步)。 课程设计报告书的内容完整且符合规范...
  • 求一C++课程设计,题目☞超市销售管理系统☜,要交的作业,完全不懂![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/1.gif)
  • C++课程设计——通讯录

    千次阅读 2019-12-11 17:25:15
    记得我第一次学习了C++之后就进行了课程设计,当时的我什么也不懂,就连最简单的文件和流都用的不是很清楚,但是我们还是用了一个星期的时间做了一个通讯录管理系统,简简单单的通讯录,虽然在现在来看实在是觉得...
  • C++课程设计 职工信息管理系统 CSU

    千次阅读 2019-06-21 17:04:21
    C++课程设计 职工信息管理系统 CSU课题描述源代码相关补充说明 课题描述 我们所选的课题为职工工资信息管理系统,设计一个职工信息管理案例,以实 现不同类别的工资数据管理。在这里主要分为两种职工,正式工以及...
  • C++课程设计-银行储蓄系统

    千次阅读 多人点赞 2015-07-19 07:21:10
    * C++课程设计 :银行储蓄系统 * 功 能 介 绍 :- 面向用户版的银行系统,模拟自己进入银行时相关的操作。 * - 首次进入银行时,需要办理相应的银行卡。  * - 当用户有银行卡后,可以办理银行有的一般业务。 * ...
  • 数据结构/C++课程设计 仓库管理系统 一个管理仓库内货物的信息的仓库管理程序。 仓库中货物信息的组成部分为:货物编号、货物名称、货物单价、货物数量等。 一、功能模块结构图: 二、项目介绍 1.文件与结构体与类...
  • c++课程设计自助点餐系统

    千次阅读 多人点赞 2020-07-03 15:45:17
    2、课程设计时间为1周; 3、设计语言采用C++; 4、学生有事离校必须请假。课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,未按规定上交实验报告的学生,其成绩按不及格处理。 【内容简介】 有一个...
  • C++课程设计--学生选课系统

    万次阅读 多人点赞 2018-08-12 10:02:18
    一、设计思路 1、设计问题 (1)如何登录?通过用户名找到对应对象? (2)管理员如何对课程、学生、老师进行增删查改? (3)如何循环输入课程、老师、学生信息?课程有多个上课时间和地点怎么办?...
  • C++课程设计(上) 题目: 学生信息管理系统 需求及功能要求: 学生的基本信息: 学号、姓名、年龄、性别、出生年月等 功能: (1)录入学生信息; (2)显示学生信息; (3)修改学生信息; (4)删除学生信息; ...
  • C++课程设计—学生信息管理系统 虽然老套,但是很经典,于是就把自己写的代码放上面了,以后或许还能看到当初的幼稚 代码下载地址在文章末尾,有需要的同学自取。 该课程设计含有两个模块: 教师权限模块 学生权限模块...
  • C++课程设计:航空客运订票系统

    万次阅读 多人点赞 2019-04-07 22:33:16
      基于C++程序设计基础,实现了多级用户管理。乘客用户可以查询航班,根据旅客提出的终点站名输出信息;根据提供的航班号进行购票,可选择购票数,若有余票,则为用户办理订票;若无余票或余票不满足用户需求,可...
  • C++课程设计学生宿舍管理信息系统

    千次阅读 多人点赞 2018-10-29 21:43:18
    青岛农业大学c++课 程 设 计报 告         学院、系: ... 课程设计科目 ... 面向对象程序课程设计 学生姓名: 董松 指导教师: ...
  • C++课程设计班级管理系统

    千次阅读 多人点赞 2020-06-14 16:58:12
    我们诚邀各校有志之士加入我们的代码学习群交流:**871352155**(无论你会C/C++还是Java,Python还是PHP......有兴趣我们都欢迎你的加入,不过还请各位认真填写加群信息。群内目前多为大学生,打广告的先生女士就请...
  • c++课程设计-学生选课系统

    千次阅读 多人点赞 2019-04-07 12:04:13
    1.系统分析 1.1系统概述 学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。 本系统将管理员用户、教师...对教师信息的增删改查,对课程信息的增删改查...
  • 请为高校设计一个课程设计选题系统,系统主要处理学生的课程设计选题信息。其中,学生信息主要包括:学号、姓名、年级、专业,登录密码等,课程设计信息主要包括:课程编号、课程名称、选题题目、指导教师等,请按照...
  • C++课程设计的大作业,主菜单调用子菜单的功能怎么设计?必须要用函数么?
  • C++课程设计(通讯录程序)

    千次阅读 多人点赞 2020-06-14 15:14:50
    前言 鄙人仅为一名普普通通大二学生,才学浅出,来此各地高人聚集处书写浅见,还望各位前辈高人多多指点海涵。我们诚邀各地有志之士加入我们的... 设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓...
  • 航空订票系统C++课程设计

    千次阅读 多人点赞 2020-05-01 22:43:39
    航空订票系统 1.录入功能 可以录入航班信息(如航班号,起飞降落时间,城市,座位数,票价) 2.查询功能 可以查询航班的各项信息(如根据航班号,起飞降落城市查找航班并显示航班信息) 3.修改删除功能 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 69,457
精华内容 27,782
关键字:

c++课程设计

c++ 订阅