新手 c++学生管理系统 不知道怎么改错

问题描述

新手 c++学生管理系统 不知道怎么改错

#include "iostream"
#include "string"
#include "fstream"
#include "conio.h"
using namespace std;

// *******建立学生信息的类
class Student
{
public:
Student *Head,*p;
Student *Next,*end;
char name[20];
char sex;

char dorm[20];
char num[20];
int age;
double math;
double english;
double cprogram;
double sum;
double average;

void Menu();
void Find();
void Save();
void Modify();
void Delect();
void Display();
void Displaym();
void Input();
void Read(istream &in);
void Add();

private:

ifstream in;
ofstream out;
Student *Findname(char name)
{
    for(Student *p=Head;p->Next!=end;p=p->Next)
        if(!strcmp(p->Next->name,name))
        {
            return p;
        }
        return NULL;
}
Student *Findnum(int num)
{
    for(Student * p=Head;p->Next!=end;p=p->Next)
        if(!strcmp(p->Next->num,num))
        {
            return p;
        }
        return NULL;
}

}stu;

void Student::Display() // 输出学生信息
{

cout<<"学号:"<
}
void Student::Input() // 输入学生信息
{
system("color 9e");
cout
cin>>stu.num;
cout<
cout
cin>>stu.name;
cout<
cout
cin>>stu.sex;
cout<
cout
cin>>stu.age;
cout<
cout
cin>>stu.dorm;
cout<
cout
cout
cin>>stu.math;
cout<
cout
cin>>stu.english;
cout<
cout
cin>>stu.cprogram;
cout<<endl;
cout<<"信息输入成功!"<<endl;
stu.sum=stu.math+stu.english+stu.cprogram;
stu.average=stu.sum/3;

}
void Student::Read(istream &in)// 从文件中读取信息
{
in>>"学号:">>stu.num>>"n"<<"姓名:">>stu.name>>"n">>"性别:">>stu.sex>>"n">>"年龄:">>stu.age>>"n">>"寝室地址:">>stu.dorm>>"n">>"高数成绩:">>stu.math>>"n">>"英语成绩:">>stu.english>>"n">>"C++成绩:">>stu.cprogram>>"n">>"总分:">>stu.sum>>"n">>"平均分:">>stu.average;
}

void Student::Add() //写入文件
{

//p->Next=new Student;
//p=p->Next;

ofstream outfile("student.txt");            

p->Input();
outfile<<"学号:"<<p->num<<"n"<<"姓名:"<<p->name<<"n"<<"性别:"<<p->sex<<"n"<<"年龄:"<<p->age<<"n"<<"寝室地址:"<<p->dorm<<"n"<<"高数成绩:"<<p->math<<"n"<<"英语成绩:"<<p->english<<"n"<<"C++成绩:"<<p->cprogram<<"n"<<"总分:"<<p->sum<<"n"<<"平均分:"<<p->average<<"n"<<endl;
outfile<<"-------------------------------------------------------------------"<<endl;
outfile.close();

p->Next=new Student;
p=p->Next;

cout<<"添加成功!"<<endl;

}
void Student::Displaym()
{
ifstream infile("student.txt");
//Student *p=Head->Next;p!=p;p=p->Next

for(Student *p=Head->Next;p!=p;p=p->Next)
{
    //infile.read((char *)p,sizeof(p));
    p->Display();

}
infile.close();

}
// ********查找函数
void Student::Find()
{
char name[20],num[20];
int n;
Student p;
cout<<"ntt
********************************n";
cout<<"tt※ 1.按学生的姓名查找ntt※ 2.按学生学号查找";
cout<<"ntt*********************************n请选择:";
cin>>n;
switch(n)
{
case 1:
{
cout<<"输入要查询的学生姓名";
cin>>name;
if(p=Findname(name))
{
p->Next->Display();

        }
        else

        {
            cout<<"tt没有找到该姓名的学生!"<<'n'<<endl;   

        }
        break;
    }

case 2:
    {
        cout<<"请输入要查询学生的学号";
        cin>>num;
        if(p=Findnum(num))
        {
            p->Next->Display();

        }
        else
        {
            cout<<"tt没有找到该学号的学生!"<<'n'<<endl;          

        }

    }break;

}

}
// *********修改函数

void Student::Modify()
{
char name[20],num;
Student * p;
int n;
cout<<"ntt*********************************n";
cout<<"tt※ 1.按学生的姓名查找修改ntt※ 2.按学生学号查找修改";
cout<<"ntt*********************************n请选择:";
cin>>n;
switch(n)
{
case 1:
{

        cout<<"tt请输入要修改的人的姓名:";cin>>name;
        if(p=Findname(name))
        {
            cout<<"tt已找到学生的信息,请输入新的信息!"<<endl;
            p->Next->Input();
            cout<<"修改成功!"<<endl;  

        }

        else
        {
            cout<<"tt没有找到!"<<endl;  

        }
    }
    break;
case 2:
    {
        cout<<"tt请输入要修改的人的学号:";cin>>num;
        if(p=Findnum(num))
        {
            cout<<"tt已找到学生的信息,请输入新的信息!"<<endl;
            p->Next->Input();
            cout<<"修改成功!"<<endl;
        }

        else
        {
            cout<<"tt没有找到!"<<endl;  

        }
        break;
    }

}

}
//删除函数
void Student::Delect()
{
int num[20];
Student *p,*temp;
char n;
cout<<"输入需要删除的学生学号";
cin>>num;
if(p=Findnum(num))
{
p->Next->Display();
cout<<"是否删除该学生信息?(y/n)";
cin>>n;
if(n=='y'||n=='Y')
{
temp=p->Next;
p->Next=p->Next->Next;
delete temp;
cout<<"tt删除成功!"<<endl;

    }
    else
    {
        cout<<"输入任意字符!继续……";
        getch();
    }

}
else
{
    cout<<"tt无该生信息!"<<endl;     

}

}
// 保存函数
void Student::Save()
{

out.open("student.txt",ios::app);
for(Student *p=Head->Next;p!=p;p=p->Next)
{
    out<<"学号:"<<p->num<<"n"<<"姓名:"<<p->name<<"n"<<"性别:"<<p->sex<<"n"<<"年龄:"<<p->age<<"n"<<"寝室地址:"<<p->dorm<<"n"<<"高数成绩:"<<p->math<<"n"<<"英语成绩:"<<p->english<<"n"<<"C++成绩:"<<p->cprogram<<"n"<<"总分:"<<p->sum<<"n"<<"平均分:"<<p->average<<"n"<<endl;
}
out.close();

}

//显示函数
void Student::Displaym()
{
ifstream infile("student.txt");
for(Student *p=stu.Head->Next;p!=p;p=p->Next)
{
//infile.read((char *)p,sizeof(p));

p->Display();

}
infile.close();

// ********查找函数
void Student::Find()
{
char name[20],num[20];
int n;
Student p;
cout<<"ntt
********************************n";
cout<<"tt※ 1.按学生的姓名查找ntt※ 2.按学生学号查找";
cout<<"ntt*********************************n请选择:";
cin>>n;
switch(n)
{
case 1:
{
cout<<"输入要查询的学生姓名";
cin>>name;
if(p=Findname(name))
{
p->Next->Display();

        }
        else

        {
            cout<<"tt没有找到该姓名的学生!"<<'n'<<endl;   

        }
        break;
    }

case 2:
    {
        cout<<"请输入要查询学生的学号";
        cin>>num;
        if(p=Findnum(num))
        {
            p->Next->Display();

        }
        else
        {
            cout<<"tt没有找到该学号的学生!"<<'n'<<endl;          

        }

    }break;

}

}
// *********修改函数

void Student::Modify()
{
char name[20],num;
Student * p;
int n;
cout<<"ntt*********************************n";
cout<<"tt※ 1.按学生的姓名查找修改ntt※ 2.按学生学号查找修改";
cout<<"ntt*********************************n请选择:";
cin>>n;
switch(n)
{
case 1:
{

        cout<<"tt请输入要修改的人的姓名:";cin>>name;
        if(p=Findname(name))
        {
            cout<<"tt已找到学生的信息,请输入新的信息!"<<endl;
            p->Next->Input();
            cout<<"修改成功!"<<endl;  

        else
        {
            cout<<"tt没有找到!"<<endl;  

        }
    }
    break;
case 2:
    {
        cout<<"tt请输入要修改的人的学号:";cin>>num;
        if(p=Findname(name))
        {
            cout<<"tt已找到学生的信息,请输入新的信息!"<<endl;
            p->Next->Input();
            cout<<"修改成功!"<<endl;  

        }

        else
        {
            cout<<"tt没有找到!"<<endl;  

        }
        break;
    }

}

}
//删除函数
void Student::Delect()
{
char num[20];
Student *p,*temp;
int n;
cout<<"输入需要删除的学生学号";
cin>>num;
if(p=Findnum(num))
{
p->Next->Disendlay();
cout<<"是否删除该学生信息?(1/0)";
cin>>n;
if(n==1)
{
temp=p->Next;
p->Next=p->Next->Next;
delete temp;
cout<<"tt删除成功!"<<endl;

    }
    else
    {
        cout<<"输入任意字符!继续……";
        getch();
    }

}
else
{
    cout<<"tt无该生信息!"<<endl;     

}

}
// 保存函数
void Student::Save()
{

out.open("student.txt",ios::app);
for(Student *p=Head->Next;p!=p;p=p->Next)
{
    out<<"学号:"<<p->num<<"n"<<"姓名:"<<p->name<<"n"<<"性别:"<<p->sex<<"n"<<"年龄:"<<p->age<<"n"<<"寝室地址:"<<p->dorm<<"n"<<"高数成绩:"<<p->math<<"n"<<"英语成绩:"<<p->english<<"n"<<"C++成绩:"<<p->cprogram<<"n"<<"总分:"<<p->sum<<"n"<<"平均分:"<<p->average<<"n"<<endl;
}
out.close();

}

int main()
{

int i,j;
system("color 8e");
cout<<"********************************************************************************"<<endl;
cout<<"****************************欢迎使用学生信息管理系统****************************"<<endl;
cout<<"********************************************************************************"<<endl;
cout<<"t1.输入信息     t2.保存信息     t3.查询信息     t4.修改并保存"<<endl;
cout<<"t5.显示全部     t6.删除信息     t7.退出系统                   "<<endl;
cout<<"********************************************************************************"<<endl;
do
{
    cout<<"请输入您要进行的操作编号(1--7):";
    cin>>j;
    cout<<endl;
    if(j<1||j>7)
        cout<<"对不起,请输入1-7这几个选择数字!"<<endl;
}
while(j<1||j>7);
switch(j)
{
case 1:stu.Add();
    break;
case 2:stu.Save();
    break;
case 3:stu.Find();
    break;
    break;
case 4:stu.Modify();
    case 5:stu.Displaym();
        break;
    case 6:stu.Delect();
        break;
    case 7:exit(0);
        break;
}

}

解决方案

D:MyProjects管理student.cpp(42) : error C2664: 'strcmp' : cannot convert parameter 2 from 'char' to 'const char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
D:MyProjects管理student.cpp(51) : error C2664: 'strcmp' : cannot convert parameter 2 from 'int' to 'const char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
D:MyProjects管理student.cpp(65) : error C2297: '<<' : illegal, right operand has type 'char [2]'
D:MyProjects管理student.cpp(102) : error C2676: binary '<<' : 'class std::basic_istream >' does not define this operator or a conversion to a type acceptable to the predefined operator
D:MyProjects管理student.cpp(156) : error C2664: 'Findname' : cannot convert parameter 1 from 'char [20]' to 'char'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
D:MyProjects管理student.cpp(175) : error C2664: 'Findnum' : cannot convert parameter 1 from 'char [20]' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
D:MyProjects管理student.cpp(207) : error C2664: 'Findname' : cannot convert parameter 1 from 'char [20]' to 'char'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
D:MyProjects管理student.cpp(251) : error C2679: binary '>>' : no operator defined which takes a right-hand operand of type 'int [20]' (or there is no acceptable conversion)
D:MyProjects管理student.cpp(252) : error C2664: 'Findnum' : cannot convert parameter 1 from 'int [20]' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
D:MyProjects管理student.cpp(295) : error C2084: function 'void __thiscall Student::Displaym(void)' already has a body
D:MyProjects管理student.cpp(307) : error C2601: 'Find' : local function definitions are illegal
D:MyProjects管理student.cpp(359) : error C2601: 'Modify' : local function definitions are illegal
D:MyProjects管理student.cpp(495) : fatal error C1075: end of file found before the left brace '{' at 'D:MyProjects管理student.cpp(359)' was matched

解决方案二:

哎 问题很大啊, 要好好看看书,调试你的代码

时间: 2024-08-18 02:38:31

新手 c++学生管理系统 不知道怎么改错的相关文章

c#-不知道要怎么实现学生管理系统

问题描述 不知道要怎么实现学生管理系统 要求:1.寝室分配:根据系别.年级.班级分配寝室. 2.学生入住管理:实现入住学生信息的维护和查询. 3.信息查询:按公寓楼号.学生姓名等条件查询住宿信息. 4.出入登记:实现对学生搬出公寓的货物进行登记和对外来人员进行登记. 5.系统管理:包括公寓楼号.寝室房号.系别.班级的设置. 6. 操作员管理:添加.删除.修改操作员. 解决方案 你加我qq:4568796336,上面聊!!记得采纳!! 解决方案二: 这个 真心不好弄啊 解决方案三: 我感觉应该用数

Android For JNI(四)——C的数组,指针长度,堆内存和栈内存,malloc,学生管理系统

Android For JNI(四)--C的数组,指针长度,堆内存和栈内存,malloc,学生管理系统 好几天每写JNI了,现在任务也越来越重了,工作的强度有点高,还有好几个系列的博客要等着更新,几本书还嗷嗷待哺的等着我去看,github上的两个散漫的开源,基础入门的视频也在录制,还要学习新的知识, 都是一种挑战,不知道为何,最近懒散了,看来还得再加把劲,今天我们继续延伸一下C的一些小知识 一.数组 C的数组和JAVA也是类似的,我们写一段小程序 #include <stdio.h> #inc

基于XML-DOM技术的MIS系统(学生管理系统-精简版)

dom|xml (亿众国际-004)[原创]基于XML-DOM技术的MIS系统(学生管理系统-精简版) ///////////////////////////////////////////////////////////Author: stardicky                                    ////E-mail: stardicky@hotmail.com                        ////QQNumber: 9531511        

delphi做学生管理系统总结

在用刚刚学的delphi来做学生管理系统会遇到很多问题,这写问题或许是共性的,希望对大家有帮助 工程文件 界面 一.登录界面 二.主功能界面 用户管 理

java web-JAVA web +mySQL 学生管理系统

问题描述 JAVA web +mySQL 学生管理系统 界面做好后,数据库链接出现问题了怎样链接上数据库呢?..............初学者求教! 解决方案 用jdbc就可以了完整的程序下载:http://download.csdn.net/detail/zhouhuijun_vip/7523155 解决方案二: 简单点直接用jdbc...要么用mybatis... 解决方案三: http://www.cnblogs.com/taoweiji/archive/2012/12/11/281285

【黑马Android】(03)学生管理系统/动态刷新界面

学生管理系统 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.itheima27.sutdentmanager" android:versionCode="1" android:versionNam

vc++-新手问题:事先不知道行列数的增广矩阵的VC++控制台输入

问题描述 新手问题:事先不知道行列数的增广矩阵的VC++控制台输入 我的大概思路: vector augMa; //整个增广矩阵,其中的每一个元素为矩阵的一行(数组首地址) 我的问题是: double nu=0; while(cin>>nu){ .............................. } 相信各位大神也猜出来了,每敲一次回车代表矩阵一行的结束(这怎么实现???) 整个作业是实现线性方程组的求解(高斯消去法和三角分解法)

c语言 数据结构-关于“学生管理系统”这个程序编程的一些问题

问题描述 关于"学生管理系统"这个程序编程的一些问题 #include #include typedef struct student { int num; int score; struct student *next; }student; void add(student *s)//全局的增加函数 { printf("请输入学生学号与分数:n"); scanf("%d %d",&s->num,&s->score);

Java+Mysql学生管理系统源码_java

最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多.  开发语言:java: 开发环境:Mysql, java: 开发工具:eclipse 开发此案例,首先得在电脑上有java开发环境和Mysql, java开发环境与Mysql的搭建,就不再叙述了,如果需要,请联系我最下面的联系方式:dingyelf@aliyun.com  此次系统比较简易:数据库中只有一个表:stu;功能:能够对学生增加.删除.修改.开发步骤: