大学C语言考试求帮忙!~
作者&投稿:鞠类 (若有异议请与网页底部的电邮联系)
啥酬劳。。。我可以考虑一下
#include
int main(void)
{
double grades[10];
for (int i = 0; i < sizeof(grades) / sizeof(grades[0]); i++)
{
scanf("%lf",&grades[i]);
}
int count = 0;
for (int i = sizeof(grades) / sizeof(grades[0])-1; i >= 0; i--)
{
printf("%.2f ", grades[i]);
if (grades[i] < 60)
{
count++;
}
}
printf("
不合格人数为%d
", count);
return 0;
}
#include<iostream>
#include<iomanip>
#include<fstream>
#include<string>
using namespace std;
#define max 100;
class student
{
public:
student *next;
public:
string name;//姓名
long num;//学号
int x,y,z;//数学,语文,英语
int AA;//总分
void play(){cout<<name<<"学生的学号是"<<num<<",数学:"<<x<<",语文:"<<y<<",英语:"<<z<<",总分:"<<AA<<endl;};
student(string sname,long snum,int sx,int sy,int sz)
{
name=sname;
num=snum;
x=sx;
y=sy;
z=sz;
}
};
class cla
{
public:
cla()//构造函数
{
stu=0;
sload();
}
~cla()//析构函数
{
student *p;
p=stu;
while(p)
{
p=p->next;
delete stu;
stu=p;
}
stu=0;
}
void sadd(); //添加
void sremove(); //删除
void samend(); //修改
void ssearch(); //查询
void staxis(); //排序
void ssave(); //保存
void sload(); //读取
//排序函数
void pxh();
void psx();
void pyw();
void pyy();
void pAA();
private:
student *stu; //头接点
};
void cla::sadd()//添加
{
student *q;
string name1;
long num1;
int x1,y1,z1;
system("cls");
cout<<"\n **增加的学生** \n"<<endl;
cout<<"请输入学生的(中间用空格间隔) "<<endl;
cout<<"姓名 学号 数学成绩 语文成绩 英语成绩:"<<endl;
cin>>name1>>num1>>x1>>y1>>z1;
q=new student(name1,num1,x1,y1,z1);
q->next=0;
q->AA=x1+y1+z1;
if(stu)
{
student *t;
t=stu;
if(t->num==num1)
{
cout<<"学号已存在,请重新输入"<<endl;
return;
}
while(t->next)
{
if(t->num==num1)
{
cout<<"学号已存在,请重新输入"<<endl;
return;
}
t=t->next;
}
t->next=q;
}
else
{
stu=q;
}
cout<<"输入完毕"<<endl;
}
void cla::sremove()//删除
{
system("cls");
int num1;
cout<<"\n** 删除学生信息 **\n";
cout<<"请输入想要删除学生的学号:";
cin>>num1;
//查找要删除的结点
student *p1,*p2;
p1=stu;
while(p1)
{
if(p1->num==num1)
break;
else
{
p2=p1;
p1=p1->next;
}
}
//删除结点
if(p1!=NULL)//若找到结点,则删除
{
p1->play();
cout<<"确定删除吗?[Y/N]"<<endl;
char c;cin>>c;
if(toupper(c)!='Y') return;
if(p1==stu) //若要删除的结点是第一个结点
{
stu=p1->next;
delete p1;
}
else //若要删除的结点是后续结点
{
p2->next=p1->next;
delete p1;
}
cout<<"找到学号为"<<num1<<"的学生,并删除\n";
}
else //未找到结点
cout<<"未找到想要删除的学生!\n";
}
void cla::samend()//修改
{
system("cls");
long num1;
cout<<"\n** 修改学生信息 **\n";
cout<<"输入要修改学生的学号";
cin>>num1;
//查找要修改的结点
student *p1,*p2;
p1=stu;
while(p1)
{
if(p1->num==num1)
break;
else
{
p2=p1;
p1=p1->next;
}
}
if(p1!=NULL)
{
cout<<"学号是"<<num1<<"的学生的信息"<<endl;
cout<<"姓名 "<<p1->name<<"数学"<<p1->x<<"语文"<<p1->y<<"英语"<<p1->z<<endl;
cout<<"请输入修改后的信息:姓名 数学成绩 语文成绩 英语成绩"<<endl;
cin>>p1->name>>p1->x>>p1->y>>p1->z;
p1->AA=p1->x+p1->y+p1->z;
cout<<"修改成功"<<endl;
}
else //未找到接点
cout<<"未找到!\n";
}
void cla::ssearch()//查询
{
system("cls");
cout<<"\n** 查询学生信息 **\n"<<endl;
cout<<"请输入查询方式:"<<endl;
cout<<"1.按学号查询"<<endl;
cout<<"2.按姓名查询"<<endl;
cout<<"3.返回"<<endl;
char c; cin>>c;
switch (c)
{
case '1':
{
long num1;
cout<<"要查询的学号"<<endl;
cin>>num1;
//查找要查询的结点
student *p1,*p2;
p1=stu;
while(p1)
{
if(p1->num==num1)
break;
else
{
p2=p1;
p1=p1->next;
}
}
if(p1!=NULL)
{
cout<<"学号是"<<num1<<"的学生的信息"<<endl;
cout<<"姓名:"<<p1->name<<" 数学:"<<p1->x<<" 语文:"<<p1->y<<" 英语:"<<p1->z<<endl;
cout<<"查询完毕...";
}
else //未找到接点
cout<<"未找到!\n";
break;
}
case '2':
{
string name1;
cout<<"要查询的学生姓名"<<endl;
cin>>name1;
//查找要查询的结点
student *p1,*p2;
p1=stu;
while(p1)
{
if(p1->name==name1)
break;
else
{
p2=p1;
p1=p1->next;
}
}
if(p1!=NULL)
{
cout<<name1<<"的学生的信息"<<endl;
cout<<"学号:"<<p1->num<<" 数学:"<<p1->x<<" 语文:"<<p1->y<<" 英语:"<<p1->z<<endl;
cout<<"查询完毕...";
}
else //未找到接点
cout<<"未找到!\n";
break;
}
case '3': return;
}
}
void cla::pxh() //按学号排序
{
student *p1,*p2;
int n;
p1=stu;
n=1;
while(p1->next)
{ n++; p1=p1->next; }
cout<<"共有"<<n<<"条信息..."<<endl;
int i;
p1=stu;
for(i=1;i<n;i++)
{
p1=stu;
if (p1->num>p1->next->num) // 如果头结点大于第二个的
{
p2=p1->next;
p1->next=p1->next->next;
p2->next=p1; //头结点交换
stu=p2;
}
p1=stu;
while(p1->next->next) //中间的交换
{
p2=p1;
p1=p1->next;
if(p1->num>p1->next->num)
{
p2->next=p1->next;
p1->next=p1->next->next;
p2->next->next=p1;
p1=p2->next; //交换
}
}
}
p1=stu;
do
{
p1->play();
p1=p1->next;
}while(p1);
}
void cla::psx()//按数学成绩排序
{
student *p1,*p2;
int n;
p1=stu;
n=1;
while(p1->next)
{ n++; p1=p1->next; }
cout<<"共有"<<n<<"条信息..."<<endl;
int i;
p1=stu;
for(i=1;i<n;i++)
{ p1=stu;
if (p1->x>p1->next->x) // 如果头结点大于第二个的
{ p2=p1->next;
p1->next=p1->next->next;
p2->next=p1; //头结点交换
stu=p2;
}
p1=stu;
while(p1->next->next) //中间的交换
{ p2=p1;
p1=p1->next;
if(p1->x>p1->next->x)
{
p2->next=p1->next;
p1->next=p1->next->next;
p2->next->next=p1;
p1=p2->next; //交换
}
}
}
p1=stu;
do
{ p1->play();
p1=p1->next;
}while(p1);
}
void cla::pyw()//按语文成绩排序
{
student *p1,*p2;
int n;
p1=stu;
n=1;
while(p1->next)
{ n++; p1=p1->next; }
cout<<"共有"<<n<<"条信息..."<<endl;
int i;
p1=stu;
for(i=1;i<n;i++)
{ p1=stu;
if (p1->y>p1->next->y) // 如果头结点大于第二个的
{ p2=p1->next;
p1->next=p1->next->next;
p2->next=p1; //头结点交换
stu=p2;
}
p1=stu;
while(p1->next->next) //中间的交换
{ p2=p1;
p1=p1->next;
if(p1->y>p1->next->y)
{
p2->next=p1->next;
p1->next=p1->next->next;
p2->next->next=p1;
p1=p2->next; //交换
}
}
}
p1=stu;
do
{ p1->play();
p1=p1->next;
}while(p1);
}
void cla::pyy()//按英语成绩排序
{
student *p1,*p2;
int n;
p1=stu;
n=1;
while(p1->next)
{ n++; p1=p1->next; }
cout<<"共有"<<n<<"条信息..."<<endl;
int i;
p1=stu;
for(i=1;i<n;i++)
{ p1=stu;
if (p1->z>p1->next->z) // 如果头结点大于第二个的
{ p2=p1->next;
p1->next=p1->next->next;
p2->next=p1; //头结点交换
stu=p2;
}
p1=stu;
while(p1->next->next) //中间的交换
{ p2=p1;
p1=p1->next;
if(p1->z>p1->next->z)
{
p2->next=p1->next;
p1->next=p1->next->next;
p2->next->next=p1;
p1=p2->next; //交换
}
}
}
p1=stu;
do
{ p1->play();
p1=p1->next;
}while(p1);
}
void cla::pAA()//按总分排序
{
student *p1,*p2;
int n;
p1=stu;
n=1;
while(p1->next)
{ n++; p1=p1->next; }
cout<<"共有"<<n<<"条信息..."<<endl;
int i;
p1=stu;
for(i=1;i<n;i++)
{ p1=stu;
if (p1->AA>p1->next->AA) // 如果头结点大于第二个的
{ p2=p1->next;
p1->next=p1->next->next;
p2->next=p1; //头结点交换
stu=p2;
}
p1=stu;
while(p1->next->next) //中间的交换
{ p2=p1;
p1=p1->next;
if(p1->AA>p1->next->AA)
{
p2->next=p1->next;
p1->next=p1->next->next;
p2->next->next=p1;
p1=p2->next; //交换
}
}
}
p1=stu;
do
{ p1->play();
p1=p1->next;
}while(p1);
}
void cla::staxis()//排序
{
system("cls");
char c;
cout<<"请选择以何种方式排序:"<<endl;
cout<<"1……以学号排序"<<endl;
cout<<"2……以数学成绩排序"<<endl;
cout<<"3……以语文成绩排序"<<endl;
cout<<"4……以英语成绩排序"<<endl;
cout<<"5……以总分排序"<<endl;
cout<<"6……返回"<<endl;
cout<<"请选择(1-6)"<<endl;
cin>>c;
switch (c)
{
case '1':pxh(); break;
case '2':psx(); break;
case '3':pyw(); break;
case '4':pyy(); break;
case '5':pAA(); break;
case '6':return;
}
}
void cla::ssave() //保存到文件
{
system("cls");
char c;
cout<<"\n保存学生信息(将覆盖原文件),是否继续?[Y/N]:"; cin>>c;
if(toupper(c)!='Y') return;
ofstream tfile("date.txt",ios_base::binary);
student *p=stu;
while(p)// 写入文件
{
tfile<<p->name<<"\t"<<p->num<<"\t"<<p->x<<"\t"<<p->y<<"\t"<<p->z;
tfile<<endl;
p=p->next;
}
tfile.close();
cout<<"保存完毕..."<<endl;
}
void cla::sload() //读取
{
student *p;
p=stu;
while(p)
{
stu=p->next;
delete p;
p=stu;
}
ifstream tfile("date.txt",ios_base::binary);
string name1;
long num1;
int x1,y1,z1;
tfile>>name1>>num1>>x1>>y1>>z1;
while(tfile.good())
{
//创建学生接点
student *s;
s=stu;
s=new student(name1,num1,x1,y1,z1);
s->next=0;
s->AA=x1+y1+z1;
if(stu) //若已经存在结点
{
student *p2;
p2=stu;
while(p2->next) //查找尾结点
{
p2=p2->next;
}
p2->next=s; //连接
}
else //若不存在结点(表空)
{
stu=s; //连接
}
tfile>>name1>>num1>>x1>>y1>>z1;
}
tfile.close();
cout<<"\n学生信息已经装入...\n";
}
void main()
{
char c;
cla a;
do
{
cout<<"\n 学 生 成 绩 管 理 系 统 \n";
cout<<"**************************************\n";
cout<<" 作者:软件工程06110119:zgjxwl \n";
cout<<" 1……增加学生 \n";
cout<<" 2……删除学生 \n";
cout<<" 3……修改学生 \n";
cout<<" 4……查询学生信息 \n";
cout<<" 5……排序 \n";
cout<<" 6……保存信息 \n";
cout<<" 7……读取信息 \n";
cout<<" 8……退出 \n";
cout<<"**************************************\n";
cout<<"请选择(1-8):";
cin>>c;
switch(c)
{
case '1': a.sadd();break;
case '2': a.sremove();break;
case '3': a.samend();break;
case '4': a.ssearch();break;
case '5': a.staxis();break;
case '6': a.ssave();break;
case '7': a.sload();break;
}
}while(c!='8');
}
这哪里是c的考试阿!这就是程序设计!刚学c怎么可能这么复杂。给你个例子,但删除功能有点问题#include<fstream.h>
#include<stdlib.h> //其它说明
#include<string.h> //字符串函数
#include <stdio.h>
#include <iostream.h>
struct STUDENT //学生基本信息结构体
{
int ID; //学号
char Name[40]; //姓名
char Sex[10]; //性别
int RoomNo; //宿舍号码
long int Roomtel; //宿舍电话
};
struct STUDENTBASIC //学生基本成绩信息结构体
{
int ID; //学号
char courseNo[10]; //课程编号
char course[10]; //课程名称
int goal; //学分
int averagescore; //平时成绩
int labscore; //实验成绩
int examinationscore; //卷面成绩
double sum; //综合成绩
float factgoal; //实得学分
};
struct STUDENT STD[100]; //定义学生最多人数
struct STUDENTBASIC STDB[100];
int num=0; //全局变量 读入的基本信息人数
int n=0; //全局变量 写入成绩的人数
int g=0; //全局变量 写入成绩的条数
void printmenu(); //打印程序菜单
void read_information(); //读入学生基本信息文件
void lookfornum(); //按学号查询
void lookforname(); //按姓名查询
void lookforroom(); //按宿舍查询
void get_information(); //1 获取学生成绩信息
void seek(); //2 查学生基本信息
void seek_score(); //3 学生成绩查询
void del(); //4 删除
void sort_sum(); //5 按降序排列综合成绩
//主程序
void main()
{
read_information();
for(;;)
{
printmenu();
char menuNo;
cin>>menuNo;
switch(menuNo)
{
case '1':get_information();break;
case '2':seek();break;
case '3':seek_score();break;
case '4':del();break;
case '5':sort_sum();break;
case '0':cout<<"欢迎再次使用!"<<endl;exit(0);
default: cout<<"请输入正确的命令格式!!";break;
}
}
}
//定义函数部分
//打印菜单函数
void printmenu()
{
cout<<"----------------------------------------------------"<<endl;
cout<<"-----学生成绩管理系统-------制作2008.4--"<<endl;
cout<<"------欢迎进入学生成绩管理系统------"<<endl;
cout<<" 输入命令代号,进入相应功能"<<endl ;
cout<<" 1.录入学生成绩信息"<<endl;
cout<<" 2.查询学生基本信息"<<endl;
cout<<" 3.学生成绩查询"<<endl;
cout<<" 4.删除"<<endl;
cout<<" 5.按降序排列综合成绩"<<endl;
cout<<" 0.退出系统"<<endl;
cout<<"----------------------------------------------------"<<endl;
}
//读入学生基本信息:
void read_information()
{
for(;;)
{
fstream readin("f:\\student.txt",ios::in|ios::out);
if(!readin)
{
cout<<"无法打开文件"<<endl;
}
else
{
for(int i=0;readin.eof()==0;i++)
{readin>>STD[i].ID>>STD[i].Name>>STD[i].Sex>>
STD[i].RoomNo>>STD[i].Roomtel;
num++;
}
readin.close();
}break;
}
}
//获取学生成绩信息
void get_information()
{
cout<<"请输入要录入学生数:"<<endl;
cin>>n;
cout<<"请输入要录入条数:"<<endl;
cin>>g;
fstream input("f:\\score.dat",ios::app|ios::in);
for(int i=0;i<g;i++)
{
cout<<"学生学号:";
cin>>STDB[i].ID;
cout<<"课程号:";
cin>>STDB[i].courseNo;
cout<<"课程名称:";
cin>>STDB[i].course;
cout<<"学分:";
cin>>STDB[i].goal;
cout<<"平时成绩:";
cin>>STDB[i].averagescore;
cout<<"实验成绩:";
cin>>STDB[i].labscore;
cout<<"卷面成绩:";
cin>>STDB[i].examinationscore;
if(STDB[i].labscore==-1) //计算学生的综合成绩
{STDB[i].sum=0.30*STDB[i].averagescore+0.70*STDB[i].examinationscore;}
else
{STDB[i].sum=0.15*STDB[i].averagescore+0.15*STDB[i].labscore+0.70*STDB[i].examinationscore;}
int a=int(STDB[i].sum/10); //计算学生的实得学分
switch(a)
{
case 10:
case 9:
STDB[i].factgoal=STDB[i].goal;
break;
case 8:
STDB[i].factgoal=0.8*STDB[i].goal;
break;
case 7:
STDB[i].factgoal=0.75*STDB[i].goal;
break;
case 6:
STDB[i].factgoal=0.6*STDB[i].goal;
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
STDB[i].factgoal=0;
break;
default:
cout<<"Input error"<<endl;
}
input<<STDB[i].ID<<" "<<STDB[i].courseNo<<" "<<STDB[i].course<<" "<<
STDB[i].goal<<" "<<STDB[i].averagescore<<" "<<STDB[i].labscore<<" "<<
STDB[i].examinationscore<<" "<<STDB[i].sum<<" "<<STDB[i].factgoal<<endl;
}
input.close();
}
//查询学生信息
void lookfornum() //用学号查找学生基本信息
{
struct STUDENT *m=STD;
int i,p,flag=1;
cout<<"请输入学生的学号:";
cin>>p;
for(i=0;i<num&&flag;i++)
{
if(m[i].ID==p)
{
flag=0;
cout<<m[i].ID<<" "<<m[i].Name<<" "<<m[i].Sex<<
" "<<m[i].RoomNo<<" "<<m[i].Roomtel<<endl;
}
}
if(flag)
{
cout<<"对不起!您要查询的学生不存在!"<<endl;
}
}
void lookforname() //用姓名查找学生基本信息
{ struct STUDENT *m=STD;
char p[20];int i=0;
int flag=0;
cout<<"请输入你要查询的学生姓名"<<endl;
cin>>p;
for(i=0;i<num;i++)
{
if(strcmp(p,m[i].Name)==0)
{
flag=1;
cout<<m[i].ID<<" "<<m[i].Name<<" "<<m[i].Sex<<" "<<m[i].RoomNo<<" "<<m[i].Roomtel<<endl;
}
}
if(flag==0)
cout<<"对不起!您要查询的学生不存在!"<<endl;
}
void lookforroom() //用宿舍号查找学生基本信息
{ struct STUDENT *m=STD;
int i,d;
cout<<"请输入宿舍号"<<endl;
cin>>d;
for(i=0;i<num;i++)
{
if(m[i].RoomNo==d)
cout<<m[i].ID<<" "<<m[i].Name<<" "<<m[i].Sex<<" "<<m[i].RoomNo<<" "<<m[i].Roomtel<<endl;
}
}
void seek() //运用该函数调用以上三个查询函数
{
int b;
cout<<"1.按学号"<<endl;
cout<<"2.按名字"<<endl;
cout<<"3.按宿舍"<<endl;
cin>>b;
switch(b)
{
case 1:
lookfornum();
break;
case 2:
lookforname();
break;
case 3:
lookforroom();
break;
}
}
//查询学生分数
void seek_score()
{struct STUDENTBASIC *s=STDB;
struct STUDENT *a=STD;
int p;
cout<<"请输入学生的学号:";
cin>>p;
double b=0;
int y=0;
for(int j=0;j<n;j++)
{
if(s[j].ID==p)
cout<<" "<<"学号:"<<a[j].ID<<" "<<"姓名:"<<a[j].Name<<endl;
}
for(int i=0;i<g;i++)
{
if(s[i].ID==p)
{
b=b+s[i].factgoal;
cout<<"课程编号:"<<s[i].courseNo<<" "<<"课程名称:"<<s[i].course<< " "<<"综合成绩:"<<s[i].sum<<" "<<"实得学分:"<<s[i].factgoal<<endl;
y++;
}
}
cout<<" "<<"共修:"<<y<<"科,实得总学分为:"<<b<<endl;
}
//删除
void del()
{
int p;
cout<<"请输入你要删除的学生的学号:"<<endl;
cin>>p;
int i;
for(i=0;i<num;i++)
{
if(STD[i].ID==p)
{
STD[i]=STD[i+1];
}
num--;
}
for(i=0;i<n;i++)
{
{ if(STDB[i].ID==p)
STDB[i]=STDB[i+1];
}
}
n--;
cout<<"已删除!"<<endl;
ofstream out("f:\\student.txt");
for(i=0;i<num;i++)
{
out<<STD[i].ID<<" "<<STD[i].Name<<" "<<STD[i].Sex<<
" "<<STD[i].RoomNo<<" "<<STD[i].Roomtel<<endl;
}
out.close();
}
//按降序排列综合成绩
void sort_sum()
{
int i,j,k;
struct STUDENTBASIC temp;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(STDB[j].sum>STDB[k].sum)
{
k=j;
};
};
if(k!=i)
{
temp=STDB[k];
STDB[k]=STDB[i];
STDB[i]=temp;
};
}
for(int v=0;v<n;v++)
{
cout<<"学号:"<<STDB[v].ID<<" "<<"综合成绩"<<STDB[v].sum<<endl;
}
#include "RctData.h"
MySqlConn msc;
string dataBase="test";
string createTableSql="create table stu_info (sno char(10) primary key,sname nvarchar(8) not null,sex nchar(2) not null,dataStruct tinyint,operationSystem tinyint,softWareProcess tinyint,compileTheory tinyint,averageScore tinyint)";
void createTable()
{
msc.execute(createTableSql);
system("pause");
}
void paintMainMenu()
{
system("cls");
cout<<"\n\n\t\t\t 功能列表\n";
cout<<"\n\t基本功能...\t\t\t管理功能\n";
cout<<"\n\t1 : 添加学生记录\t\t5 : 查看平均成绩并按其排序";
cout<<"\n\t2 : 删除学生记录\t\t6 : 查看科目平均成绩";
cout<<"\n\t3 : 修改学生记录\t\t7 : 查找最高分(按个人平均分)";
cout<<"\n\t4 : 显示成绩列表\t\t8 : 查找最高分(按指定科目)";
cout<<"\n\t \t\t9 : 筛选(按性别)";
cout<<"\n\t \t\t10 : 筛选(按高于指定学生平均成绩)";
cout<<"\n\n\t\t\t 0 : 退出";
cout<<"\n\t您的选择 : ";
}
void add()
{
string sno,sname,sex, querySql="\0";
int dataStruct,operationSystem,softWareProcess,compileTheory,averageScore;
system("cls");
cout<<"\n\n\t\t输入要添加的学生信息\n";
cout<<"学号 : ";
cin>>sno;
cout<<"姓名 : ";
cin>>sname;
cout<<"性别 : ";
cin>>sex;
cout<<"数据结构 : ";
cin>>dataStruct;
cout<<"操作系统 : ";
cin>>operationSystem;
cout<<"软件过程 : ";
cin>>softWareProcess;
cout<<"编译原理 : ";
cin>>compileTheory;
averageScore=(dataStruct+operationSystem+softWareProcess+compileTheory)/4;
char a[10],b[10],c[10],d[10],e[10];
itoa(dataStruct,a,10);
itoa(operationSystem,b,10);
itoa(softWareProcess,c,10);
itoa(compileTheory,d,10);
itoa(averageScore,e,10);
querySql+="insert into stu_info values ('";
querySql+=sno;
querySql+="','";
querySql+=sname;
querySql+="','";
querySql+=sex;
querySql+="',";
querySql+=a;
querySql+=",";
querySql+=b;
querySql+=",";
querySql+=d;
querySql+=",";
querySql+=d;
querySql+=",";
querySql+=e;
querySql+=")";
if(msc.execute(querySql))
{
if(int tempint=msc.affectedRows())
{
cout<<"语句的执行影响 "<<tempint<<"行数据\n";
}
else
{
cout<<"语句执行没对数据库造成影响"<<endl;
}
}
system("pause");
}
void del()
{
system("cls");
string name;
cout<<"\n\n\t\t删除同学信息\n";
cout<<"输入要删除同学的姓名 :";
cin>>name;
string querySql="\0";
querySql+="delete from stu_info where sname='";
querySql+=name;
querySql+="'";
if(msc.execute(querySql))
{
if(int tempint=msc.affectedRows())
{
cout<<"语句的执行影响 "<<tempint<<"行数据\n";
}
else
{
cout<<"语句执行没对数据库造成影响"<<endl;
}
}
system("pause");
}
void update()
{
system("cls");
cout<<"\n\n\t\t\t\t修改信息"<<endl;
cout<<"别修改了,删除后再删入得了.\n";
system("pause");
}
void showTableExceptAvgScore()
{
string querySql="select sno '学生学号',sname '姓名',sex '性别',dataStruct '数据结',operationSystem '操作系',softWareProcess '软件过' ,compileTheory '编译原' from stu_info";
msc.showQuery(querySql);
system("pause");
}
void showAndOrderAvgScoreByPerson() //降序排列 desc
{
string querySql="select sno '学生学号',sname '姓名',sex '性别',averageScore '平均分' from stu_info order by averageScore desc";
msc.showQuery(querySql);
system("pause");
}
void showAvgScoreBySubject()
{
string querySql="select avg(dataStruct) '数据结',avg(operationSystem) '操作系',avg(softWareProcess) '软件过',avg(compileTheory)'编译原' from stu_info ";
msc.showQuery(querySql);
system("pause");
}
void showTopScoreByPerson()
{
string querySql="select sno '学生学号',sname '姓名',sex '性别',dataStruct '数据结',operationSystem '操作系',softWareProcess '软件过' ,compileTheory '编译原',averageScore '平均分' from stu_info where averageScore =( select max(averageScore) from stu_info ) ";
msc.showQuery(querySql);
system("pause");
}
void showTopScoreBySubject()
{
int choice;
string subject;
cout<<"选择科目(1 : 数据结构 2 : 操作系统 3 : 软件过程 4 : 编译原理) :"<<endl;
cin>>choice;
switch(choice)
{
case 1:
subject="dataStruct";
break;
case 2:
subject="operationSystem";
break;
case 3:
subject="softWareProcess";
break;
case 4:
subject="compileTheory";
break;
default:
break;
}
string querySql="\0";
querySql+="select sno '学生学号',sname '姓名',sex '性别',dataStruct '数据结',operationSystem '操作系',softWareProcess '软件过' ,compileTheory '编译原',averageScore '平均分' from stu_info where ";
querySql+=subject;
querySql+="=( select max(" ;
querySql+=subject;
querySql+=") from stu_info) ";
msc.showQuery(querySql);
system("pause");
}
void selectBySex()
{
int choice;
string sex;
cout<<"按性别筛选(1 : 男 2: 女) :";
cin>>choice;
switch(choice)
{
case 1:
sex="男";
break;
case 2:
sex="女";
break;
default:
break;
}
string querySql="\0";
querySql+="select sno '学生学号',sname '姓名',sex '性别',dataStruct '数据结',operationSystem '操作系',softWareProcess '软件过' ,compileTheory '编译原' from stu_info where sex= '";
querySql+=sex;
querySql+="'"; //字符串在Sql语句中应该用''引起来
msc.showQuery(querySql);
system("pause");
}
void selectByOneAvgScore()
{
string name;
cout<<"输入作基准的学生的名字 :";
cin>>name;
string querySql="\0";
querySql+="select sno '学生学号',sname '姓名',sex '性别',dataStruct '数据结',operationSystem '操作系',softWareProcess '软件过' ,compileTheory '编译原' from stu_info where averageScore>(select averageScore from stu_info where sname='";
querySql+=name;
querySql+="')";
msc.showQuery(querySql);
system("pause");
}
int main()
{
//连接数据库
msc.connect("root","123321",dataBase);
/*第一次执行时要建立一个学业生信息表*/
//createTable();
int choice;
paintMainMenu();
cin>>choice;
while(choice)
{
switch(choice)
{
case 1:
add();
break;
case 2:
del();
break;
case 3:
del();
break;
case 4:
showTableExceptAvgScore();
break;
case 5:
showAndOrderAvgScoreByPerson();
break;
case 6:
showAvgScoreBySubject();
break;
case 7:
showTopScoreByPerson();
break;
case 8:
showTopScoreBySubject();
break;
case 9:
selectBySex();
break;
case 10:
selectByOneAvgScore();
break;
default:
break;
}
paintMainMenu();
cin>>choice;
}
msc.close();
system("pause");
return 0;
}
苑净螺旋: 二级题:1改错,一个程序的一两个地方错了,就像什么分号漏了啊,很简单的.2填空,一个程序少了一两句,像添加一个循环什么的,也简单.3编程,像什么求某个函数的表达式的值啊,求素数啊,显示星星什么的.
苏尼特左旗15374658261: 大学C语言考试题 希望会的同学帮下忙~ 不会的勿扰 谢谢 急急急 要详解 谢谢?
苑净螺旋: 这是分段函数的问题,用if-else语句: #include<stdio.h> /*包含标准输入输出头文件*/ void main() /*主函数*/ {int x,y; /*定义整型变量x,y*/ scanf("%d",&x); /*输入x的值*/ if(x<1) y=x; /*判断x是否小于1,如为真,y=x*/ else if(x>=1&&x<=10) y=2*x; /*判断x是否大于等于1并且小于等于10,如为真,y=2x*/ ese y=3*x; /*判断x是否大于10,如为真,y=3x*/ printf("%d\n",y); /*输出y*/ }
苏尼特左旗15374658261: 快考试了,可是C语言一点都不会,我该怎么办,跪求大神帮帮我 - ?
苑净螺旋: C语言力求基础,看看前面几个章节的基础知识,然后习题全部也做了.第二,看看数组,斐波那契数列也就够及格了亲
苏尼特左旗15374658261: 求一张C语言的期末考试卷,我是大一的新生,想看看试卷的大概格式和内容. - ?
苑净螺旋: 本试卷共8页,共5大题,考生在作答前应先检查是否有缺页、白页,以防漏答.答题前,请先填写学号、姓名、专业及班级. 一、单项选择题(共10题,每题2分,共20分.在备选答案中选择一个最佳答案.多选、错选、不选不得分) 1、不是...
苏尼特左旗15374658261: c语言,后天要考试了.求大家帮忙一下,求解?帮帮小弟 - ?
苑净螺旋: 不矛盾:都要执行elem++这一步.第一题if(n++第二题if(x++>5)判断错误,此时x=5,执行else 先打印x : 5即,再执行x--,则打印后x=4.
苏尼特左旗15374658261: 大学c语言考试考什么? - ?
苑净螺旋: 你说的是 大学课程C预言 还是二级C预言证书的考试课程考试 就是简单的理论知识 和 编程填空 计算小程序结果 C语言证书考试 分笔试和上机 笔试和课程考试差不多 上机考编程补充
苏尼特左旗15374658261: C语言考试题求大神帮忙做 - ?
苑净螺旋: //第一题#include "stdafx.h"#include <iostream> using namespace std; int main ( ) { int iArray[30] = {0}; int iAraayRes[6] = {0}; iArray[0] = 2; for(int i=1;i < 30;i++) { iArray[i] = 2+iArray[i-1]; } int iTemp = 0; int iCount = 0; int iFlag = 0; for(int j=0;j < 30;...
苏尼特左旗15374658261: C语言程序设计期末考试上机题,求各路大神帮忙解决啊!!紧急紧急啊!!! - ?
苑净螺旋: //采用的方法是最小提取法#include "stdio.h" void main() { int a[10]={9,8,7,6,1,2,3,4,5,6}; sort(a); //调用sort函数 printf("排序后数组a的各个元素:") for(i=0;i<10;i++) { printf("%5d",a[i]); } } void sort(int a[10]) { int min; int t; for(i=0;i<10;i++) {...
苏尼特左旗15374658261: 求高手帮忙做一些C语言试题第一题、单项选择题(每题1分,1、设x和y均为int型变量,则以下语句:x=x+y; y=x - y; x=x - y; 的功能是:A、把x和y按从大到小... - ?
苑净螺旋:[答案] 第一题、单项选择题(每题1分,5道题共5分) 1、设x和y均为int型变量,则以下语句:x=x+y; y=x-y; x=x-y; 的功能是:D、交换x和y中的值 2、已说明int a=256,执行语句printf(”%x” ,a);的结果是:A、100 3、以...
苏尼特左旗15374658261: 求助学长学姐,c语言考试难不难 - ?
苑净螺旋: 华理的文印社有往年的c语言期末考试题啊,自己去买一份,c语言考的不难,全部都是选择题,自己多看两遍书肯定能过.我也是个电脑盲,一样过了c语言.