C语言实验报告
题目:综合性程序设计一、实验目的二、实验内容利用结构体数据类型编程实现从键盘输入20个学生的信息,包括:姓名、学号、性别、年龄以及三门课程(英语、数学、程序设计)的成绩并...
题目:综合性程序设计
一、实验目的
二、实验内容
利用结构体数据类型编程实现从键盘输入20个学生的信息,包括:姓名、学号、性别、年龄以及三门课程(英语、数学、程序设计)的成绩并计算其总分,并将这些信息以文件形式保存到磁盘。
三、实验器材
Windows操作系统、PC机一台、TC或C++
四、实验步骤
流程图
代码
结果
结果分析
请帮忙把第四步写出来
邮箱:3875784@qq.com 展开
一、实验目的
二、实验内容
利用结构体数据类型编程实现从键盘输入20个学生的信息,包括:姓名、学号、性别、年龄以及三门课程(英语、数学、程序设计)的成绩并计算其总分,并将这些信息以文件形式保存到磁盘。
三、实验器材
Windows操作系统、PC机一台、TC或C++
四、实验步骤
流程图
代码
结果
结果分析
请帮忙把第四步写出来
邮箱:3875784@qq.com 展开
展开全部
// 要求,在输入姓名的时候请不要有空格,比如ZhangSan 不能为Zhang San
//你的题目要求不是很详细,这个大概能满足你的需求
#include <iomanip>
#include <iostream>
#include <string>
using namespace std;
#define MAX_NUM 30
struct STUDENT
{
string stuName; //姓名
string stuSex; //性别 m f
int stuNum; //学号
double stuScore[3]; //成绩
double stuAver; //平均成绩
double stuAll; //总分
};
void inputData(STUDENT stu[],int &ID)
{
cout<<"请分别输入该学生的姓名,性别,学号,3科成绩"<<endl;
cin>>stu[ID].stuName>>stu[ID].stuSex>>stu[ID].stuNum>>stu[ID].stuScore[0];
cin>>stu[ID].stuScore[1]>>stu[ID].stuScore[2];
cin>>stu[ID].stuScore[4];
// 总分,平均分
stu[ID].stuAll=(stu[ID].stuScore[0]+stu[ID].stuScore[1]+stu[ID].stuScore[2]);
stu[ID].stuAver=stu[ID].stuAll/3.0;
cout<<"录入成功!"<<endl;
ID++;
}
void showTable()
{
cout<<" 姓名 性别 学号 课程1 课程2 课程3 总分 平均分"<<endl;
}
void showData(STUDENT stu[],int ID)
{
cout<<setw(8)<<stu[ID].stuName<<setw(7)<<stu[ID].stuSex<<setw(7)<<stu[ID].stuNum<<setw(7)<<stu[ID].stuScore[0];
cout<<setw(7)<<stu[ID].stuScore[1]<<setw(7)<<stu[ID].stuScore[2];
cout<<setw(7)<<stu[ID].stuAll<<setw(7)<<stu[ID].stuAver<<endl;
}
void queryData(STUDENT stu[],int ID)
{
string stuName;
cout<<"请输入要查询的姓名:";
cin>>stuName;
cout<<endl;
for(int i=0;i<ID;i++)
{
if(stu[i].stuName==stuName)
{
cout<<"信息找到"<<endl;
showTable();
showData(stu,i);
system("pause");
return ;
}
}
cout<<"未找到信息"<<endl;
}
//总分排序
void sortByAll(STUDENT stu[],int ID)
{
int i,j;
STUDENT temp;
for(i=0;i<ID-1;i++)
{
for(j=i+1;j<ID;j++)
{
if (stu[i].stuAll > stu[j].stuAll)
{
temp=stu[i];
stu[i]=stu[j];
stu[j]=temp;
}
}
}
cout<<"排序成功!"<<endl;
}
void funTable()
{
cout<<"================================="<<endl;
cout<<" 1---输入学生信息"<<endl;
cout<<" 2---查询学生信息"<<endl;
cout<<" 3---总分排序"<<endl;
cout<<" 4---显示当前学生信息"<<endl;
cout<<" 5---退出"<<endl;
cout<<"=================================="<<endl;
cout<<"请给出你的选择:"<<endl;
}
int main()
{
STUDENT stu[MAX_NUM]; //开辟30个空间来存放学生信息;
int ID=0; //用来计数,记当前学生信息的总数
char ch;
bool flag=true;
int i;
while(flag)
{
funTable();
cin>>ch;
switch (ch)
{
case '1':
inputData(stu,ID);
break;
case '2':
queryData(stu,ID);
break;
case '3':
sortByAll(stu,ID);
break;
case '4':
showTable();
for(i=0;i<ID;i++)
{
showData(stu,i);
}
break;
default:
cout<<"用户选择退出……"<<endl;
system("pause"); //暂停
flag=false;
break;
}
system("pause"); //暂停
system("cls"); //清屏
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |