当前位置:编程学习 > C/C++ >>

C++简单编程实验

数据:
姓名,学号,3门课程成绩(整数);

要求:
0.键盘输入学生信息(至少10人);
1.文本文件方式存储,每行一个学生信息;
2.可查询显示全部学生信息;或者根据学号或者姓名查询显示学生全部信息;
3.可根据学号修改指定学生信息;
4.可添加学生信息;

提示:
1.选择合适的数据类型(数据结构),建议(结构)数组;
2.适当划分模块分别命名为函数,比如输入(从键盘/从文件),输出(到屏幕/文件),查询,修改;
3.文件操作一次读取或者存储全部数据;

答案:
/*#include "stdio.h"
int i;
void prt()
{
  for(i=5;i<8;i++)   printf("%c",'*');
  printf("\t");
}
main()
{
  for(i=5;i<=8;i++)   prt();
}
*/


#include<time.h> 
#include<stdio.h> 
#include<conio.h> 
#include <stdlib.h>
#define MAX 50
void input(); 
void sort();
void display();
void insert();
void del();
void average();
int now_no=0;
struct student
{
int no;
char name[20];
char 易做图[4];
float score1;
float score2;
float score3;
float sort;
float ave;
float sum;
};
struct student stu[MAX],*p;
main()
{
char as;
start: printf("\t\t\t欢迎使用学生成绩管理系统\n\n");


do{
printf("\n\t\t\t\t1.录入学员信息\n\t\t\t\t2.显示学员信息\n\t\t\t\t3.成绩排序信息\n\t\t\t\t4.添加学员信息\n\t\t\t\t5.删除学员信息\n\t\t\t\t6.退出\n");
printf("\t\t\t\t选择功能选项:");
as=getch();
switch(as)
{
case '1':
system("cls");
input();
break;
case '2':
system("cls");    
display();
break;
case '3':
system("cls");    
sort();
break;
case '4':
system("cls");    
insert();
break;
case '5':
system("cls");    
del();
break;
case '6':
system("exit");
exit(0);
default:
system("cls");
goto start; 
}
}while(1);


}
void input()
{
int i=0;
char ch;
do
{
printf("\t\t\t\t1.录入学员信息\n输入第%d个学员的信息\n",i+1);
printf("\n输入学生编号:");
scanf("%d",&stu[i].no);
fflush(stdin);
printf("\n输入学员姓名:");
fflush(stdin);
gets(stu[i].name);
printf("\n输入学员性别:");
fflush(stdin);
gets(stu[i].易做图);
printf("\n输入学员成绩:");
fflush(stdin);
scanf("%f",&stu[i].score1);
printf("\n输入学员成绩:");
fflush(stdin);
scanf("%f",&stu[i].score2);
printf("\n输入学员成绩:");
fflush(stdin);
scanf("%f",&stu[i].score3);
printf("\n\n");
i++;
now_no=i;
printf("%d",now_no);
printf("是否继续输入?(Y/N)");
ch=getch();
system("cls");
}
while(ch!='n');
system("cls");
}
void sort()
{
struct student temp;
int i,j;
for(i=1;i<now_no;i++)
{
for(j=1;j<=now_no-i;j++)
{
if(stu[j-1].ave<stu[j].ave)
{temp=stu[j];
stu[j]=stu[j-1];
stu[j-1]=temp;
}}}
}
void display()
{
int i;
char as;
float ave;
do
{
printf("\t\t班级学员信息列表\n");
printf("\t编号\t姓名\t性别\t成绩\t成绩\t成绩\t平均值\n");
for(i=0;i<now_no;i++)
{
stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;
stu[i].ave=stu[i].sum/3;
printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].易做图,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);
}
printf("\t\t按任意键返回主菜单.");
as=getch();
goto exit;
}
while(as!='n');
exit: system("cls"); 
}
void insert()
{
char ch;
do
{
printf("\n\t\t输入新插入学员队信息\n");
printf("\n输入学生编号:");
scanf("%d",&stu[now_no].no);
fflush(stdin);
printf("\n输入学员姓名:");
fflush(stdin);
gets(stu[now_no].name);
printf("\n输入学员性别:");
fflush(stdin);
gets(stu[now_no].易做图);
printf("\n输入学员成绩:");
fflush(stdin);
scanf("%f",&stu[now_no].score1);
printf("\n输入学员成绩:");
fflush(stdin);
scanf("%f",&stu[now_no].score2);
printf("\n输入学员成绩:");
fflush(stdin);
scanf("%f",&stu[now_no].score3);
printf("\n\n");
now_no=now_no+1;
sort();
printf("是否继续输入?(Y/N)");
ch=getch();
system("cls");
}
while(ch!='n');
}
void del()
{
int inum,i,j;
printf("输入要删除学员的编号:");
fflush(stdin);
scanf("%d",&inum);
for(i=0;i<now_no;i++)
{
if(stu[i].no==inum)
{
for(j=i;j<now_no;j++)
{
stu[i]=stu[i+1];
}
now_no=now_no-1;
}
break;
}
system("cls");
什么时候要  如果不急我可以给你写写 如果紧急那就算了

#include<iostream>usingnamespacestd;staticintn=0;classShape{public:virtualfloatarea()=0;//计算图形面积virtualvoidDisplay()const=0;};floattotal(Shapes[],intn)//计算多图形面积{floatsum=0.0;for(inti=0;i<n;i )sum =s[i].area();returnsum;}/*inlinefloatShowtotal(){cout<<"sum="<<sum;}*/classTriangle:publicShape{public:Triangle(floatleng,floatwei,floathi):length(leng),weight(wei),high(hi){}floatarea();voidDisplay()const;protected:intlength;intweight;inthigh;private:ints1;};inlinefloatTriangle::area(){s1=0;s1=length*weight*high*0.5;returns1;n ;}inlinevoidTriangle::Display()const{cout<<"s1:"<<s1<<endl;}classRectangle:publicShape{public:Rectangle(floatleng,floatwei):length(leng),weight(wei){}//构造三角形函数//floatarea();//voidDisplay()const;protected:floatlength;floatweight;floathigh;private:floats2;public:voidDisplay()const{cout<<"s2:"<<s2<<endl;}floatarea(){s2=length*weight;returns2;n ;}};intmain(){Shape*p;Triangleemp2(10.3,2.5,3.4);Rectangleemp3(11.2,2.6);p=

上一个:C++常见的问题?
下一个:Java和C++有什么区别

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,