[C++课程设计]小型书店进销存管理系统,大虾帮忙啊~~

2024-12-29 16:27:41
推荐回答(3个)
回答1:

#include //输入输出头文件
#include //字符串处理头文件
#include //用getch()函数的头文件
#include //用exit()的头文件
#include //文件处理头文件

using namespace std;
//定义学生类
class stu
{
char name[20];
double num,math,chinese,english,average,sum;
public:
stu()
{
}
stu( char n[20],double nu,double ma,double chin,double eng)
{
strcpy(name,n);
num=nu;
math=ma;
chinese=chin;
english=eng;
}
double getsum()
{
sum=chinese+english+math;
return sum;
}
double getaver()
{
average=getsum()/3;
return average;
}
friend int main();
};

void show() //显示函数,删除了原函数中的1,因为与0重复
{
cout<<"\t\t\t进入本学生管理系统,请选择您需要的操作!"< cout<<"操作:"< cout<<"(0)数据输入"< cout<<"(1)删除人员"< cout<<"(2)修改数据"< cout<<"查询:"< cout<<"(3)按学号查询"< cout<<"(4)按姓名查询"< cout<<"(5)输出所有学生的数据"< cout<<"成绩名词"< cout<<"(6)按总分查询排名"< cout<<"(7)按语文查询排名"< cout<<"(8)按数学查询排名"< cout<<"(9)按英语查询排名"< cout<<"系统操作"< cout<<"(e)退出系统"< cout<<"选择相关操作请输入相对的括号里的阿拉伯数字!__";
}

//主函数
int main()
{
char p[20],p1; //定义输入字符
char w[20],c; //等待键盘输入的变量
int i=0,j=0,flag=0; //定义当前学生位置和学生数量,是否跳到主页面判断
stu *s[50]; //定义学生数组
do
{
cout<<"当前已录人员总数:("< show();
cin>>p;
system("cls"); //刷新屏幕
if (strlen(p)==1) p1=p[0];
else p1='x';
switch (p1)
{
case '0':
{
char name[20];
double num, math,chinese,english;
do
{
cout<<"请输入姓名"< cin>>name;
cout<<"请输入 学号"< cin>>num;
cout<<"请输入 数学成绩:"< cin>>math;
cout<<"请输入 语文成绩:"< cin>>chinese;
cout<<"请输入 外语成绩:"< cin>>english;
j++;
s[i]=new stu(name,num,math, chinese, english);
i++;
cout<<"数据输入成功,想继续输入吗(y/n)"< cin>>w;
do
{
if (!strcmp(w,"y")) break;
else if(!strcmp(w,"n"))
cout<<"指令错误!请重新输入!"< cin>>w;
}
while (1);
flag==1;
}
while(1);
}
break;
case '1':
{
char name[20];
bool flag3=0;
do
{
cout<<"请输入您要删除的学生姓名:"< cin>>name;
for(int h=0; h {
if(strcmp(name,s[h]->name)==0)
{
flag3=1;
i--;
do
{
s[h]=s[h+1];
h++;
}
while(h<=i);
}
}
if(flag3==0)
cout<<"您要求删除的对象本来就不存在!请检查输入的正确性!";
cout<<"要继续删除吗?(y/n)"< cin>>w;
do
{
if (!strcmp(w,"y")) break;
else if(!strcmp(w,"n"))
cout<<"指令错误!请重新输入!"< cin>>w;
}
while (1);
flag==1;
}
while(1);
}
break;
case '2':
{
char name[20];
double num, mat,chin,eng;
bool flag2=0;
do
{
cout<<"请输入您要修改的学生的姓名:"< cin>>name;
for(int h=0; h {
if(strcmp(name,s[h]->name)==0)
{
flag2=1;
cout<<"请输入新的 学号:"< cin>>num;
cout<<"请输入新的 数学成绩:"< cin>>mat;
cout<<"请输入新的 语文成绩:"< cin>>chin;
cout<<"请输入新的 外语成绩:"< cin>>eng;
s[h]->num=num;
s[h]->chinese=chin;
s[h]->math=mat;
s[h]->english=eng;
cout<<"数据修改成功!";
}
}
if(flag2==0) cout<<"您要修改的学生本来就不存在!请检查重新输入!"< cout<<"想继续修改吗(y/n)"< cin>>w;
do
{
if (!strcmp(w,"y")) break;
else if(!strcmp(w,"n"))
cout<<"指令错误!请重新输入!"< cin>>w;
}
while (1);
flag==1;
}
while(1);
}
break;
case '3':
{
double t;
do
{
int flag1=0;
cout<<"请输入你要查询学生的 学号"< cin>>t;
for(int q=0; q {
if ((*s[q]).num==t)
{
flag1=1;
cout<<"您要查询的学生是:"<<(*s[q]).name< cout<<" 数学成绩为:"<<(*s[q]).math< cout<<" 语文成绩为:"<<(*s[q]).chinese< cout<<"英语成绩为:"<<(*s[q]).english< break;
}
}

if(flag1==0) cout<<"对不起!您要查询的学生不存在!"< cout<<"您想继续查询吗?(y/n)"< cin>>w;
do
{
if (!strcmp(w,"y")) break;
else if(!strcmp(w,"n"))
cout<<"指令错误!请重新输入!"< cin>>w;

}
while (1);
flag==1;
}
while(1);
}
break;
case '4':
{
char n[20];
do
{
int flag=0;
cout<<"请输入你要查询的学生姓名:"< cin>>n;
for(int j=0; j {
if(strcmp(n,(*s[j]).name)==0)
{
flag=1;
cout<<"您要查询的学生是:"<<(*s[j]).name< cout<<(*s[j]).name<<"的总成绩成绩是"<<(*s[j]).getsum()< }
}
if(flag==0) cout<<"对不起!您要查询的学生不存在!"< cout<<"您想继续查询吗?(y/n)"< cin>>w;
do
{
if (!strcmp(w,"y")) break;
else if(!strcmp(w,"n"))
cout<<"指令错误!请重新输入!"< cin>>w;
}
while (1);
flag==1;
}
while(1);
}
break;
case '5':
{
if(i==0)
{
cout<<"管理系统中没有录入数据或者数据已经被删除!"< break;
}
cout<<"本系统所有学生数据如下:"< for(int k=0; k {
cout<name<<" 学号: "<<" "<num<<
" 语文:"<<" "<chinese<<" 数学:"<<" "<math
<<" 外语:"<<" "<english<<" 总分:"<<" "<<(*s[k]).getsum()
<<" 平均分:"<<" "<<(*s[k]).getaver()< }
cout<<"请按任意继续..."< c=getch();
system("cls"); //刷新屏幕
}
break;
case '6':
{
if(i==0)
{
cout<<"管理系统中没有录入数据或者数据已经被删除!"< break;
}
int t;
stu b;
cout<<"本系统所以学生排名如下:"< for(int x=0; x {
t=x;
for(int y=x+1; y {
if((s[t]->getsum())<(s[y]->getsum()))
t=y;
if(t!=x)
{
b=*s[x];
*s[x]=*s[t];
*s[t]=b;
}
}
}
for(int k=0; k {
cout<name<<" 学号: "<<" "<num<<
" 语文:"<<" "<chinese<<" 数学:"<<" "<math
<<" 外语:"<<" "<english<<" 总分:"<<" "<getsum()
<<" 平均分:"<<" "<getaver()< }
cout<<"请按任意继续..."< c=getch();
system("cls"); //刷新屏幕
}
break;
case '7':
{
if(i==0)
{
cout<<"管理系统中没有录入数据或者数据已经被删除!"< break;
}
int t;
stu b;
cout<<"本系统所以学生 语文排名如下:"< for(int x=0; x {
t=x;
for(int y=x+1; y {
if((s[t]->chinese)<(s[y]->chinese))
t=y;
if(t!=x)
{
b=*s[t];
*s[t]=*s[x];
*s[x]=b;
}
}
}
for(int k=0; k {
cout<name<<" 学号: "<<" "<num<<
" 语文:"<<" "<chinese<<" 数学:"<<" "<math
<<" 外语:"<<" "<english<<" 总分:"<<" "<getsum()
<<" 平均分:"<<" "<getaver()< }
cout<<"请按任意继续..."< c=getch();
system("cls"); //刷新屏幕
}
break;
case '8':
{
if(i==0)
{
cout<<"管理系统中没有录入数据或者数据已经被删除!"< break;
}
int t;
stu b;
cout<<"本系统所以学生 数学排名如下:"< for(int x=0; x {
t=x;
for(int y=x+1; y {
if((s[t]->math)<(s[y]->math))
t=y;
if(t!=x)
{
b=*s[t];
*s[t]=*s[x];
*s[x]=b;
}
}
}
for(int k=0; k {
cout<name<<" 学号: "<<" "<num<<
" 语文:"<<" "<chinese<<" 数学:"<<" "<math
<<" 外语:"<<" "<english<<" 总分:"<<" "<getsum()
<<" 平均分:"<<" "<getaver()< }
cout<<"请按任意继续..."< c=getch();
system("cls"); //刷新屏幕
}
break;
case '9':
{
if(i==0)
{
cout<<"管理系统中没有录入数据或者数据已经被删除!"< break;
}
int t;
stu b;
cout<<"本系统所以学生英语排名如下:"< for(int x=0; x {
t=x;
for(int y=x+1; y {
if((s[t]->english)<(s[y]->english))
t=y;
if(t!=x)
{
b=*s[t];
*s[t]=*s[x];
*s[x]=b;
}
}
}
for(int k=0; k {
cout<name<<" 学号: "<<" "<num<<
" 语文:"<<" "<chinese<<" 数学:"<<" "<math
<<" 外语:"<<" "<english<<" 总分:"<<" "<getsum()
<<" 平均分:"<<" "<getaver()< }
cout<<"请按任意继续..."< c=getch();
system("cls"); //刷新屏幕
}
break;
case 'e':
default:
{
system("cls"); //刷新屏幕
cout< " 指令错误!按任意键重新输入!"< c=getch();
system("cls");
}
}
if (flag==1)
{
flag=0;
cout<<"继续进行其它操作么?(y/n)"< cin>>w;
do {
if (!strcmp(w,"y")) break;
else if(!strcmp(w,"n"))
cout<<"指令错误!请重新输入!"< cin>>w;
}while (1);
}
}
while(1);
}

回答2:

很负责任的告诉你,现在30多人都在搜,还是老老实实自己做吧···

回答3:

你是??DAILI?